The included docker-compose.yml
manifest builds the Discord bot, API server,
and web interface container images from a set of subdirectories populated by
a utility script.
realm/
├─ docker-compose.yml
├─ scripts/ <-- helper scripts
├─ rpgbot/ <-- discord-bot repo
├─ rpgserver/ <-- api-server repo
└─ rpgweb/ <-- web-interface repo
Before building the service images, you will need the following configuration files. There are example versions of each in the same directory.
rpgbot/config.toml
- Bot configuration filerpgserver/config.toml
- API server configuration filerpgweb/src/.env
- Web interface build environment file
You must also have a $HOME/.npmrc
file with credentials for
npm.pkg.github.com
in order to build the web
image in the stack. (See:
Authenticating with a personal access token)
Clone the repositories:
scripts/clone
Build the service images:
docker compose build
Start the services:
# remove -d flag to run in foreground
docker compose up -d
Pull repository updates:
scripts/update
Build updated service images:
docker compose build
Restart affected containers:
docker compose up -d