How chr0nzz/traefik-manager works
Traefik Manager is a self-hosted web application for managing Traefik without hand-editing YAML. The main workflow is an administrator using the UI to inspect or change routes and related configuration, which the Flask application exposes and persists; monitoring and notifications provide ongoing operational feedback. The README documents broader capabilities such as certificates, CrowdSec, provider views, backups, and remote agents. Several connections reflect documented capabilities or imports; unsampled implementation details are not inferred.
Main entry points: app.py Flask application · monitor.py Background monitor · routes_build.py Route config builder · settings.py Settings store
Components 34
Web interface
- Management UI
static/js/core.js - Route editor
static/js/routes.js - Service editor
static/js/services.js - Settings UI
static/js/settings-modal.js - Logs and analytics UI
static/js/logs.js - CrowdSec UI
static/js/crowdsec.js
Traefik management
- Flask application
app.py - Route config builder
core/routes_build.py - Composite services
core/composite_services.py - Service ownership
core/service_ownership.py - Traefik API access
core/traefik.py - Dynamic config files
core/config.py - Backups and restore
core/backups.py - Git backup integration
core/git.py
Operations and insights
- Certificate management
core/certs.py - ACME certificate store
core/acme_store.py - Background monitor
core/monitor.py - Route health checks
core/route_health.py - CrowdSec insights
core/crowdsec.py - GeoIP enrichment
core/geoip.py - Notification dispatch
core/notifications.py - Notification providers
core/notify_providers.py - Provider discovery
core/providers.py - Release checks
core/updates.py
Identity and agents
- Authentication
core/auth.py - OIDC token handling
core/oidc_tokens.py - Agent HTTP client
core/agents_http.py - Agent registry
core/agents_store.py - Remote host agent
agent/handlers.go
Shared runtime
- Settings store
core/settings.py - Secret encryption
core/crypto.py - Rate-limit state
core/rate_store.py - Runtime environment
core/env.py
Other components
- Administrator
Connections 36
- Administrator → Management UI: uses
README.md - Management UI → Flask application: requests management
README.md - Route editor → Flask application: edits routes
README.md - Service editor → Flask application: edits services
README.md - Settings UI → Flask application: changes settings
README.md - Flask application → Route config builder: uses
app.py - Flask application → Composite services: uses
app.py - Flask application → Service ownership: uses
app.py - Flask application → Dynamic config files: reads and writes
app.py - Route config builder → Dynamic config files: builds config
core/routes_build.py - Route config builder → Traefik API access: uses
core/routes_build.py - Composite services → Service ownership: uses
core/composite_services.py - Flask application → Certificate management: manages
app.py - Flask application → ACME certificate store: uses
app.py - Flask application → Background monitor: uses
app.py - Background monitor → Traefik API access: queries
core/monitor.py - Background monitor → CrowdSec insights: checks
core/monitor.py - Background monitor → GeoIP enrichment: checks
core/monitor.py - Background monitor → Notification dispatch: raises alerts
core/monitor.py - Background monitor → Provider discovery: discovers tabs
core/monitor.py - Route health checks → Background monitor: uses monitor state
core/route_health.py - Flask application → Notification dispatch: uses
app.py - Notification dispatch → Notification providers: delivers through
core/notifications.py - Flask application → Authentication: uses
app.py - Authentication → Rate-limit state: tracks attempts
core/auth.py - Flask application → Settings store: uses
app.py - Settings store → Secret encryption: encrypts secrets
core/settings.py - Settings store → Agent registry: loads registry
core/settings.py - Flask application → Agent HTTP client: uses
app.py - Agent HTTP client → Remote host agent: sends requests
README.md - Flask application → Backups and restore: uses
app.py - Flask application → Git backup integration: uses
app.py - Logs and analytics UI → Flask application: requests logs
README.md - CrowdSec UI → Flask application: views CrowdSec
README.md - Flask application → Release checks: checks releases
README.md - Flask application → Runtime environment: uses runtime paths
app.py