Production Checklist
Production Checklist
Section titled “Production Checklist”Before going live, verify each item in this checklist.
Security
Section titled “Security”-
GIN_MODE=release— disables debug output in HTTP responses -
AUTH_ENABLED=true— use Auth0 instead of simple password auth - Default
ADMIN_PASSWORDchanged fromchangeme - HTTPS enabled (Let’s Encrypt via Certbot recommended)
- WebSocket connection at
wss://(notws://) — handled by Nginx TLS - Server firewall: only ports 80 and 443 open externally
Data Persistence
Section titled “Data Persistence”- SQLite database mounted to a persistent volume (not in container)
- Automated database backups configured (cron or backup service)
- Test restore: can you recover the database from a backup?
Performance
Section titled “Performance”-
GIN_MODE=release— enables performance optimizations -
LOG_LEVEL=infoorwarn— reduces log I/O in production - Nginx caching for static assets (optional but recommended)
- Server has adequate RAM for SQLite WAL and Go runtime
- HTTP → HTTPS redirect configured
- WebSocket
proxy_read_timeoutset to3600s(1 hour minimum) - SSL certificate obtained and auto-renewal configured
-
proxy_set_header X-Forwarded-Proto $schemeset (needed for redirect logic)
Game Content
Section titled “Game Content”- Starting room configured for new characters
- At least one zone with rooms, NPCs, and exits
- Default skills seeded (
make seed-skillsor via API) - Admin account promoted to MUD Admin role
- Content creator accounts promoted to MUD Creator role
Testing
Section titled “Testing”- Create a new character end-to-end
- Walk between multiple rooms
- Kill an enemy (combat works)
- Accept and complete a quest
- Restart the server — all state persists
- WebSocket reconnection works after brief disconnect
Monitoring
Section titled “Monitoring”- Server logs are being collected
-
/healthendpoint returns 200 (configure uptime monitoring) - Disk space monitoring for database growth
Next Steps
Section titled “Next Steps”Once deployed, tell your players and list your world in the TalesMUD Showcase!