name: convexmonorepo-local services: convex-backend: image: ghcr.io/get-convex/convex-backend:${BACKEND_TAG:-latest} container_name: convexmonorepo-local-convex ports: - '${BACKEND_PORT:-3210}:3210' - '${SITE_PROXY_PORT:-3211}:3211' environment: - INSTANCE_NAME=${LOCAL_INSTANCE_NAME:-convexmonorepo_local} - INSTANCE_SECRET=${LOCAL_INSTANCE_SECRET:-0000000000000000000000000000000000000000000000000000000000000000} - CONVEX_CLOUD_ORIGIN=http://localhost:${BACKEND_PORT:-3210} - CONVEX_SITE_ORIGIN=http://localhost:${SITE_PROXY_PORT:-3211} - DISABLE_BEACON=true - REDACT_LOGS_TO_CLIENT=false - DO_NOT_REQUIRE_SSL=true # Convex uses its own volume by default. A cloned project may opt into # Convex-on-Postgres by configuring a separate database URL here: # - POSTGRES_URL=postgres://user:password@postgres:5432/convex?sslmode=disable volumes: [convex-data:/convex/data] restart: unless-stopped healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:3210/version'] start_period: 10s interval: 5s retries: 20 timeout: 5s stop_grace_period: 10s stop_signal: SIGINT convex-dashboard: image: ghcr.io/get-convex/convex-dashboard:${DASHBOARD_TAG:-latest} container_name: convexmonorepo-local-convex-dashboard ports: ['${DASHBOARD_PORT:-6791}:6791'] environment: - NEXT_PUBLIC_DEPLOYMENT_URL=http://localhost:${BACKEND_PORT:-3210} depends_on: convex-backend: condition: service_healthy restart: unless-stopped volumes: convex-data: