The trio ran as bare compose containers and died silently at the Aug 26 reboot — nothing restarts compose containers at boot. Each now has a boot-persistent unit (WantedBy=default.target; the v1 quadlet generator on this host cannot enable generated units). The deploy handler retires the compose-era containers only while the units are not yet active, then (re)starts each unit. Units run the image under a localhost/hermes-agent:latest alias tag (the quadlet create path on this host cannot resolve registry-prefixed refs from local storage); the deploy handler tags first. The gateway's :8090 publish is dropped — nothing consumes it; the public vhost now routes to the dashboard's login-gated UI on 9119.
32 lines
1.0 KiB
INI
32 lines
1.0 KiB
INI
# Quadlet unit: Hermes web dashboard (rootless, boot-persistent).
|
|
#
|
|
# Install path on dankclaw: ~/.config/containers/systemd/hermes-dashboard.container
|
|
# Unit name: hermes-dashboard.service (container name: hermes-dashboard)
|
|
#
|
|
# Management UI for the agent (config, API keys, sessions). Published on
|
|
# 9119 so Caddy's internal listener can reverse-proxy it; the public vhost
|
|
# hermes.franksdank.cloud terminates Authentik auth first, so this port is
|
|
# reachable from the LAN but gated twice (Authentik + its own login).
|
|
# Shares /data with the gateway: same agent state, two processes.
|
|
|
|
[Unit]
|
|
Description=Hermes web dashboard container
|
|
|
|
[Container]
|
|
ContainerName=hermes-dashboard
|
|
Image=localhost/hermes-agent:latest
|
|
Pull=never
|
|
Network=dankclaw_default
|
|
Environment=HERMES_DATA_DIR=/data
|
|
Environment=HERMES_HOME=/data
|
|
Volume=/home/dank/hermes-data:/data
|
|
PublishPort=9119:9119
|
|
Exec=bash -c 'hermes dashboard --host 0.0.0.0 --port 9119 --no-open --skip-build'
|
|
|
|
[Service]
|
|
Restart=always
|
|
RestartSec=5
|
|
|
|
[Install]
|
|
WantedBy=default.target
|