3.6 KiB
CLI tool for Firefish
Install and Update
Install pre-built executable using cargo-binstall
# If you don't have cargo-binstall, install it first
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
# Install pre-built executable
cargo binstall --git https://firefish.dev/firefish/fishctl.git
You can update the package using the same command.
cargo binstall --git https://firefish.dev/firefish/fishctl.git
Download pre-built executable file
You can also download the pre-built executable file from the release page, but you need to manage/update the file on your own.
Install from source
# Build from source
cargo install --locked --git https://firefish.dev/firefish/fishctl.git
You can update the package using the same command.
cargo install --locked --git https://firefish.dev/firefish/fishctl.git
Use pre-built OCI image
Using the registry.firefish.dev/firefish/fishctl
container image, fishctl ___
commands can be executed as
# Assuming that $(pwd) (current directory) is the parent of the config directory
# (i.e., the Firefish local repository directory)
docker run -it --rm --volume "$(pwd)":/firefish --network network_name \
registry.firefish.dev/firefish/fishctl \
fishctl ___
# or
podman run -it --rm --volume "$(pwd)":/firefish --network network_name \
registry.firefish.dev/firefish/fishctl \
fishctl ___
Where network_name
is the network name on which the database is running. If you want to use this for the host network (i.e., use the container as if it were a locally installed command), you should replace network_name
with host
.
If you are using a container network (which is typically the case if you are using compose.yml
or docker-compose.yml
to run Firefish), you need to search for your network name by docker network ls
or podman network ls
:
$ podman network ls # the network name is `firefish_calcnet` in this case
NETWORK ID NAME DRIVER
0060ac847249 firefish_calcnet bridge
2f259bab93aa podman bridge
Usage
Please make sure to cd
to the Firefish local repository (more precisely, the parent directory of the config directory) before running these commands, or specify that directory using --base-dir
option.
If you use a custom Firefish setup and let's say your config files are located at /etc/firefish/config
, you should provide --base-dir /etc/firefish
option or cd
to /etc/firefish
directory.
Update the config files
The admin note may tell you that you need to update the config files. In such a case, please execute the following command.
fishctl config update
You can also specify the revision to update to, but this feature is for development purposes only.
fishctl config update v1
Validate the config files
Execute the following command to validate the config files.
fishctl config validate
Please note that some items are only formally checked. Even if the output says it is valid, your settings can be incorrect.
This command performs a connection check against the PostgreSQL server and the cache server (Valkey/Redis). You can bypass this check using the --offline
option:
fishctl config validate --offline
Generate VAPID keys for push notifications
fishctl generate vapid