2.2 KiB
Create FoundKey instance with Docker Compose
This guide describes how to install and setup FoundKey with Docker Compose.
WARNING: Never change the domain name (hostname) of an instance once you start using it!
Requirements
- Docker or Podman
- Docker Compose plugin (or podman-compose)
If using Podman, replace docker
with podman
. Commands using docker compose
should be replaced with podman-compose
.
You may need to prefix docker
commands with sudo
unless your user is in the docker
group or you are running Docker in rootless mode.
Get the repository
git clone https://akkoma.dev/FoundKeyGang/FoundKey.git
cd FoundKey
Configure
Copy example configuration files with following:
cp .config/docker_example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env
cp ./docker-compose.yml.example ./docker-compose.yml
Edit default.yml
and docker.env
according to the instructions in the files.
You will need to set the database host to db
and Redis host to redis
in order to use the internal container network for these services.
Edit docker-compose.yml
if necessary. (e.g. if you want to change the port).
Build and initialize
The following command will build FoundKey and initialize the database. This will take some time.
docker compose build
docker compose run --rm web yarn run init
Launch
You can start FoundKey with the following command:
docker compose up -d
In case you are encountering issues, you can run docker compose logs -f
to get the log output of the running containers.
How to update your FoundKey server
When updating, be sure to check the release notes to know in advance the changes and whether or not additional work is required (in most cases, it is not).
git stash
git checkout master
git pull
git stash pop
docker compose build
docker compose stop && docker compose up -d
It may take some time depending on the contents of the update and the size of the database.
How to execute CLI commands
docker compose run --rm web node packages/backend/built/tools/foo bar