# HeiCode docker stack # # Usage: # docker compose up -d --build # curl http://127.0.0.1:3456/health # curl http://127.0.0.1:3456/api/heicode-auth/providers # # This compose joins the existing `heicode_heicode-network` so HeiCode can # reach the local heicode gateway directly via http://heicode:3000 # (no need to expose heicode on the host LAN). services: heicode-server: build: context: . dockerfile: Dockerfile image: heicode-server:latest container_name: heicode-server restart: unless-stopped ports: - "3456:3456" environment: SERVER_PORT: "3456" SERVER_HOST: "0.0.0.0" # Auth on the *server* itself is off in dev so the desktop UI can talk # to it without a bearer. Set to "1" in any non-trivial deployment. SERVER_AUTH_REQUIRED: "0" CLAUDE_CONFIG_DIR: "/data/.claude" # When you want HeiCode to default to the local heicode gateway # instead of TaijiAICloud / ClawdRouter, point ANTHROPIC_BASE_URL at # the in-network address. The auth flow can override this at runtime. # ANTHROPIC_BASE_URL: "http://heicode:3000" # ANTHROPIC_AUTH_TOKEN: "" volumes: - heicode-data:/data networks: - default - heicode-network healthcheck: test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:3456/health"] interval: 15s timeout: 5s retries: 6 start_period: 20s volumes: heicode-data: networks: # `default` is automatic; we declare it only so we can list `heicode-network` # alongside it without accidentally dropping the default. default: heicode-network: external: true name: heicode_heicode-network