version: '3.8' services: mongo: image: mongo:latest ports: - "27017:27017" volumes: - mongodb_dev_data:/data/db environment: - MONGO_INITDB_DATABASE=rekordbox healthcheck: test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] interval: 30s timeout: 10s retries: 3 start_period: 20s restart: unless-stopped minio: image: minio/minio:latest ports: - "9000:9000" - "9001:9001" environment: - MINIO_ROOT_USER=minioadmin - MINIO_ROOT_PASSWORD=minioadmin volumes: - minio_dev_data:/data command: server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 start_period: 30s restart: unless-stopped # MinIO client for initial setup minio-client: image: minio/mc:latest depends_on: - minio command: > sh -c " sleep 10 && mc alias set myminio http://minio:9000 minioadmin minioadmin && mc mb myminio/music-files && mc policy set public myminio/music-files && echo 'MinIO setup complete' " restart: "no" volumes: mongodb_dev_data: minio_dev_data: