host: vps services: node-agent: role: node-stability-monitor deployment_model: docker-compose exposure: local-only offline_required: true depends_on: local: [] external: [] runtime: config_path: /opt/homelab/config/node-agent data_path: /opt/homelab/state logs_path: /opt/homelab/events control-plane: role: management-and-orchestration deployment_model: docker-compose exposure: tailscale-internal offline_required: false depends_on: local: - node-agent external: - piha:redis ports: - name: http container_port: 18180 protocol: tcp runtime: config_path: /opt/homelab/config/control-plane data_path: /opt/homelab/data/control-plane logs_path: /opt/homelab/logs/control-plane node_exporter: role: metrics-exporter deployment_model: docker-compose exposure: local-only offline_required: true depends_on: local: [] external: [] fleet-prometheus: role: fleet-liveness-source deployment_model: docker-compose exposure: tailscale-internal offline_required: false depends_on: local: - node_exporter external: [] ports: - name: http container_port: 9090 protocol: tcp runtime: config_path: /opt/homelab/config/fleet-prometheus data_path: /opt/homelab/data/fleet-prometheus logs_path: /opt/homelab/logs/fleet-prometheus gokapi: role: public-file-share deployment_model: docker-compose exposure: public offline_required: false depends_on: local: [] external: [] ports: - name: http container_port: 53842 protocol: tcp runtime: config_path: /opt/homelab/config/gokapi data_path: /opt/homelab/data/gokapi logs_path: /opt/homelab/logs/gokapi