Six compose files for the separate-container setup, a build and a prod
file for each, modelled on DriverVault's Docker folder:
- pocketbase.s3: media in an existing bucket elsewhere; the endpoint
and key pair are required, host.docker.internal is mapped, and the
homeserver waits up to 30 seconds for the endpoint before starting.
- pocketbase.seaweedfs: SeaweedFS as one `weed server -s3` container
whose only identity is the homeserver's key pair, plus a one-shot
init that creates the bucket.
- pocketbase.seaweedfs.split: master, volume, filer, S3 gateway and
admin UI as separate containers; the init seeds the bucket and the
homeserver's identity into the filer's IAM store, and the gateway
waits for it.
Only the S3 gateway and admin UI are published, on loopback. Both
SeaweedFS files share one project and data layout, so switching needs
no migration. .env.example gains the SEAWEED_* settings and leaves
WARP_PB_S3_FORCE_PATH_STYLE empty so the S3 file's default applies.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>