github chr0nzz/traefik-manager v1.0.0

4 hours ago

What's New

  • Static Config Editor - manage entrypoints, cert resolvers, providers, and plugins directly from the UI. Three restart methods: socket proxy, direct socket, poison pill. Raw YAML editor (Monaco) available as a fallback. The install script configures everything automatically. See Static Config and Enable Static Config.
  • Cert resolver "none" - set cert resolver to none for external cert management. TM writes tls: {} with no certResolver. (#30)
  • Plugin management - add, edit, and remove plugins from the Plugins tab when static config is mounted and writable. Provider template editor with pre-filled templates for all 12 provider types.
  • Route map overhaul - dagre layout engine for automatic node positioning (#27), click-to-inspect popup, hover highlighting for all node types, mobile pan and pinch-zoom, filter by protocol/provider/entry point.
  • Active / Inactive route filter - quickly surface disabled routes from the Routes tab.
  • Keyboard shortcuts - Shift+? opens the panel. Navigate tabs, create routes/middlewares, open settings.
  • Install script improvements - auto-configures static config and restart method; handles systemd-to-systemd Traefik setups.

Bug Fixes

  • Cert resolver defaulting to cloudflare - blank or none now correctly writes tls: {} with no resolver; TCP routes fixed too
  • Target/IP N/A for file-provider routes - falls back to Traefik API service map for tools like TraefikKobling (#28)
  • Remember me not persisting
  • FOUC on page load - preferences applied before first paint
  • Login page theme - correct theme applied before paint
  • Plugin middleware Go template crash - {{ }} syntax no longer crashes Traefik's file provider
  • Certificates tab expiry shows "Invalid" on mobile
  • Enabling a tab requires page refresh
  • Self-route entrypoint - auto-fix button for invalid entrypoints; defaults to first port-443 entrypoint instead of hardcoded websecure
  • Route edit - stuck entrypoints - unknown entrypoint chips now visible and removable

Security

XSS, CSRF bypass with invalid API keys, OIDC nonce verification, SSRF logging, Remember Me inactivity timeout, API key hashing switched from bcrypt to SHA-256.


Performance

  • Filter inputs use cached element array instead of full DOM traversal
  • Services render loop O(n²) eliminated

Dependencies

All Python dependencies updated to latest stable:

Package v0.12.x v1.0.0
Flask 3.0.0 3.1.3
cryptography 42.0.5 47.0.0
bcrypt 4.1.2 5.0.0
requests 2.31.0 2.33.1
ruamel.yaml 0.18.5 0.19.1
flask-limiter 3.8.0 4.1.1

Upgrading from v0.12.x

No breaking changes. Pull and restart:

docker compose pull && docker compose up -d

Static Config Editor is optional and off by default. See Enable Static Config or re-run the install script.

Full docs: traefik-manager.xyzlab.dev

Don't miss a new traefik-manager release

NewReleases is sending notifications on new releases.