Decided Deployment Target
🖥 Server: Alibaba Cloud Jakarta 8.215.20.106 (4 vCPU 8 GB · 70 GB disk · Ubuntu 24.04 · renewed)
🌐 Domain scheme: subdomain app.aifengdcs.com (root domain already owned, subdomain free)
📦 System: AIFENG DCS product package (verified on local staging, approved in the approval center)
9-Step Deployment Roadmap
Step 1 · Server initialization & hardening
Status: DONE
What it does:Create a non-root user, switch to key-based login, apply system patches, and configure the firewall to open only ports 80 / 443 / 22.
Est. time:About 30–60 min
Risk:A firewall mistake could lock us out; the current login session is kept open and verified from a new window before confirming.
Rollback method:Alibaba Cloud console offers VNC login for recovery; firewall rules can be cleared and redone — no business data exists at this stage.
PENDING · awaiting boss approval
Step 2 · Install PostgreSQL 16 & create the database
Status: PENDING
What it does:Install PostgreSQL 16, create the production database with a dedicated account, listen on localhost only, and enable a daily automatic backup job.
Est. time:About 20–30 min
Risk:Version compatibility issues; local staging is already verified on the same version, low risk.
Rollback method:Uninstall and reinstall; nothing has been imported yet, zero loss.
PENDING · awaiting boss approval
Step 3 · Upload the product package (SHA256 verification)
Status: PENDING
What it does:Upload the package approved in the approval center to the server and check the SHA256 fingerprint character by character; extract only when it matches.
Est. time:About 10–30 min (depends on upload speed)
Risk:Interrupted upload or file corruption; SHA256 verification detects it 100%, then re-upload.
Rollback method:Delete and re-upload; there is no old data on the server to break.
PENDING · awaiting boss approval
Step 4 · Install Caddy reverse proxy + automatic HTTPS
Status: PENDING
What it does:Install Caddy, configure app.aifengdcs.com as a reverse proxy to the local app port; Caddy automatically obtains and renews the free SSL certificate.
Est. time:About 20 min
Risk:Certificate issuance fails if DNS is not live yet; scheduled after Step 5 DNS propagation.
Rollback method:Remove the Caddy config and redo; no data is touched.
PENDING · awaiting boss approval
Step 5 · DNS resolution for app.aifengdcs.com
Status: PENDING
What it does:Add one A record in the domain provider's panel: host app → 8.215.20.106. The boss needs to confirm where the domain was purchased (see the DNS Guide page).
Est. time:About 5 min to add; 10 min–24 h global propagation
Risk:A wrong IP points visitors to the wrong address; the record can be changed back anytime.
Rollback method:Delete the A record to restore the previous state.
PENDING · awaiting boss approval
Step 6 · Data migration staging → production
Status: PENDING
What it does:Import all business data from the local staging database into production; a before/after row-count reconciliation table is shown to the boss. [High risk · Human-Gate]
Est. time:About 30–60 min
Risk:Large data volume may time out; import in batches and reconcile row counts per table.
Rollback method:If the import fails, wipe the production DB and redo; local staging data stays untouched.
PENDING · awaiting boss approval
Step 7 · Six-item health check
Status: PENDING
What it does:Check one by one; if any item fails, do not proceed to the next step:
- ① Homepage returns HTTP 200
- ② API health endpoint OK
- ③ Database connection & row-count reconciliation OK
- ④ HTTPS certificate valid with auto-renewal
- ⑤ Automatic backup job running with first backup produced
- ⑥ Disk and memory headroom within thresholds
Est. time:About 15 min
Risk:No risk itself, it is a pure check; on failure, go back to the related step and fix.
Rollback method:No rollback needed; a failed check simply stops forward progress.
PENDING · awaiting boss approval
Step 8 · Parallel observation period with the old system
Status: PENDING
What it does:The new system goes live while the old system keeps running for 3–7 days; staff reconcile in parallel to confirm the new system's data is correct.
Est. time:3–7 days
Risk:Staff may confuse the two systems; clear task split + daily reconciliation.
Rollback method:Any problem during the observation period: fall back entirely to the old system, zero loss.
PENDING · awaiting boss approval
Step 9 · Official switch-over + rollback point
Status: PENDING
What it does:After boss approval: take a server snapshot as the rollback point before switching, the old system becomes a read-only archive, and the new system becomes the only official one. [High risk · Human-Gate]
Est. time:About 30 min
Risk:Missing data discovered after switching; the Step 8 observation period has minimized this risk.
Rollback method:Restore with the server snapshot + local backup in one click (see the Rollback Plan page).
PENDING · awaiting boss approval
Product Package Fingerprint (verify after upload in Step 3)
| File name | AIFENG_DCS_FINAL_LOCAL_STAGING_PRODUCT.zip |
|---|---|
| SHA256 fingerprint | UNAVAILABLE |
| Size | 0 bytes |
The upload counts as successful only when the fingerprint exactly matches the one shown in the boss approval center; any mismatch means re-upload.
⚠ The boss is asked again before every single step starts