Migration
The operational runbook for moving NHC Portals from local Docker Compose to AWS.
Follow these three documents in order. Do not skip ahead.
Step 1 — Prerequisites Checklist
Everything that must be resolved before provisioning a single AWS resource. Includes credentials, certificates, and decisions that will block deployment if missed.
Hard blockers: nova.p12 signing certificate · SendGrid sender identity · production secret key
Step 2 — EC2 Playbook
Step-by-step provisioning and setup: S3 buckets, RDS, ElastiCache, IAM, EC2, Docker Compose, Caddy TLS, first-run commands.
Step 3 — Smoke Tests
Verification checklist to run immediately after deployment. Covers infrastructure, API, auth, multi-tenancy, S3, PDF pipeline, email, Celery, and the Cypress suite.
Do not hand off to users before every item in this list passes.
Once EC2 is stable and smoke tests pass, the next step is migrating to ECS Fargate. See Deployment → Phased Approach for the rationale.