Operations
Operations including updates, backups, monitoring, and runbook commands.
Update Procedure
Recommended:
./scripts/update.shPost-update verification:
./scripts/healthcheck.shManual equivalent:
git pull
docker compose pull
docker compose up -dExternal PostgreSQL equivalent:
git pull
docker compose -f docker-compose.external-db.yml pull
docker compose -f docker-compose.external-db.yml up -dIf you enabled built-in Caddy, add -f docker-compose.caddy.yml to the same commands.
Post-update checks:
docker compose ps- Review
serverandweblogs - Verify login and one end-to-end API action
Backup Strategy
Minimum recommendation:
- Daily PostgreSQL backup
- Frequent upload storage backup
- Retention of at least 7-14 days
- Monthly restore drill
Example database dump:
./scripts/backup-db.shbackup-db.sh is for the bundled Compose PostgreSQL service. If you use an external database, use that provider's backup tooling instead.
Monitoring
Track at minimum:
- Container health and restart counts
- API latency and error rate
- Disk usage on data volumes
- Host memory pressure
Quick Commands
# Start
./scripts/start.sh
./scripts/start.sh caddy
# Update
./scripts/update.sh
# Restart
./scripts/restart.sh
./scripts/restart.sh server web
# Healthcheck
./scripts/healthcheck.sh
# Status
docker compose ps
# Logs
docker compose logs -f
docker compose logs -f server
# Database backup
./scripts/backup-db.sh
# Migrate schema manually (if needed)
docker compose run --rm migrate
# Stop
docker compose downrestart.sh only restarts existing containers. Use it for routine restarts, not for env or config changes.
If you changed env files, images, Compose config, or the Caddyfile, use:
./scripts/update.shor recreate the affected services with docker compose up -d --force-recreate.