Only the database password is truly mandatory to get started, but config.example.json was 267 lines with 90+ options. Newcomers faced a wall of settings with no indication of what matters. Add registerDefaults() with all sane defaults via Viper so a minimal config (just DB credentials) produces a fully working server. Gameplay multipliers default to 1.0 instead of Go's zero value 0.0, which previously zeroed out all quest rewards for minimal configs. Uses dot-notation defaults for GameplayOptions/DebugOptions so users can override individual fields without losing other defaults. - Shrink config.example.json from 267 to 10 lines - Rename full original to config.reference.json as documentation - Simplify wizard buildDefaultConfig() from ~220 to ~12 lines - Fix latent bug: SaveDumps default used wrong key DevModeOptions - Add tests: minimal config, backward compat, single-field override - Update release workflow, README, CONTRIBUTING, docker/README
1.7 KiB
Docker for Erupe
Quick Start
-
From the repository root, copy and edit the config:
cp config.example.json docker/config.jsonEdit
docker/config.json— setDatabase.Hostto"db"andDatabase.Passwordto matchdocker-compose.yml(default:password). The example config is minimal; seeconfig.reference.jsonfor all available options. -
Place your quest/scenario files in
docker/bin/. -
Start everything:
cd docker docker compose up
The database is automatically initialized and patched on first start via init/setup.sh.
pgAdmin is available at http://localhost:5050 (default login: user@pgadmin.com / password).
Building Locally
By default the server service pulls the prebuilt image from GHCR. To build from source instead, edit docker-compose.yml: comment out the image line and uncomment the build section, then:
docker compose up --build
Stopping the Server
docker compose stop # Stop containers (preserves data)
docker compose down # Stop and remove containers (preserves data volumes)
To delete all persistent data, remove these directories after stopping:
docker/db-data/docker/savedata/
Updating
After pulling new changes:
-
Check for new patch schemas in
schemas/patch-schema/— apply them via pgAdmin orpsqlinto the running database container. -
Rebuild and restart:
docker compose down docker compose build docker compose up
Troubleshooting
Postgres won't populate on Windows: init/setup.sh must use LF line endings, not CRLF. Open it in your editor and convert.