Files
Erupe/docker/README.md
Houmgaor 385b974adc feat(config): register all defaults in code, shrink example config
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
2026-02-23 21:25:44 +01:00

1.7 KiB

Docker for Erupe

Quick Start

  1. From the repository root, copy and edit the config:

    cp config.example.json docker/config.json
    

    Edit docker/config.json — set Database.Host to "db" and Database.Password to match docker-compose.yml (default: password). The example config is minimal; see config.reference.json for all available options.

  2. Place your quest/scenario files in docker/bin/.

  3. 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:

  1. Check for new patch schemas in schemas/patch-schema/ — apply them via pgAdmin or psql into the running database container.

  2. 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.