e5977758c0e7136aaac81bbe98e1bc0517cd7381
A step-by-step deploy procedure for someone who administers the Docker host but does not know this app. Two things about this deploy need spelling out for them, and neither is obvious from DEPLOYMENT.md: - nginx's config and all of html/ are baked into the image, so the stack has to be re-pulled and re-built. A restart deploys nothing and looks like a success. - the pending users.role rewrite (b41c7ae9) is one-way as far as the app is concerned: rolling the API image back after it commits breaks logins, because the old code doesn't recognise 'project_user'. So the runbook records `alembic current` and both image IDs up front, and splits rollback by symptom — an nginx-only failure is a safe code-only rollback they can do alone, a failed migration is escalate-don't-improvise. Backups go through the existing sidecar rather than an ad-hoc pg_dump: it works from Portainer's console without SSH, writes an encrypted timestamped dump to backups/ on the host, and prints a success line worth checking. Commands use `docker exec <name>` throughout, since `docker compose` from an SSH session can't find a Portainer-managed stack's compose project. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
Python
49.3%
JavaScript
32.6%
CSS
8.9%
HTML
8.7%
Shell
0.4%