infra: minio images via quay.io (Docker Hub private) + USERPROFILE fallback for certs mount

Docker Hub ทำ repo ของ MinIO (minio/minio, minio/mc) เป็น private — pull ไม่ได้
ทั้งจาก compose และตรงๆ จึงย้ายไป quay.io mirror ทางการ ส่วน mount cert ของ
Keycloak ใส่ fallback ${HOME:-${USERPROFILE}} เพราะ PowerShell ไม่ set HOME
เคยทำให้ compose recreate ด้วย mount พาธว่าง แล้ว Keycloak start ไม่ได้

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
Suphonchai Phoonsawat 2026-09-13 20:26:01 +07:00
parent 1fbac89273
commit 3b449f46e0

View file

@ -28,7 +28,8 @@ services:
# container listen 39000/39001 เท่ากับ host ตรงๆ (ไม่ map ข้าม port) — map ข้ามแล้ว
# console จะ redirect/-เชื่อม server ผิด port (login error / เด้งไป :9001 ตาย)
minio:
image: minio/minio:latest
# quay.io mirror — Docker Hub ทำ minio/minio เป็น private แล้ว (pull access denied)
image: quay.io/minio/minio:latest
command: server /data --address ":39000" --console-address ":39001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
@ -52,7 +53,8 @@ services:
# สร้าง bucket docx-versions + docx-templates แบบ private (anonymous = none)
# idempotent — รันซ้ำได้ด้วย --ignore-existing
minio-init:
image: minio/mc:latest
# quay.io mirror — Docker Hub ทำ minio/mc เป็น private แล้ว (pull access denied)
image: quay.io/minio/mc:latest
depends_on:
minio:
condition: service_healthy
@ -91,7 +93,8 @@ services:
# 8080 (http) เปิดไว้เฉพาะใน network ของ compose ให้ service `api` (profile) ใช้ภายใน
volumes:
- ./keycloak/realm-export.json:/opt/keycloak/data/import/realm-export.json:ro
- ${HOME}/.office-addin-dev-certs:/certs:ro
# HOME unset ใน PowerShell — fallback ไป USERPROFILE (Windows); Mac/Git Bash ใช้ HOME ตามปกติ
- ${HOME:-${USERPROFILE}}/.office-addin-dev-certs:/certs:ro
# --- Backend API (ยังไม่เปิดใช้ — รอ Phase 2 สร้าง Dockerfile) -----
# รันฝั่ง host ด้วย `dotnet run` ได้เลย โดยชี้ config ไปที่ localhost:5432 / localhost:39000