minio-init: add a public bucket with a put-only uploader

There was no way to share a file by link: both buckets are private and
the bootstrap forces anonymous access off on every run.

Add a bucket named public whose objects anyone can GET by key, with no
anonymous listing or writes, and an optional user that may only put and
delete there, so a leaked uploader key reads nothing and reaches no
other bucket.

Assisted-by: Claude:fable-5-2
This commit is contained in:
Sergei Poljanski 2026-11-11 03:24:59 +04:00
commit 10c620e796
Signed by: asxpi
GPG key ID: 4F8851660FA4121B
4 changed files with 76 additions and 1 deletions

View file

@ -78,6 +78,8 @@ services:
ASXPIO_S3_SECRET_KEY: ${ASXPIO_S3_SECRET_KEY}
BINGO_S3_ACCESS_KEY: ${BINGO_S3_ACCESS_KEY}
BINGO_S3_SECRET_KEY: ${BINGO_S3_SECRET_KEY}
PUBLIC_S3_ACCESS_KEY: ${PUBLIC_S3_ACCESS_KEY}
PUBLIC_S3_SECRET_KEY: ${PUBLIC_S3_SECRET_KEY}
volumes:
- ./init/minio-bootstrap.sh:/bootstrap.sh:ro
entrypoint: ["/bin/sh", "/bootstrap.sh"]