3.1 KiB
3.1 KiB
ProxPanel Production Checklist (my.votcloud.com)
Date baseline: April 18, 2026
Target host: 102.69.243.167
Domain: my.votcloud.com
1) Pre-Deploy Safety Gate
- Confirm DNS
Arecord points to102.69.243.167. - Confirm server ports
80and443are reachable externally. - Confirm current stack health:
docker compose --env-file /opt/proxpanel/.env.production -f /opt/proxpanel/infra/deploy/docker-compose.production.yml pscurl -fsS http://127.0.0.1:8080/api/health
2) Backup + Rollback Guardrails
- Create timestamped release directory:
/opt/proxpanel-backups/<timestamp>/
- Backup application working tree:
rsync -a /opt/proxpanel/ /opt/proxpanel-backups/<timestamp>/app/
- Backup runtime env:
cp /opt/proxpanel/.env.production /opt/proxpanel-backups/<timestamp>/env.production.bak
- Backup Postgres before migration:
docker exec proxpanel-postgres pg_dump -U proxpanel -d proxpanel > /opt/proxpanel-backups/<timestamp>/db_pre_migration.sql
Rollback entrypoint:
- Restore app files from
/opt/proxpanel-backups/<timestamp>/app/. - Restore env file from
/opt/proxpanel-backups/<timestamp>/env.production.bak. - Recreate containers with prior source:
docker compose --env-file /opt/proxpanel/.env.production -f /opt/proxpanel/infra/deploy/docker-compose.production.yml up -d --build
- Restore DB if required:
cat /opt/proxpanel-backups/<timestamp>/db_pre_migration.sql | docker exec -i proxpanel-postgres psql -U proxpanel -d proxpanel
3) Deploy Order (Strict)
- Upload release bundle to server.
- Extract bundle to
/opt/proxpanel(keep.env.production). - Build and start containers:
docker compose --env-file .env.production -f infra/deploy/docker-compose.production.yml up -d --build
- Wait for DB + backend readiness.
- Apply schema in this order:
npm run prisma:deploy- If no migration path or deploy failure, fallback once to
npm run prisma:push
- Run seed:
npm run prisma:seed
- Health checks:
- API health endpoint
- Auth login flow
- Key pages load
- Validate Proxmox sync endpoint with admin token.
4) HTTPS + Edge Routing
- Nginx site config should proxy:
my.votcloud.com->http://127.0.0.1:<FRONTEND_PORT>
- Issue cert:
certbot --nginx -d my.votcloud.com --non-interactive --agree-tos -m <ops-email> --redirect
- Verify:
curl -I https://my.votcloud.com- Certificate auto-renew timer active.
5) Post-Deploy Validation
GET /api/healthreturns200.- Admin login works.
- RBAC page loads users/roles without crash.
- Audit logs page renders with no blank state error.
- Profile page can list sessions.
- System Management page can load branding/policy/CMS data.
- Proxmox sync returns success (or actionable credential/SSL error message).
6) Incident Rollback Criteria
Rollback immediately if any of the following persists > 10 minutes:
- API health not green.
- Migration errors with broken runtime schema.
- Login failures for seeded admin.
- Persistent 5xx from
/api/proxmox/sync. - TLS provisioning failure with site unreachable.