1.9 KiB
1.9 KiB
Cloud Daybook Host Template
Use this when creating a hosted/cloud Daybook deployment.
Status: planned.
Summary
| Item | Value |
|---|---|
| Provider | TBD |
| Hostname | TBD |
| Public URL | TBD |
| SSH | TBD |
| OS | TBD |
| App user | TBD |
| Deployment path | TBD |
| Persistent data path | TBD |
| API base URL | TBD |
| TLS | TBD |
| Backup location | TBD |
Target Runtime
Preferred simple runtime for the first cloud deployment:
Django + Gunicorn in Docker Compose
Required persistent state:
deploy/data/db.sqlite3
deploy/data/artifacts_store
Do not bake persistent data into the image.
Environment
Expected production environment values:
DJANGO_DEBUG=0
DJANGO_ALLOWED_HOSTS=<hostnames and IPs>
DAYBOOK_API_TOKEN=<write token>
DAYBOOK_DATA_DIR=/data
DATABASE_PATH=/data/db.sqlite3
ARTIFACTS_ROOT=/data/artifacts_store
Deployment Flow
Initial deployment checklist:
- Provision host.
- Install Docker and Docker Compose plugin.
- Copy or clone Daybook source.
- Create production
.env. - Create persistent
deploy/datadirectory. - Start with
docker compose -f deploy/docker-compose.yml up -d --build. - Verify
/api/capabilities. - Publish a smoke artifact.
- Configure backups for
deploy/data.
Health Checks
curl -fsS <api-base-url>/api/capabilities
docker compose -f deploy/docker-compose.yml ps
test -f deploy/data/db.sqlite3
test -d deploy/data/artifacts_store
Open Decisions
| Decision | Options | Choice |
|---|---|---|
| Hosting provider | VPS, home tunnel, managed container host | TBD |
| Domain | Existing domain, subdomain, direct IP | TBD |
| TLS | Reverse proxy, provider load balancer, Tailscale-only | TBD |
| Backups | Host cron, provider snapshots, object storage archive | TBD |
| Database | SQLite for MVP, Postgres later | TBD |
| Reader auth | None for MVP, basic auth, app auth | TBD |