# Litestream configuration for SQLite replication # Primary replica: Cloudflare R2 (off-host disaster recovery) # Secondary replica: local file backup inside the volume # # Set these env vars in .env / GitLab CI variables: # LITESTREAM_R2_BUCKET e.g. padelnomics-backups # LITESTREAM_R2_ACCESS_KEY_ID # LITESTREAM_R2_SECRET_ACCESS_KEY # LITESTREAM_R2_ENDPOINT e.g. .r2.cloudflarestorage.com # # Recovery: # litestream restore -config /etc/litestream.yml /app/data/app.db # litestream restore -config /etc/litestream.yml -timestamp "2026-01-15T12:00:00Z" /app/data/app.db dbs: - path: /app/data/app.db replicas: # Primary: Cloudflare R2 - url: s3://${LITESTREAM_R2_BUCKET}/padelnomics/app.db access-key-id: ${LITESTREAM_R2_ACCESS_KEY_ID} secret-access-key: ${LITESTREAM_R2_SECRET_ACCESS_KEY} endpoint: https://${LITESTREAM_R2_ENDPOINT} retention: 168h snapshot-interval: 6h # Secondary: local backup inside the volume (fast local restore) - path: /app/data/backups retention: 24h snapshot-interval: 1h