diff --git a/compose/swarm/docker-compose.minio.yml b/compose/swarm/docker-compose.minio.yml new file mode 100644 index 0000000..173dbf3 --- /dev/null +++ b/compose/swarm/docker-compose.minio.yml @@ -0,0 +1,68 @@ +version: '3.8' + +services: + minio: + image: quay.io/minio/minio:latest + command: server /data --console-address ":9001" + environment: + MINIO_ROOT_USER: root + MINIO_ROOT_PASSWORD: squirtle123 + MINIO_SERVER_URL: http://mainio.lab + MINIO_BROWSER_REDIRECT_URL: http://mainio.lab/console/ + MINIO_ACCESS_KEY_FILE: access_key + MINIO_SECRET_KEY_FILE: secret_key + MINIO_ROOT_USER_FILE: access_key + MINIO_ROOT_PASSWORD_FILE: secret_key + MINIO_KMS_SECRET_KEY_FILE: kms_master_key + MINIO_UPDATE_MINISIGN_PUBKEY: RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav + MINIO_CONFIG_ENV_FILE: config.env + MC_CONFIG_DIR: /tmp/.mc + volumes: + - minio-data:/data + - minio-config:/root/.minio + networks: + - public + - badge-net + - gitea_gitea + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 30s + timeout: 20s + retries: 3 + deploy: + replicas: 1 + placement: + constraints: + - node.hostname == crackbox + restart_policy: + condition: any + delay: 5s + max_attempts: 3 + labels: + - "traefik.enable=true" + - "traefik.http.routers.mainio-api.entrypoints=web" + - "traefik.http.routers.mainio-api.rule=Host(`mainio.lab`)" + - "traefik.http.routers.mainio-api.service=mainio" + - "traefik.http.routers.mainio-api.tls=false" + - "traefik.http.routers.mainio.entrypoints=web" + - "traefik.http.routers.mainio.rule=Host(`mainio.lab`) && PathPrefix(`/console`)" + - "traefik.http.routers.mainio.service=mainio-console" + - "traefik.http.routers.mainio.middlewares=mainio-stripprefix" + - "traefik.http.routers.mainio.tls=false" + - "traefik.http.middlewares.mainio-stripprefix.stripprefix.prefixes=/console" + - "traefik.http.services.mainio.loadbalancer.server.port=9001" + - "traefik.http.services.mainio-api.loadbalancer.server.port=9000" + +volumes: + minio-data: + external: true + minio-config: + external: true + +networks: + public: + external: true + badge-net: + external: true + gitea_gitea: + external: true