services: garcon: image: "${GARCON_IMAGE:-garcon:local}" build: context: . args: GARCON_UID: "${GARCON_UID:-1000}" GARCON_GID: "${GARCON_GID:-1000}" init: true restart: unless-stopped ports: - "${GARCON_HOST_ADDRESS:-127.0.0.1}:${GARCON_PORT:-8080}:${GARCON_PORT:-8080}" volumes: - garcon-data:/home/garcon/.garcon - agent-config:/home/garcon/.config - agents-home:/home/garcon/.agents - claude-home:/home/garcon/.claude - codex-home:/home/garcon/.codex - cursor-home:/home/garcon/.cursor - factory-home:/home/garcon/.factory - pi-home:/home/garcon/.pi - opencode-data:/home/garcon/.local/share/opencode - opencode-state:/home/garcon/.local/state/opencode - amp-data:/home/garcon/.local/share/amp - ssh-home:/home/garcon/.ssh - "${GARCON_PROJECT_DIR:?Set GARCON_PROJECT_DIR to the directory containing your repositories}:/projects" environment: GARCON_PORT: "${GARCON_PORT:-8080}" GARCON_BIND_ADDRESS: 0.0.0.0 GARCON_PROJECT_BASE_DIR: /projects GARCON_PUBLIC_URL: "${GARCON_PUBLIC_URL:-}" GARCON_BASE_PATH: "${GARCON_BASE_PATH:-}" ANTHROPIC_API_KEY: ANTHROPIC_BASE_URL: OPENAI_API_KEY: OPENAI_BASE_URL: CURSOR_API_KEY: FACTORY_API_KEY: AMP_API_KEY: GH_TOKEN: GITHUB_TOKEN: volumes: garcon-data: agent-config: agents-home: claude-home: codex-home: cursor-home: factory-home: pi-home: opencode-data: opencode-state: amp-data: ssh-home: