Commit Graph
4 Commits
Author SHA1 Message Date
DorianandClaude Opus 4.6 aa290f3f8d fix: add non-root user and healthcheck to Dockerfile
- Add botfights system user/group, chown /app, USER directive
- Add HEALTHCHECK using /api/health endpoint (30s interval, 5s timeout)
- Container now runs as non-root for security hardening

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:37:47 +00:00
DorianandClaude Opus 4.6 834be596ba fix: add cache-bust build arg to force Docker rebuild on deploy
Portainer stack updates were serving stale cached Docker layers.
Added CACHE_BUST ARG so each deploy can force a fresh build.
Set CACHE_BUST env var in Portainer to current timestamp to trigger.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 08:38:02 +00:00
DorianandClaude Opus 4.6 e3a4299dae perf: server memory leak audit
Add periodic cleanup of fightReactions Map (clears when >100 entries).
Add RSS/heap logging every 10 fights in fight-loop for memory monitoring.
Set --max-old-space-size=256 in Docker CMD as safety net.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:05:03 +00:00
DorianandClaude Opus 4.6 6bf9fe27b3 feat: production deployment — Dockerfile, docker-compose, SPA serving, classic bot fights
- Add Dockerfile (multi-stage: build frontend + server, serve from single container)
- Add docker-compose.yml for Portainer stack deployment
- Server serves frontend SPA in production (static assets + SPA fallback)
- Auto-run migrations and seed mock bots on server startup
- DB path configurable via DB_PATH env var
- Add "Fight a Classic Bot" button for instant mock bot matches
- FIGHT button queues for real AI opponents

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 10:42:18 +00:00