services: app: container_name: retrotoon-studio-app build: context: . dockerfile: Dockerfile args: VITE_APP_TITLE: ${VITE_APP_TITLE:-RetroToon Studio} env_file: - .env.docker environment: NODE_ENV: production PORT: 3000 MINIO_ENDPOINT: minio MINIO_PORT: 9000 MINIO_ACCESS_KEY: retrotoon MINIO_SECRET_KEY: retrotoon-secret-key-2026 MINIO_BUCKET: retrotoon MINIO_USE_SSL: "false" MINIO_PUBLIC_URL: https://retrotoon.cosmolan.fr/s3 restart: unless-stopped healthcheck: test: ["CMD-SHELL", "wget -q --spider http://127.0.0.1:3000/ || exit 1"] interval: 30s timeout: 5s retries: 5 start_period: 20s ports: - "127.0.0.1:5200:3000" depends_on: minio: condition: service_healthy networks: - default - npm_default minio: image: minio/minio:latest container_name: retrotoon-minio command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: retrotoon MINIO_ROOT_PASSWORD: retrotoon-secret-key-2026 volumes: - minio-data:/data healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 10s timeout: 5s retries: 5 start_period: 10s ports: - "127.0.0.1:9100:9000" - "127.0.0.1:9101:9001" networks: - default volumes: minio-data: networks: npm_default: external: true