services: minio: image: minio/minio:latest container_name: minio restart: unless-stopped ports: - "9000:9000" # MinIO API - "9001:9001" # MinIO Console env_file: - .env # 從 .env 載入環境變數 environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} # 管理員帳號(預設 minioadmin) MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} # 管理員密碼(預設 minioadmin) MINIO_DOMAIN: ${MINIO_DOMAIN:-minio.local} # MinIO API 網域 MINIO_SERVER_URL: ${MINIO_SERVER_URL:-http://minio.local} # 外部 API URL MINIO_BROWSER_REDIRECT_URL: ${MINIO_CONSOLE_URL:-http://console.minio.local} # Console 重導向 URL volumes: - minio_data:/data # 儲存桶資料持久化 command: server /data --console-address ":9001" # 啟動 MinIO 並指定 Console 監聽 networks: - minio_network mc: image: minio/mc profiles: ["tools"] # 不會自動啟動,需要時再手動 `docker compose run mc ...` networks: - minio_network volumes: - mc_config:/root/.mc # 持久化 mc 的設定檔(alias、登入資訊等) volumes: minio_data: # MinIO 資料存放 mc_config: # mc 設定檔存放 networks: minio_network: # 共用網路