# Optional outbound Node Agent overlay. The control plane receives no GPU device. services: node-agent: build: context: . dockerfile: node-agent/Dockerfile hostname: ${MODELFORGE_AGENT_HOSTNAME:-modelforge-workstation-agent} env_file: - path: .env required: false environment: MODELFORGE_AGENT_CONTROL_PLANE_URL: http://api:8000 MODELFORGE_AGENT_ENROLLMENT_TOKEN: ${MODELFORGE_AGENT_ENROLLMENT_TOKEN:-} MODELFORGE_AGENT_IDENTITY_MODE: persisted MODELFORGE_AGENT_ACCELERATOR_MODE: nvidia MODELFORGE_AGENT_IDENTITY_FILE: /data/state/node-id MODELFORGE_AGENT_CREDENTIAL_FILE: /data/state/node-credential MODELFORGE_AGENT_STATE_FILE: /data/state/agent-state.json MODELFORGE_AGENT_TLS_VERIFY: "false" MODELFORGE_AGENT_HF_TOKEN: ${MODELFORGE_HF_TOKEN:-} volumes: - node-agent-state:/data/state - hf-cache:/data/hf-cache - model-artifacts:/data/artifacts - quarantine:/data/quarantine read_only: true tmpfs: - /tmp:size=64m,mode=1777 cap_drop: - ALL security_opt: - no-new-privileges:true depends_on: api: condition: service_healthy restart: unless-stopped deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] volumes: node-agent-state: