homelab-codex-ws/hosts/vps/services.yaml

122 lines
2.7 KiB
YAML

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: []
npm:
role: reverse-proxy-ingress
deployment_model: docker-compose
exposure: public
offline_required: false
depends_on:
local: []
external: []
ports:
- name: http
container_port: 80
protocol: tcp
- name: https
container_port: 443
protocol: tcp
- name: admin
container_port: 81
protocol: tcp
runtime:
data_path: /home/dockeruser/docker/npm/data
config_path: /opt/homelab/config/npm
outline:
role: team-wiki
deployment_model: docker-compose
exposure: public
offline_required: false
depends_on:
local:
- npm
external: []
ports:
- name: http
container_port: 3000
protocol: tcp
runtime:
config_path: /opt/homelab/config/outline
joplin:
role: note-sync-server
deployment_model: docker-compose
exposure: tailscale-internal
offline_required: false
depends_on:
local:
- npm
external: []
ports:
- name: http
container_port: 22300
bind: 127.0.0.1
protocol: tcp
runtime:
config_path: /opt/homelab/config/joplin
ai-cluster:
role: ai-worker-cluster
deployment_model: docker-compose
exposure: tailscale-internal
offline_required: false
depends_on:
local: []
external:
- piha:gateway
ports:
- name: openclaw-api
container_port: 8000
protocol: tcp
- name: mqtt
container_port: 1883
protocol: tcp
bind: tailscale
runtime:
config_path: /opt/homelab/config/ai-cluster
notes:
- "Local images must be built on VPS — not pulled from registry"
- "Compute workloads belong on SOLARIA; migrate when possible"