By: Michael Lynch <git@mtlynch.io>
Point .env.example's Litestream config at Backblaze B2 .env.example templated LITESTREAM_ENDPOINT, LITESTREAM_ACCESS_KEY_ID, and LITESTREAM_BUCKET off Bunny's storage-zone naming convention, but DESIGN.md documents B2 as the actual replica target: Bunny's S3 implementation doesn't support Batch delete or ETag for HeadObject, both of which Litestream 0.5.x depends on. DESIGN.md was correct; the example env file was stale. B2's S3-compatible endpoint is https://s3.<region>.backblazeb2.com, and its application key ID/secret are opaque values scoped to a bucket rather than derived from a zone name, so the old LITESTREAM_STORAGE_ZONE templating (one value reused as both the bucket name and the access key ID) doesn't carry over. Replaced it with a region variable for the endpoint and separate placeholders for the key ID, secret, and bucket. The media-storage S3_* variables are untouched: DESIGN.md's "Media storage and serving: Bunny" section documents Bunny as the intended vendor for media, a separate concern from database replication. Co-Authored-By: Claude <noreply@anthropic.com>