# 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: ```text Django + Gunicorn in Docker Compose ``` Required persistent state: ```text deploy/data/db.sqlite3 deploy/data/artifacts_store ``` Do not bake persistent data into the image. ## Environment Expected production environment values: ```text DJANGO_DEBUG=0 DJANGO_ALLOWED_HOSTS= DAYBOOK_API_TOKEN= DAYBOOK_DATA_DIR=/data DATABASE_PATH=/data/db.sqlite3 ARTIFACTS_ROOT=/data/artifacts_store ``` ## Deployment Flow Initial deployment checklist: 1. Provision host. 2. Install Docker and Docker Compose plugin. 3. Copy or clone Daybook source. 4. Create production `.env`. 5. Create persistent `deploy/data` directory. 6. Start with `docker compose -f deploy/docker-compose.yml up -d --build`. 7. Verify `/api/capabilities`. 8. Publish a smoke artifact. 9. Configure backups for `deploy/data`. ## Health Checks ```bash curl -fsS /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 |