Files
Panama/server/vps/BillTracker/compose.yml
T

70 lines
2.6 KiB
YAML

name: bill-tracker
networks:
nginx-bridge:
external: true
services:
bill-tracker-next:
image: git.gbrown.org/gib/bill-tracker-next:latest
container_name: bill-tracker-next
hostname: bill-tracker-next
domainname: billtracker.gbrown.org
networks: [nginx-bridge]
environment:
NODE_ENV: production
NEXT_PUBLIC_SITE_URL: ${NEXT_PUBLIC_SITE_URL:-https://billtracker.gbrown.org}
NEXT_PUBLIC_CONVEX_URL: ${NEXT_PUBLIC_CONVEX_URL:-https://api.billtracker.gbrown.org}
restart: unless-stopped
bill-tracker-mcp:
image: git.gbrown.org/gib/bill-tracker-mcp:latest
container_name: bill-tracker-mcp
hostname: bill-tracker-mcp
domainname: mcp.billtracker.gbrown.org
networks: [nginx-bridge]
volumes: [./data/mcp:/data:Z]
environment:
NODE_ENV: production
MCP_PUBLIC_URL: ${MCP_PUBLIC_URL:-https://mcp.billtracker.gbrown.org}
MCP_SECRET: ${MCP_SECRET:?Set MCP_SECRET in the VPS .env}
BILL_TRACKER_CONVEX_URL: ${NEXT_PUBLIC_CONVEX_URL:-https://api.billtracker.gbrown.org}
restart: unless-stopped
bill-tracker-backend:
image: ${CONVEX_BACKEND_IMAGE:-ghcr.io/convex/convex-backend@sha256:207cf95def42f01614b6e3af0af5c20d0dcaa5ff2adf258ee7bc9555576644fa}
container_name: bill-tracker-backend
hostname: bill-tracker-backend
domainname: api.billtracker.gbrown.org
networks: [nginx-bridge]
volumes: [./data/convex:/convex/data:Z]
environment:
INSTANCE_NAME: ${INSTANCE_NAME:-bill_tracker}
INSTANCE_SECRET: ${INSTANCE_SECRET:?Set INSTANCE_SECRET in the VPS .env}
POSTGRES_URL: ${POSTGRES_URL:?Set POSTGRES_URL in the VPS .env}
CONVEX_CLOUD_ORIGIN: https://api.billtracker.gbrown.org
CONVEX_SITE_ORIGIN: https://convex.billtracker.gbrown.org
DISABLE_BEACON: 'true'
REDACT_LOGS_TO_CLIENT: 'true'
DO_NOT_REQUIRE_SSL: 'true'
restart: unless-stopped
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:3210/version']
interval: 5s
start_period: 10s
stop_grace_period: 10s
stop_signal: SIGINT
bill-tracker-dashboard:
image: ${CONVEX_DASHBOARD_IMAGE:-ghcr.io/convex/convex-dashboard@sha256:a55bf8abca1332f787bc4d4a79850182175027be7b70aa230be4389a1d3268e2}
container_name: bill-tracker-dashboard
hostname: bill-tracker-dashboard
domainname: dashboard.billtracker.gbrown.org
networks: [nginx-bridge]
environment:
NEXT_PUBLIC_DEPLOYMENT_URL: https://api.billtracker.gbrown.org
depends_on:
bill-tracker-backend:
condition: service_healthy
restart: unless-stopped