services: checkmate: image: ghcr.io/bluewave-labs/checkmate:latest pull_policy: always restart: always ports: - "52345:52345" environment: - DB_CONNECTION_STRING=mongodb://mongodb:27017/uptime_db - CLIENT_HOST=${CLIENT_HOST:-http://localhost:52345} - JWT_SECRET=${JWT_SECRET:?set JWT_SECRET in your environment} - ENCRYPTION_KEY=${ENCRYPTION_KEY:-} stop_grace_period: 60s healthcheck: test: [ "CMD", "node", "-e", "require('http').get('http://localhost:52346/livez',r=>process.exit(r.statusCode===200?0:1)).on('error',()=>process.exit(1))", ] interval: 15s timeout: 3s start_period: 60s start_interval: 2s retries: 3 depends_on: mongodb: condition: service_healthy mongodb: image: mongo:8.0 restart: always command: ["mongod", "--quiet", "--bind_ip_all"] volumes: - mongo-data:/data/db healthcheck: test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')", "--quiet"] interval: 5s timeout: 30s start_period: 0s start_interval: 1s retries: 30 volumes: mongo-data: