No description
Find a file
2024-07-01 14:09:28 +09:00
.config update sample config 2024-06-20 12:53:39 +09:00
fishctl WIP 2024-07-01 14:09:28 +09:00
macros add default reaction 2024-06-27 09:23:18 +09:00
.gitignore WIP 2024-06-20 02:24:25 +09:00
Cargo.lock add default reaction 2024-06-27 09:23:18 +09:00
Cargo.toml move profile to the root workspace 2024-06-27 09:23:46 +09:00
Containerfile WIP 2024-06-21 02:11:22 +09:00
LICENSE WIP 2024-06-20 02:24:25 +09:00
README.md update README 2024-07-01 14:09:19 +09:00

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