Add Deployment section to README #30

Merged
matt merged 3 commits from mailship-nsn-add-deployment-section-to-readme-c41 into main 2026-10-01 20:33:29 +00:00
Collaborator

Bead: mailship-nsn

Documents how mailship is deployed in production, covering the multi-stage Docker build, Docker Compose setup, required environment variables, and persistent SQLite data volume management.

Changes:

  • Production Image Build — documents the two-stage Dockerfile (build → production), base image trim-down, non-root app user, and writable /data volume for SQLite.
  • Docker Compose (Recommended) — explains the docker-compose.yml config: restart: unless-stopped, ${VAR:?required} env validation, named volume for persistence, and commands for rebuilds and image pulls.
  • Required Environment Variables — production-focused env-var table marking which vars are required vs optional, with concrete examples and security notes (never commit .env, use a secret manager).
  • Persistent Data Volume — describes the SQLite database location, backup strategies (sqlite3 .dump, file-level copy, zero-downtime), anti-patterns (no multi-instance sharing due to in-process cron), and a migration/snapshot workflow.
Bead: mailship-nsn Documents how mailship is deployed in production, covering the multi-stage Docker build, Docker Compose setup, required environment variables, and persistent SQLite data volume management. **Changes:** - **Production Image Build** — documents the two-stage Dockerfile (`build` → `production`), base image trim-down, non-root `app` user, and writable `/data` volume for SQLite. - **Docker Compose (Recommended)** — explains the `docker-compose.yml` config: `restart: unless-stopped`, `${VAR:?required}` env validation, named volume for persistence, and commands for rebuilds and image pulls. - **Required Environment Variables** — production-focused env-var table marking which vars are required vs optional, with concrete examples and security notes (never commit `.env`, use a secret manager). - **Persistent Data Volume** — describes the SQLite database location, backup strategies (`sqlite3 .dump`, file-level copy, zero-downtime), anti-patterns (no multi-instance sharing due to in-process cron), and a migration/snapshot workflow.
hudson added 1 commit 2026-10-01 20:23:51 +00:00
Add Deployment section to README
All checks were successful
CI / checks (pull_request) Successful in 1m6s
0f1e568009
Document production deployment including:
- Multi-stage Docker image build process (build + production stages)
- Docker Compose setup with env substitution and restart policy
- Required production environment variables with notes
- Persistent SQLite data volume management, backup and migration
matt added 1 commit 2026-10-01 20:29:18 +00:00
Pare down Deployment instructions
All checks were successful
CI / checks (pull_request) Successful in 1m2s
e6b48796ff
matt added 1 commit 2026-10-01 20:32:59 +00:00
More deployment section updates
All checks were successful
CI / checks (pull_request) Successful in 57s
212edabc5d
matt merged commit 3f646c2d26 into main 2026-10-01 20:33:29 +00:00
matt deleted branch mailship-nsn-add-deployment-section-to-readme-c41 2026-10-01 20:33:45 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: matt/mailship#30
No description provided.