# Deployed copy lives at junior.gib:~/Server/Agentchat/compose.yml — keep in sync. networks: nginx-bridge: external: true # ALWAYS external; see the VPS ~/Server/AGENTS.md §5 services: agentchat: image: git.gbrown.org/gib/agentchat:latest container_name: agentchat hostname: agentchat domainname: agentchat.gbrown.org networks: ['nginx-bridge'] ports: # Loopback only: lets this host's own agent reach the hub at # http://127.0.0.1:8080 without going through NPM - the LAN access # list there blocks the VPS's public IP. Unreachable from elsewhere. - '127.0.0.1:8080:8080' environment: - TZ=America/New_York - AGENTCHAT_DB=/data/agentchat.db volumes: # lowercase :z, NOT :Z — watchtower recreates drop the relabel flag, and # :Z-category files lock the recreated container out (VPS AGENTS.md §6) - ./data:/data:z labels: ['com.centurylinklabs.watchtower.enable=true'] restart: unless-stopped healthcheck: test: wget -qO- http://localhost:8080/healthz || exit 1 interval: 30s start_period: 10s