networks: nginx-bridge: # Change to network you plan to use external: true services: convexmonorepo: build: context: ../ dockerfile: ./docker/Dockerfile image: ${NEXT_CONTAINER_NAME}:alpine container_name: ${NEXT_CONTAINER_NAME} environment: - NODE_ENV - SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN} - NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL:-http://localhost:${NEXT_PORT:-3000}} - NEXT_PUBLIC_CONVEX_URL=${NEXT_PUBLIC_CONVEX_URL:-http://${BACKEND_CONTAINER_NAME:-convex-backend}:${BACKEND_PORT:-3210}} - NEXT_PUBLIC_PLAUSIBLE_URL=${NEXT_PUBLIC_PLAUSIBLE_URL:-https://plausible.gbrown.org} - NEXT_PUBLIC_SENTRY_DSN=${NEXT_PUBLIC_SENTRY_DSN} - NEXT_PUBLIC_SENTRY_URL=${NEXT_PUBLIC_SENTRY_URL} - NEXT_PUBLIC_SENTRY_ORG=${NEXT_PUBLIC_SENTRY_ORG:-sentry} - NEXT_PUBLIC_SENTRY_PROJECT_NAME=${NEXT_PUBLIC_SENTRY_PROJECT_NAME} - PAYLOAD_SECRET=${PAYLOAD_SECRET} - PAYLOAD_DB_URL=${PAYLOAD_DB_URL} hostname: ${NEXT_CONTAINER_NAME} domainname: ${NEXT_DOMAIN} networks: ['${NETWORK:-nginx-bridge}'] #ports: ['${NEXT_PORT}:${NEXT_PORT}'] depends_on: ['convexmonorepo-backend'] tty: true stdin_open: true restart: unless-stopped convexmonorepo-backend: image: ghcr.io/get-convex/convex-backend:${BACKEND_TAG:-latest} container_name: ${BACKEND_CONTAINER_NAME:-convex-backend} hostname: ${BACKEND_CONTAINER_NAME:-convex-backend} domainname: ${BACKEND_DOMAIN:-convex.gbrown.org} networks: ['${NETWORK:-nginx-bridge}'] #user: '1000:1000' #ports: ['${BACKEND_PORT:-3210}:3210','${SITE_PROXY_PORT:-3211}:3211'] volumes: [./data:/convex/data] labels: ['com.centurylinklabs.watchtower.enable=true'] environment: - INSTANCE_NAME #- INSTANCE_SECRET - CONVEX_CLOUD_ORIGIN=${CONVEX_CLOUD_ORIGIN:-http://${BACKEND_CONTAINER_NAME:-stpeteit-backend}:${BACKEND_PORT:-3210}} - CONVEX_SITE_ORIGIN=${CONVEX_SITE_ORIGIN:-http://${BACKEND_CONTAINER_NAME:-stpeteit-backend}:${SITE_PROXY_PORT:-3211}} - DISABLE_BEACON=${DISABLE_BEACON:-true} - REDACT_LOGS_TO_CLIENT=${REDACT_LOGS_TO_CLIENT:-true} - DO_NOT_REQUIRE_SSL=${DO_NOT_REQUIRE_SSL:-false} #- POSTGRES_URL=${POSTGRES_URL} stdin_open: true tty: true restart: unless-stopped healthcheck: test: curl -f http://localhost:3210/version interval: 5s start_period: 10s stop_grace_period: 10s stop_signal: SIGINT convexmonorepo-dashboard: image: ghcr.io/get-convex/convex-dashboard:${DASHBOARD_TAG:-latest} container_name: ${DASHBOARD_CONTAINER_NAME:-convex-dashboard} hostname: ${DASHBOARD_CONTAINER_NAME:-convex-dashboard} domainname: ${DASHBOARD_DOMAIN:-dashboard.${BACKEND_DOMAIN:-convex.gbrown.org}} networks: ['${NETWORK:-nginx-bridge}'] #user: 1000:1000 #ports: ['${DASHBOARD_PORT:-6791}:6791'] labels: ['com.centurylinklabs.watchtower.enable=true'] environment: - NEXT_PUBLIC_DEPLOYMENT_URL=${NEXT_PUBLIC_DEPLOYMENT_URL:-http://${BACKEND_CONTAINER_NAME:-convex-backend}:${PORT:-3210}} depends_on: convexmonorepo-backend: condition: service_healthy stdin_open: true tty: true restart: unless-stopped stop_grace_period: 10s stop_signal: SIGINT #convexmonorepo-postgresql: #image: postgres:17 #container_name: ${POSTGRES_CONTAINER_NAME:-convexmonorepo-postgres} #hostname: ${POSTGRES_CONTAINER_NAME:-convexmonorepo-postgres} #domainname: postgres.${NEXT_DOMAIN:-convexmonorepo.gbrown.org} #networks: ['${NETWORK:-nginx-bridge}'] #ports: ['5432:5432'] #environment: #- POSTGRES_USER=${POSTGRES_USER:-convexmonorepo} #- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} #- POSTGRES_DB=${POSTGRES_DB:-convexmonorepo_payload} #labels: ['com.centurylinklabs.watchtower.enable=true'] #volumes: ['./volumes/postgres:/var/lib/postgresql/data'] #tty: true #stdin_open: true #restart: unless-stopped #healthcheck: #test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] #start_period: 20s #interval: 30s #retries: 5 #timeout: 5s