A clean, self-hosted web UI for managing your Traefik reverse proxy.
  • HTML 78.5%
  • Python 15.6%
  • CSS 5.6%
  • JavaScript 0.2%
  • Dockerfile 0.1%
Find a file
2026-05-06 18:43:28 -04:00
.github fix docker workflow: add main branch trigger, update action versions 2026-05-04 16:57:45 -04:00
docs v1.0.4 2026-05-06 18:43:27 -04:00
static v1.0.4 2026-05-06 18:43:27 -04:00
templates Merge pull request #39 from akanealw/dev 2026-05-05 17:28:09 -04:00
unraid v1 beta: all v1 changes including static config editor, docs updates, UI improvements 2026-04-19 17:27:43 -04:00
.dockerignore add Unraid template and docs 2026-04-04 23:01:21 +00:00
.gitignore migrate docs from mkdocs to vitepress [skip ci] 2026-04-03 21:48:52 +00:00
app.py v1.0.4 2026-05-06 18:43:27 -04:00
CODE_OF_CONDUCT.md docs: add contributing guide, issue templates, static config section in guide 2026-04-28 18:49:44 -04:00
CONTRIBUTING.md rename v1 branch to dev in workflows and docs 2026-05-03 19:48:16 -04:00
docker-compose.yml revert CSRF changes 2026-04-04 16:44:38 +00:00
Dockerfile v1 beta: all v1 changes including static config editor, docs updates, UI improvements 2026-04-19 17:27:43 -04:00
LICENSE Initial commit 2026-03-08 22:04:47 -04:00
manager.yml v0.7.0 2026-03-29 15:54:45 +00:00
package.json v1 beta: add beta.md page and ComposeUpgrader component 2026-04-19 18:31:40 -04:00
README.md add google play button 2026-05-05 23:16:23 -04:00
requirements.txt feat: beta4 - cert resolver none, API reference, setup self-route detection, logging, dependencies 2026-05-02 00:01:33 -04:00
wrangler.toml add wrangler.toml for Cloudflare Pages 2026-04-19 16:52:00 -04:00

Traefik Manager

Traefik Manager

A clean, self-hosted web UI for managing your Traefik reverse proxy.

Add routes, manage middlewares, monitor services, and view TLS certificates - all without touching a YAML file by hand.

Docker Image License Version Docs Mobile App Google Play Ko-fi

Built for homelabbers who love Traefik but hate editing YAML at 2am.

Initial Setup Workflow
Login
1. Login
Welcome
2. Welcome
Connection & domains
3. Connection & domains
Self route
4. Self route
Optional tabs
5. Optional tabs
Set password
6. Set password
Dashboard

Dashboard

Routes
Routes – card view
Card View
Routes – list view
List View
Add HTTP route
Add HTTP
Add TCP route
Add TCP
Add UDP route
Add UDP
Services

Services – card view Services – list view

Middlewares
Middlewares – card view
Card View
Middlewares – list view
List View
Add middleware
Add
Plugins

Plugins Plugins – add

Route Map

Route Map

Settings
Settings – interface
Interface
Settings – auth
Authentication
Settings – API keys
API Keys
Settings – static config
Static Config
Settings – connection
Connection
Settings – backups
Backups

Features

