The droplet copy of this file had drifted from the repo across
multiple sessions. This commit brings the repo in line with what
is actually running in production.
Changes landing from the droplet:
- Add restart: unless-stopped to app, postgres, and redis services
(the deploy.restart_policy block was swarm-only and silently
ignored by compose v2; top-level restart: is the correct form)
- Drop the dead deploy.replicas: 1 and deploy.restart_policy:
subfields from the app service (swarm-only noise)
- Remove the traefik: service block entirely; Traefik now runs as
its own stack at /opt/traefik from the adlee-traefik repo
- Remove the letsencrypt: volume declaration (owned by adlee-traefik
now via the external golfgame_letsencrypt volume)
- Change web network from "driver: bridge" to
"name: traefik_web, external: true" so this stack attaches to the
shared ingress network created by the traefik stack
This closes INC-0001/AI-10 and unblocks future deploys of this repo.
The other uncommitted client/*, tui_client/* changes in the working
tree are unrelated and intentionally left alone.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
LOG_LEVEL and ENVIRONMENT were hardcoded, overriding .env values.
Now uses ${VAR:-default} so .env settings are respected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Traefik gets a separate cert for www subdomain and uses
redirectregex middleware to 301 redirect to bare domain.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Forgot password form in auth modal with email input
- Reset password form handles token from email link
- /reset-password route serves index.html for SPA
- EMAIL_FROM env var in docker-compose
- Success/error feedback for both flows
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Enforce invite codes on registration (INVITE_ONLY=true by default)
- Bootstrap admin account for first-time setup
- Require authentication for WebSocket connections and room creation
- Add Glicko-2 rating system with multiplayer pairwise comparisons
- Add Redis-backed matchmaking queue with expanding rating window
- Auto-start matched games with standard rules after countdown
- Add "Find Game" button and matchmaking UI to client
- Add rating column to leaderboard
- Scale down docker-compose.prod.yml for 512MB droplet
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>