70 lines
2.6 KiB
YAML
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
|