daybook/_archive_/hosts/cloud-template.md

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:

  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

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