create-swag-config

Installation
SKILL.md

create-swag-config

Add a new reverse proxy entry to SWAG (LinuxServer.io) on host squirts. SWAG fronts every *.tootie.tv subdomain — currently ~128 active configs. Every entry is one file at /mnt/appdata/swag/nginx/proxy-confs/<service>.subdomain.conf rendered from a single canonical Jinja2 template (mcp.subdomain.conf.j2) that supports OAuth-protected /mcp, optional Authelia gating on /, and MCP streaming semantics.

Layout on squirts:

  • Repo: ~/code/swag-mcp/
  • Template: ~/code/swag-mcp/templates/mcp.subdomain.conf.j2
  • Deployed includes: /mnt/appdata/swag/nginx/{mcp-server,mcp-location,authelia-server,authelia-location,proxy,resolver,ssl}.conf
  • Deployed configs: /mnt/appdata/swag/nginx/proxy-confs/*.subdomain.conf
  • SWAG container: swag (image lscr.io/linuxserver/swag)
  • swag-mcp container: swag-mcp (image ghcr.io/jmagar/swag-mcp:<ver>)

Preferred path — call swag-mcp

swag-mcp is an MCP server that owns SWAG config CRUD. Use it instead of hand-editing whenever possible. It validates inputs, renders the canonical template, writes the file with the correct name, keeps backups of replaced configs, and exposes health checks. Hand-editing exists as a fallback, not a default.

The server is registered in ~/.claude.json as swag (URL: https://swag.tootie.tv/mcp). It exposes one action-routed tool — swag — plus a swag_help reference tool. All operations go through swag with an action parameter.

Installs
1
Repository
jmagar/lab
GitHub Stars
1
First Seen
14 days ago
create-swag-config — jmagar/lab