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. +++