# StackPilot agent — deploy this on each remote host you want to manage. # It needs only the Docker socket and a shared AGENT_TOKEN (must match the # token you enter when adding this host in the central StackPilot UI). services: agent: image: git.menzel.center/menzeljonas/stackpilot-agent:latest build: context: . args: BACKEND_IMAGE: git.menzel.center/menzeljonas/stackpilot-backend:latest restart: unless-stopped environment: - AGENT_TOKEN=${AGENT_TOKEN:?set AGENT_TOKEN in .env} - STACKS_DIR=/opt/stacks - HOST_PROC_PATH=/host_proc volumes: - /var/run/docker.sock:/var/run/docker.sock # Same rule as the central app: this must resolve to the same path as # STACKS_DIR, or the stacks' relative bind mounts (./config) end up at the # container path on the host, where the agent cannot see them. - ${STACKS_HOST_DIR:-/opt/stacks}:/opt/stacks - /proc:/host_proc:ro # Read-only host devices for status/detection parity with the main host. - /dev:/dev:ro ports: - "5010:5010"