fix: align garage virtual-hosted-style routing for AWS S3 SDK

↗ view on GitHub · Lef · 2026-05-05 · 9f6dcfaf

The AWS S3 SDK uses virtual-hosted-style URLs by default
(<bucket>.<endpoint>), so it tries to resolve 'mike.garage:3900'
when uploading to the 'mike' bucket via http://garage:3900.

Three changes:
- docker-compose.yml: add a network alias 'mike.garage' on the
  garage service so the SDK's hostname resolves.
- garage.toml: set s3_region = 'auto' to match the value Mike's
  storage.ts hardcodes when constructing the S3 client (Garage
  rejects requests whose AWS4 scope doesn't match its region).
- garage.toml: set root_domain = '.garage' so Garage parses the
  bucket name out of the inbound Host header for virtual-hosted
  requests.

Tied to R2_BUCKET_NAME=mike. If you rename the bucket, update
the alias in docker-compose.yml to match.
Repository Lef-F/mike
Author Lef <Lef-F@users.noreply.github.com>
Authored
Parents 9cc8453c
Stats 2 files changed , +15 , -2
Part of Self-host docker-compose stack

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-9f6dcfaf.md from inside the repo you want the change in.

⬇ Download capture-commit-9f6dcfaf.md