Tools

tools/

Operational scripts for Claw.

claw-service — add/remove a web service end-to-end

claw-service add <name> <image> <container_port> [--icon <tabler-icon>] [--net] [--env K=V]... [--volume HOST:CT]... [--dry-run]
claw-service remove <name> [--purge] [--dry-run]

add does the whole dance: allocates ports (app 8096+, Anubis 8926+, skipping 8914/8918/8919), creates ~/<name>-app/, writes <name>.container + anubis-<name>.container quadlets (shared Ed25519 key, AutoUpdate), starts them, appends + validates + reloads the Caddyfile vhost (<name>.eazyplugins.com, import anubis chain, auto-revert on invalid config), adds the Flame dashboard app entry with icon, writes claw/salt/<name>.sls + top.sls entry, commits and pushes to GitHub + Forgejo.

remove reverses it: stops/destroys containers and quadlets, removes the Caddy vhost (validated before swap), removes the Flame entry, drops the network if unused. Data and salt state are kept unless --purge.

Install: ln -sf ~/homelab/tools/claw-service ~/bin/claw-service (already linked on Claw).

Protected names (script refuses): flame, anubis, jitsi, hermes, caddy, searxng, docker-jitsi-meet. +++