package

github.com/Aspenini/patty

0.2.1 / published Jun 18, 2026 / repository

Patty — pick your Caddy. A local/LAN web app for managing installed apps and their Caddy routes.

Patty

Pick your Caddy.

Patty is a local web app for turning apps and Caddy routes on and off. You write small .pattyfile profiles, Patty validates the Caddy config, and you manage everything from one dashboard.

Quick start

Build and run (needs Crystal and just):

just setup
just build
just run

Open http://127.0.0.1:7629, set an admin password, and add a profile.

Windows: just run launches pattyw.exe, a small tray wrapper that starts patty.exe run without a console. Use patty.exe from the terminal for CLI commands.

Pattyfiles

Put profiles in Patty's data folder. The filename is the profile name, e.g. jellyfin.pattyfile.

program: jellyfin

caddy: |
  jellyfin.localhost {
      reverse_proxy 127.0.0.1:8096
  }

program is optional (starts/stops a Windows service, systemd unit, or Homebrew service). caddy is required.

Caddy-only example:

caddy: |
  files.localhost {
      root * /srv/files
      file_server
  }

CLI

patty run             Start the web server
patty doctor          Check Caddy, services, and routes
patty install         Start Patty after sign-in
patty uninstall       Remove automatic startup
patty reset-password  Clear the admin password
patty reset-mfa       Disable MFA
patty version         Show version

Where stuff lives

  • Data (profiles, config, auth): %APPDATA%\Patty (Windows), ~/Library/Application Support/Patty (macOS), ~/.local/share/patty (Linux)
  • Logs: %LOCALAPPDATA%\Patty\Logs (Windows), ~/Library/Logs/Patty (macOS), ~/.local/state/patty (Linux)

Set PATTY_HOME to use a different data directory.

Notes

  • Caddy must be on PATH or configured in Settings.
  • Patty binds to 127.0.0.1 by default.
  • Optional MFA and dashboard forwarding are in Settings.

API