Production deployment

Prepare the server for real traffic and real data.

Choose durable persistence, protect transport, bound resource use, collect operational signals, and rehearse recovery before users depend on the application.

Choose and record the topology

Start with the smallest topology that meets the availability goal: one Daptin process, one durable database, durable file storage, and a TLS-terminating edge. Add multiple Daptin instances only after reading what clustering shares and testing behavior when cluster coordination is unavailable.

Deploy a specific release or immutable image digest rather than an unbounded moving tag. Record the Daptin version, schema input, startup flags, environment variables, database version, storage configuration, and rollback artifact for every release.

Persist and recover the complete application

  • Place the database and local asset path on durable storage.
  • Back up database rows, asset storage, site content, and required encryption/signing secrets as one documented recovery set.
  • Encrypt backup copies and restrict restore credentials.
  • Restore into an isolated environment and verify representative records, files, authentication, and actions.
  • Write recovery time and recovery point objectives from measured restore drills.

Protect network access

Bind Daptin only where the chosen edge can reach it. Terminate TLS in Daptin or a reverse proxy according to the TLS guide. Forward client identity headers only from trusted proxies. Expose optional SMTP, IMAP, FTP, FTPS, and cluster ports only when used and protected.

Route traffic using meaningful health checks

Use /ping for process liveness. Confirm the exact readiness/health behavior available in the deployed release before wiring load balancers. A green HTTP process does not prove database, storage, provider, mail, or application permission health. Test those dependencies separately and observe them through monitoring.

Roll out and roll back

  1. Back up and verify the rollback artifact and configuration.
  2. Start one replacement instance against a disposable or staged copy of production state.
  3. Run liveness, database, file, authentication, permission, and critical action checks.
  4. Remove an old instance from routing before termination and verify the deployed release's shutdown behavior with in-flight test requests.
  5. Watch errors, latency, pool pressure, resource use, and background work during rollout.
  6. Stop the rollout and follow the rehearsed rollback when invariants fail.
A checklist item requires evidence. “Backups enabled” is incomplete. Record the latest successful restore test, its duration, the recovered scope, and any data that could not be reconstructed.

Production checklist

Persist and back up

Keep the database, configuration, and managed storage outside disposable container layers. Test restoration.

Terminate TLS

Use a trusted certificate through Daptin or an intentional reverse proxy.

Set limits

Configure Daptin concurrency, rate limits, and database pools. Enforce request size and connection timeouts at a trusted reverse proxy for the latest release.

Observe and upgrade

Collect liveness, statistics, and logs. Test the latest release, schema, and application behavior before promotion.

Choose a supported artifact.