mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-22 15:43:49 +01:00
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
63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
# Docker for Erupe
|
|
|
|
## Quick Start
|
|
|
|
1. From the repository root, copy and edit the config:
|
|
|
|
```bash
|
|
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](https://files.catbox.moe/xf0l7w.7z) in `docker/bin/`.
|
|
|
|
3. Start everything:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
docker compose up --build
|
|
```
|
|
|
|
## Stopping the Server
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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.
|