# MinIO-only stack for Coolify when Beevoice runs as a separate Application resource. # # Deploy: Coolify → Docker Compose → compose file: docker-compose.coolify-minio.yml # # Beevoice (Application) cannot use S3_ENDPOINT=http://minio:9000 unless it shares # this stack's Docker network AND that hostname resolves (usually it does not across # separate Coolify resources). See docs/COOLIFY.md — copy the internal hostname from # the MinIO resource UI into Beevoice's S3_ENDPOINT and enable "Connect to Predefined # Network" on the Beevoice app. # # Recommended alternative: deploy full docker-compose.yml as one Compose resource (app # + db + minio) so S3_ENDPOINT=http://minio:9000 works without extra networking. services: minio: image: minio/minio:latest environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} volumes: - beenvoice_minio_data:/data command: server /data --console-address ":9001" healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 5s timeout: 5s retries: 10 restart: unless-stopped minio-init: image: minio/mc:latest depends_on: minio: condition: service_healthy environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} S3_BUCKET: ${S3_BUCKET:-beenvoice-receipts} entrypoint: ["/bin/sh", "-c"] command: - >- mc alias set local http://minio:9000 "$${MINIO_ROOT_USER:-minioadmin}" "$${MINIO_ROOT_PASSWORD:-minioadmin}" && mc mb "local/$${S3_BUCKET:-beenvoice-receipts}" --ignore-existing restart: "no" volumes: beenvoice_minio_data: