Repository navigation
v1.4.0 — A tidier ship and sharper charts
⚓ Windrose Dedicated Server Docker v1.4.0
A well-crewed release focused on operational reliability, cleaner deckwork, and wider harbour reach.
Changes
New commands
./windrose doctor— full host and runtime preflight check (Docker, Compose, RAM, disk, data path, container health, ports)./windrose diagnostics [lines]— collects adiagnostics/bundle (logs, status, doctor output, env-redacted, container inspect) for incident review
Reliability
- Mutation lock:
start,stop,restart,update,backupnow reject concurrent runs with a clear error update_server()warns when old file layout is detected (backups/player-events.logstill present)- Backup integrity verification: every archive is tested with
tar -tzforzip -Timmediately after creation; fails fast on corruption doctor_server()now returns a status code instead of callingexit, making it safe to call fromdiagnostics_bundle()
Notifications
NOTIFY_PROVIDER=both— send every player event to Discord and Gotify simultaneously
Folder structure reorganised
backups/— backup archives onlylogs/— update, backup, player activity, notify logsstate/— player identity map and event deduplication filesdiagnostics/— diagnostics bundlesmigrate-folders.shincluded for existing installations
Documentation
- README.md split into three focused files:
README.md(operators),TROUBLESHOOTING.md(diagnostics playbooks),DEVELOPMENT.md(local builds and CI)
Publishing
- Docker images now published to both GHCR and Docker Hub on every release tag
Upgrade
git pull
./windrose updateFolder migration — if upgrading from v1.3.x or earlier, run once to reorganize logs and state files:
./migrate-folders.shThis script moves player activity logs, identity maps, and diagnostics into dedicated folders (logs/, state/, diagnostics/). It's safe to run multiple times and does not affect backup archives or save data.
Captain's note
No save data or volume paths were changed. Existing backups stay valid.
Notes
NOTIFY_PROVIDER=bothrequires bothDISCORD_WEBHOOK_URLand Gotify credentials to be set.