services: app: build: . ports: - "3000:3000" env_file: - .env environment: - DATABASE_URL=mongodb://mongo:27017/talentflow?replicaSet=rs0&directConnection=true - AUTH_URL=http://localhost:3000 - NEXTAUTH_URL=http://localhost:3000 depends_on: mongo: condition: service_healthy restart: unless-stopped mongo: image: mongo:7 command: ["--replSet", "rs0", "--bind_ip_all"] ports: - "27019:27017" volumes: - mongo_data:/data/db healthcheck: test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'mongo:27017'}]}) }" | mongosh --quiet interval: 5s timeout: 10s retries: 10 start_period: 10s restart: unless-stopped minio: image: minio/minio:latest command: server /data --console-address ":9001" ports: - "9010:9000" - "9011:9001" environment: MINIO_ROOT_USER: talentflow MINIO_ROOT_PASSWORD: talentflowsecret volumes: - minio_data:/data profiles: - storage restart: unless-stopped volumes: mongo_data: minio_data: