MinIO設定をCoolify対応に整備し、bucket自動作成を追加

compose:
- MinIOにヘルスチェック(mc ready)を追加し、api/workerはhealthyを待つように変更
- 全認証情報を${VAR:-default}でパラメータ化し、Coolifyの環境変数/シークレットで上書き可能に
- MINIO_SERVER_URL / MINIO_BROWSER_REDIRECT_URL でリバースプロキシ背後の公開URLに対応
- workerの依存先をapiからpostgres+minioに修正し、起動順序のデッドロックを解消

API:
- S3StorageにensureBucket()を追加(HeadBucket→なければCreateBucket、冪等)
- runtime起動時にbucketを自動作成し、minio-init依存を必須ではなくした

.env.exampleにMinIO関連変数を追記
This commit is contained in:
amania-jailbreak
2026-08-05 10:31:03 +09:00
parent 93825ebc64
commit 62c32ad0ad
4 changed files with 105 additions and 35 deletions
+9 -3
View File
@@ -2,18 +2,24 @@ NODE_ENV=development
PORT=4000
PUBLIC_BASE_URL=http://localhost:4000
WEB_ORIGIN=http://localhost:3000
NEXT_PUBLIC_API_BASE_URL=http://localhost:4000
NEXT_PUBLIC_AUTH_MODE=demo
# Use PostgreSQL + MinIO in Docker Compose. Leave DATABASE_URL empty for memory mode.
# --- Storage (MinIO via docker compose) -------------------------------------
# Leave DATABASE_URL empty to run with an in-memory store instead of Postgres.
DATABASE_URL=postgres://altdock:altdock@localhost:5432/altdock
STORAGE_MODE=s3
S3_ENDPOINT=http://localhost:9000
S3_REGION=us-east-1
S3_BUCKET=altdock
S3_ACCESS_KEY_ID=minioadmin
S3_SECRET_ACCESS_KEY=minioadmin
S3_SECRET_ACCESS_KEY=minioadmin123
S3_FORCE_PATH_STYLE=true
# MinIO root credentials, consumed by docker-compose.yml. CHANGE in production.
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123
# Only needed when MinIO is behind a reverse proxy / domain (e.g. on Coolify):
MINIO_SERVER_URL=
MINIO_BROWSER_REDIRECT_URL=
# demo works without an identity provider; production should use generic OIDC.
AUTH_MODE=demo