Overview
Package and deploy TimeKeep as a Docker container on a public server with proper security.
Tasks
Docker
Production hardening
DB & backups in production
Misc
Notes
- Current stack (Node/Express + SQLite + React/Vite) is well-suited for a single-container deployment
- Caddy is a good choice for reverse proxy — automatic HTTPS with zero config
Overview
Package and deploy TimeKeep as a Docker container on a public server with proper security.
Tasks
Docker
Dockerfile— multi-stage build (Node build for React, then lean production image)docker-compose.yml— container definition, volume mount for DB, env vars.dockerignore— exclude node_modules, .env, dev filesProduction hardening
JWT_SECRETto a proper secret (env var, never hardcoded)admin/admin123credentials on first run (force password change)NODE_ENV=production, disable verbose error output to client/api/auth/loginto prevent brute forceDB & backups in production
Misc
GET /api/health)Notes