homelab-butler/butler.yaml

142 lines
3.4 KiB
YAML

# Butler Service Configuration
# Mount this file to /data/butler.yaml in the container
# Changes are picked up on restart (or POST /config/reload)
services:
dockhand:
url: "http://10.4.1.116:3000"
auth: session
vault_key: dockhand_password
description: "Docker management UI"
health_path: "/api/health"
redact_response_fields: [hawserToken, webhookSecret]
sonarr:
url: "http://10.2.1.100:8989"
auth: apikey
key_file: sonarr
vault_key: sonarr_uhd_key
description: "TV show management (UHD)"
health_path: "/ping"
sonarr1080p:
auth: apikey_urlfile
key_file: sonarr1080p
description: "TV show management (1080p)"
radarr:
url: "http://10.2.1.100:7878"
auth: apikey
key_file: radarr
vault_key: radarr_uhd_key
description: "Movie management (UHD)"
health_path: "/ping"
radarr1080p:
auth: apikey_urlfile
key_file: radarr1080p
description: "Movie management (1080p)"
seerr:
url: "http://10.2.1.100:5055"
auth: apikey
key_file: seer
vault_key: seerr_api_key
description: "Media request management"
health_path: "/api/v1/status"
outline:
url: "http://10.1.1.100:3000"
auth: bearer
key_file: outline
vault_key: outline_api_key
description: "Wiki"
n8n:
url: "http://10.4.1.113:5678"
auth: n8n
key_file: n8n
vault_key: n8n_api_key
description: "Workflow automation"
health_path: "/healthz"
proxmox:
url: "https://10.5.85.11:8006"
auth: proxmox
description: "Proxmox VE cluster API"
homeassistant:
url: "http://10.10.1.1:8123"
auth: bearer
key_file: homeassistent
vault_key: ha_token
description: "Home automation"
health_path: "/api/"
grafana:
url: "http://10.1.1.111:3000"
auth: bearer
key_file: grafana
vault_key: grafana_api_key
description: "Monitoring dashboards"
health_path: "/api/health"
uptime:
url: "http://10.5.85.5:3001"
auth: bearer
key_file: uptime
vault_key: uptime_api_key
description: "Uptime Kuma web UI on automation1 (no supported REST API)"
waha:
url: "http://10.4.1.110:3500"
auth: apikey
key_file: waha_api_key
vault_key: waha_api_key
description: "WhatsApp API"
health_path: "/api/sessions"
health_expected: [200]
forgejo:
url: "http://10.4.1.116:3001"
auth: bearer
key_file: forgejo
vault_key: forgejo_token
description: "Git server (Gitea fork)"
health_path: "/api/healthz"
semaphore:
url: "http://10.4.1.116:3010"
auth: bearer
key_file: semaphore
vault_key: semaphore_token
description: "Ansible UI/API"
health_path: "/api/projects"
health_expected: [200]
fileflows:
url: "http://10.2.1.104:8268"
auth: none
description: "Media processing and transcoding"
health_path: "/"
timeout: 300
# VM lifecycle settings
vm:
automation_host: "sascha@10.5.85.5"
iso_builder_path: "/app-config/ansible/iso-builder/build-iso.sh"
proxmox_url: "https://10.5.85.11:8006"
default_password: "GT500r8"
ansible_base_path: "/app-config/ansible"
inventory_file: "/app-config/ansible/pfannkuchen.ini"
default_group: "auto"
default_user: "sascha"
# TTS settings
tts:
speaker_url: "http://10.5.85.2:10800"
chatterbox_url: "http://10.2.1.104:8004/tts"
chatterbox_health_url: "http://10.2.1.104:8004/api/model-info"
default_voice: "deep_thought.mp3"
hermes_host: "sascha@10.4.1.100"
ogg_path: "/tmp/trulla_voice.ogg"