Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
openstatus docker-compose-lightweight.yaml
3.9 kB ยท 136 lines
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137networks: openstatus: driver: bridge name: openstatus
volumes: libsql-data: name: openstatus-libsql-data
services: # External services libsql: container_name: openstatus-libsql image: ghcr.io/tursodatabase/libsql-server:latest networks: - openstatus ports: - "8080:8080" - "5001:5001" volumes: - libsql-data:/var/lib/sqld environment: - SQLD_NODE=primary healthcheck: test: [ "CMD-SHELL", 'perl -e ''use IO::Socket::INET; exit(IO::Socket::INET->new(PeerAddr=>"127.0.0.1:8080",Timeout=>1) ? 0 : 1);''', ] interval: 10s timeout: 5s retries: 5 start_period: 10s restart: unless-stopped memswap_limit: 512M deploy: resources: limits: memory: 512M reservations: memory: 256M
# Idempotent: drizzle skips already-applied migrations on every up db-migrate: container_name: openstatus-db-migrate build: context: . dockerfile: packages/db/Dockerfile image: openstatus/db-migrate:latest # rebuild on every up so a stale image never skips new migrations pull_policy: build networks: - openstatus env_file: - .env.docker environment: - DATABASE_URL=http://libsql:8080 depends_on: libsql: condition: service_healthy # retries absorb transient DB races; still settles to failure for the gates restart: on-failure:3
dashboard: container_name: openstatus-dashboard build: context: . dockerfile: apps/dashboard/Dockerfile image: openstatus/dashboard:latest networks: - openstatus ports: - "3000:3000" env_file: - .env.docker environment: - DATABASE_URL=http://libsql:8080 - PORT=3000 - HOSTNAME=0.0.0.0 - AUTH_TRUST_HOST=true depends_on: db-migrate: condition: service_completed_successfully libsql: condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"] interval: 15s timeout: 10s retries: 3 start_period: 45s restart: unless-stopped memswap_limit: 512M deploy: resources: limits: memory: 512M reservations: memory: 256M
status-page: container_name: openstatus-status-page build: context: . dockerfile: apps/status-page/Dockerfile image: openstatus/status-page:latest networks: - openstatus ports: - "3001:3000" env_file: - .env.docker environment: - DATABASE_URL=http://libsql:8080 - PORT=3000 - HOSTNAME=0.0.0.0 - AUTH_TRUST_HOST=true depends_on: db-migrate: condition: service_completed_successfully libsql: condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"] interval: 15s timeout: 10s retries: 3 start_period: 45s restart: unless-stopped memswap_limit: 512M deploy: resources: limits: memory: 512M reservations: memory: 256M