# MinIO object storage on galactus (standalone Docker, Portainer endpoint 3).
#
# Holds the document blobs extracted from the Access LONGBINARY columns; MySQL
# keeps only the storageKey pointer. Standalone port of
# deploy/jorgecuadros-minio.stack.yml — see the header of
# deploy/galactus/jorgecuadros-db.compose.yml for the full list of Swarm keys
# that plain compose silently ignores.
#
# Keep in sync with deploy/jorgecuadros-minio.stack.yml when either changes.

services:
  minio:
    image: minio/minio:RELEASE.2024-10-13T13-34-11Z
    restart: unless-stopped
    command: server /data --console-address ":9001"
    environment:
      MINIO_ROOT_USER: ${MINIO_ROOT_USER:?MINIO_ROOT_USER must be set}
      MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?MINIO_ROOT_PASSWORD must be set}
    ports:
      - "${MINIO_API_PORT:-9000}:9000"
      - "${MINIO_CONSOLE_PORT:-9001}:9001"
    volumes:
      - minio_data:/data
    healthcheck:
      test: ["CMD-SHELL", "mc ready local || curl -f http://localhost:9000/minio/health/live || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 12
      start_period: 20s

volumes:
  minio_data:
