1.4 KiB
1.4 KiB
Rollback & Recovery
Levels of Rollback
1. Code Rollback (Most Common)
- Dokploy keeps previous builds
- Redeploy previous compose version from Dokploy UI
- Or:
git revertthe breaking commit, push, redeploy
2. Database Rollback
- Drizzle doesn't auto-generate down migrations
- For schema changes, write explicit rollback SQL before deploying
- Keep a
migrations/rollback/directory with undo scripts - For data issues: restore from Dokploy Postgres backup
3. Full Rollback
- Dokploy allows complete service redeployment from any previous state
- Database: restore from backup
- Last resort: rebuild from Gitea source at known-good commit
Pre-Deploy Checklist
Before any production deployment:
- Feature works in test environment
- User has approved in test
- DB migration tested (if schema changed)
- Rollback SQL written (if schema changed)
- Health check passes after deploy
Staging Environment
- Staging should mirror production schema
- Periodically sync staging DB schema with prod
- Never sync prod DATA to staging (privacy)
- Test migrations on staging before prod
If Something Breaks in Prod
- Assess severity — is the app down or is it a bug?
- If app is down — redeploy previous Dokploy build immediately
- If it's a bug — fix in dev, test, deploy fix
- If DB is corrupted — restore from backup, investigate cause
- Notify user with what happened and what was done