Django 5.2 with dev/test/prod settings, SQLite tuned for Litestream (WAL, IMMEDIATE transactions), ULID primary keys via a shared base model, and a custom User model ahead of the first migration. Minimal accessible base template with dark mode via color-scheme and an optional theme picker. /healthz answers before host validation so Fly checks pass. Dockerfile (dev and prod targets), compose for local dev, fly.toml with placeholder app/region, Litestream backups to B2, and a Forgejo Actions workflow. Migrations run in bin/start because Fly release machines don't mount volumes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 lines
483 B
YAML
13 lines
483 B
YAML
# Continuous SQLite backup to Backblaze B2.
|
|
# Explicit keys so Litestream never picks up the AWS_* variables that belong to Tigris.
|
|
# Litestream 0.5+ detects B2 endpoints and sets path style and payload signing itself.
|
|
access-key-id: ${LITESTREAM_ACCESS_KEY_ID}
|
|
secret-access-key: ${LITESTREAM_SECRET_ACCESS_KEY}
|
|
|
|
dbs:
|
|
- path: ${INTENT_DATA_DIR}/db.sqlite3
|
|
replica:
|
|
type: s3
|
|
bucket: ${LITESTREAM_BUCKET}
|
|
path: intent/db
|
|
endpoint: ${LITESTREAM_ENDPOINT}
|