Routing & Middleware

  • Add, edit, delete, and enable/disable HTTP, TCP, and UDP routes - no YAML editing required
  • Multiple domains per route - select any combination of your configured domains; generates multi-host Traefik rules (Host(\sub.d1`) || Host(`sub.d2`)`)
  • Per-service insecureSkipVerify - checkbox adds a named serversTransport for backends with self-signed certs (Proxmox, Kasm, etc.); yellow TLS skip badge shown on route cards
  • Create middlewares with built-in templates (Basic Auth, Forward Auth, Redirect, Strip Prefix)
  • Multi-config file support - mount several dynamic config files with CONFIG_DIR or CONFIG_PATHS; a dropdown selects which file each route or middleware is saved to; create new files on the fly when CONFIG_DIR is set
  • Timestamped backups before every change; one-click restore from Settings

Live Dashboard

  • Real-time stats: router counts, service health, entrypoints, Traefik version
  • Provider tabs: Docker, Kubernetes, Swarm, Nomad, ECS, Consul Catalog, Redis, etcd, Consul KV, ZooKeeper, HTTP Provider, File - all API-based, no extra mounts
  • Filter live services by protocol (HTTP/TCP/UDP) and provider (docker, file, kubernetes…)
  • List view toggle on Routes, Middlewares, and Services tabs - switch between card grid and compact table

Visualizations (optional, toggle in Settings)

  • Dashboard tab - routes grouped by category (Media, Monitoring, Infrastructure, etc.) with app icons sourced from selfh.st/icons, cached locally, and per-card editing (display name, icon override, group override)
  • Route Map tab - 4-column topology view (Entry Points - Routes - Middlewares - Services) with Bezier curve connections, hover-to-highlight, and route tooltips

Static Config Editor (optional - mount traefik.yml read-write)

  • Edit Traefik's static configuration directly from the UI - entrypoints, certificate resolvers, plugins, and a raw YAML editor (Monaco/VS Code engine) for anything else
  • Changes are staged with a pending banner, backed up before saving, and Traefik is restarted automatically
  • Three restart methods: socket proxy (recommended - sidecar with minimal socket exposure), poison pill (no socket needed - shared signal file), direct socket
  • Full-screen reconnect overlay polls until Traefik is back up and dismisses automatically

System Monitoring (optional file mounts)

  • Certs - acme.json certificates with expiry tracking
  • Plugins - plugins from your static traefik.yml; add, edit, and remove plugins when static config editor is enabled
  • Logs - parsed access log cards showing method, status, path, IP, service, and duration; click any card for a full detail panel with all fields and the raw log line
  • Configurable file paths - set acme.json, access log, and static config paths from Settings → File Paths without a container restart; UI setting takes priority over env vars

Security

  • bcrypt passwords (cost 12), CSRF protection, session management with session fixation protection
  • Optional TOTP 2FA · 7-day remember me · configurable inactivity timeout
  • Auto-generated password on first start · CLI recovery with flask reset-password
  • OIDC / SSO - sign in with Keycloak, Google, Authentik, or any OIDC-compliant provider alongside password login; access restricted to specific emails or groups; client secret stored encrypted at rest
  • Per-device API keys - up to 10 named keys (e.g. "My Phone"), each independently revocable via X-Api-Key header
  • Rate limiting on login and auth endpoints (Flask-Limiter)
  • Atomic config writes - crash-safe YAML saves via temp file + rename
  • Encrypted OTP secret - TOTP seed encrypted at rest with Fernet

Mobile App

traefik-manager-mobile is a React Native companion app for managing Traefik Manager from your phone. Requires Traefik Manager v1.0.0 or higher.

Repo github.com/chr0nzz/traefik-manager-mobile
Download Latest release
Auth Per-device API key - generate one in Settings → Authentication → App / Mobile API Keys
Get it on Google Play

Features: browse routes, middlewares, and services · enable/disable routes · add and edit routes and middlewares (12 middleware templates) · multiple domains per route · per-service insecureSkipVerify · backend scheme + pass host header controls · multi-config file picker · edit mode for bulk actions · system light/dark theme.


Quick Start

One-liner installer - installs Traefik + Traefik Manager together, or Traefik Manager on its own via Docker or a native Linux service:

curl -fsSL https://get-traefik.xyzlab.dev | bash

Manual Docker Compose:

services:
  traefik-manager:
    image: ghcr.io/chr0nzz/traefik-manager:latest
    container_name: traefik-manager
    restart: unless-stopped
    ports:
      - "5000:5000"
    environment:
      - COOKIE_SECURE=false
    volumes:
      - /path/to/traefik/dynamic.yml:/app/config/dynamic.yml
      - /path/to/traefik-manager/config:/app/config
      - /path/to/traefik-manager/backups:/app/backups
docker compose up -d

Open http://your-server:5000 - the setup wizard will guide you through the rest.


Deployment

Runtime Guide
Installer One-liner: full stack, TM-only Docker, TM-only Linux service
Docker Docker Compose setup, networking, behind Traefik
Podman Rootless, Quadlet/systemd, SELinux labels
Linux Native Python + systemd, no container required
Unraid Community Applications template, networking, multi-config

Documentation

Full documentation at traefik-manager.xyzlab.dev

Get Started Deployment guides for Docker, Podman, and Linux
Traefik Stack One-liner installer guide
Configuration manager.yml reference
Environment Variables CONFIG_DIR, CONFIG_PATHS, auth, domains, and more
Security API keys, sessions, CSRF, rate limits, and hardening
API Reference REST API for integrations and the mobile app
OIDC / SSO OIDC setup, provider examples, and access control
Mobile App Android companion app setup and features
Reset Password CLI reset, TOTP recovery, manual reset
UI Examples Screenshots and walkthroughs
Provider Tabs Docker, Kubernetes, Swarm, Nomad, ECS, and more

Tech Stack

Layer Technology
Backend Python 3.11 · Flask · Gunicorn
Config ruamel.yaml (preserves comments)
Auth bcrypt · pyotp (TOTP) · Flask sessions · CSRF · Flask-Limiter · Fernet
Frontend Vanilla JS · Tailwind CSS · Phosphor Icons
Editor Monaco Editor (VS Code engine)
Route Map dagre (graph layout)
Container Docker · Alpine Linux

Contributing

Pull requests are welcome. See CONTRIBUTING.md for how to report bugs, suggest features, and run the project locally.

Star History

Star History Chart

License

GPL-3.0