# Storage for developing and testing donut-sync itself. It runs MinIO only, and # the sync server is expected to run on the host beside it (`pnpm start:dev`), # which is why MinIO is published and why the port matches the one pinned in # test/test-env.ts. # # This is NOT the self-hosting compose file. That one runs donut-sync in a # container too, and it must set S3_PUBLIC_ENDPOINT, because a server that signs # presigned URLs against a compose-internal host such as `http://minio:9000` # hands every device a URL it cannot open, while /health and /readyz stay green. # Take the self-hosting compose from https://donutbrowser.com/docs/self-hosting # rather than from here. services: minio: image: minio/minio:latest ports: - "8987:9000" - "8988:9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 5s timeout: 5s retries: 5 volumes: - minio_data:/data volumes: minio_data: