Files
roast_command_center/docker-compose.yml

41 lines
1.4 KiB
YAML

services:
app:
build: .
environment:
NODE_ENV: production
DATABASE_URL: postgresql://roast:${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}@db:5432/roast
APP_ORIGIN: https://roast.srmr.xyz
COOKIE_SECURE: "true"
# Optional after the one-time administrator bootstrap has completed.
BOOTSTRAP_SETUP_TOKEN: ${BOOTSTRAP_SETUP_TOKEN:-}
# Leave unset unless a known reverse-proxy address/CIDR is configured.
TRUST_PROXY: ${TRUST_PROXY:-}
# Browser-rendered fallback for storefronts that rate-limit server fetches.
BROWSERLESS_URL: ${BROWSERLESS_URL:-http://host.docker.internal:9085}
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# Mount only non-secret Pi agent model/auth configuration; keep it read-only.
- ${PI_AGENT_CONFIG_DIR:-./appdata/pi-agent}:/home/node/.pi/agent:ro
depends_on:
db:
condition: service_healthy
# Nginx Proxy Manager routes https://roast.srmr.xyz to this host port.
ports: ["8090:8090"]
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: roast
POSTGRES_USER: roast
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}
volumes: [postgres-data:/var/lib/postgresql/data]
healthcheck:
test: ["CMD-SHELL", "pg_isready -U roast -d roast"]
interval: 5s
timeout: 3s
retries: 12
restart: unless-stopped
volumes:
postgres-data: