From f7d3bcb69617614b40b2de2b74ffca5c0486482b Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 8 Jul 2026 10:47:03 -0700 Subject: [PATCH] add root docker-compose --- .dockerignore | 6 +++++ docker/docker-compose.yaml | 45 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 .dockerignore create mode 100644 docker/docker-compose.yaml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..f67f79287 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +**/node_modules +**/dist +**/.env +**/*.env +.git +docker/dev/mongo/data diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml new file mode 100644 index 000000000..e1a2d0e5a --- /dev/null +++ b/docker/docker-compose.yaml @@ -0,0 +1,45 @@ +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} + 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: