services: host: build: . restart: unless-stopped ports: - "127.0.0.1:8787:8787" environment: GUHBOT_BASE_URL: ${GUHBOT_BASE_URL:?Set a model endpoint in .env} GUHBOT_MODEL: ${GUHBOT_MODEL:-} GUHBOT_API_KEY: ${GUHBOT_API_KEY:-} volumes: - host-data:/data extra_hosts: - "host.docker.internal:host-gateway" healthcheck: test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:8787/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"] interval: 30s timeout: 5s retries: 3 security_opt: - no-new-privileges:true site: build: . profiles: [site] restart: unless-stopped command: ["website/serve.mjs", "--host", "0.0.0.0", "--data-file", "/data/waitlist.json"] ports: - "127.0.0.1:4173:4173" volumes: - waitlist-data:/data cloud: build: . profiles: [cloud] restart: unless-stopped command: ["apps/cloud/dist/cli.js", "--host", "0.0.0.0", "--root", "/data", "--base-url", "${GUHBOT_BASE_URL:-}", "--model", "${GUHBOT_MODEL:-}", "--max-tenants", "10"] ports: - "127.0.0.1:8788:8788" environment: GUHBOT_CLOUD_OPERATOR_TOKEN: ${GUHBOT_CLOUD_OPERATOR_TOKEN:-} GUHBOT_API_KEY: ${GUHBOT_API_KEY:-} volumes: - cloud-data:/data extra_hosts: - "host.docker.internal:host-gateway" security_opt: - no-new-privileges:true volumes: host-data: cloud-data: waitlist-data: