Skip to content

hhftechnology/traefik-log-dashboard

Repository files navigation

Traefik Log Dashboard

Comprehensive real-time analytics platform for Traefik reverse proxy logs

Docker Docker Stars Discord

Components

Component Description Image Size (linux/amd64)
Agent Lightweight Go service that parses Traefik logs and exposes metrics via REST API 15MB
Dashboard Vite web UI with real-time analytics, charts, and geographic visualization 151MB
CLI Terminal-based dashboard using Bubble Tea (optional) N/A

Traefik Dashboard mobile app.

appstore     googleplay

All apps are Pangolin and Basis auth supported.


dashboard client_dashboard traffic_dashboard system_dashboard overview_dashboard maps_dashboard logs_dashboard filter_dashboard

image.png

Quick Start

Get started in under 5 minutes with Docker Compose:

1. Create Project Structure

mkdir -p traefik-dashboard/data/{logs,positions,dashboard}
cd traefik-dashboard

2. Create docker-compose.yml

services:
  traefik-agent:
    image: hhftechnology/traefik-log-dashboard-agent:latest
    container_name: traefik-log-dashboard-agent
    restart: unless-stopped
    ports:
      - "5000:5000"
    volumes:
      - ./data/logs:/logs:ro
      - ./data/positions:/data
    environment:
      - TRAEFIK_LOG_DASHBOARD_ACCESS_PATH=/logs/access.log
      - TRAEFIK_LOG_DASHBOARD_ERROR_PATH=/logs/traefik.log
      - TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN=your_secure_token_here
      - TRAEFIK_LOG_DASHBOARD_SYSTEM_MONITORING=true
      - TRAEFIK_LOG_DASHBOARD_LOG_FORMAT=json
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/api/logs/status"]
      interval: 2m
      timeout: 10s
      retries: 3
      start_period: 30s
    networks:
      - pangolin

  traefik-dashboard:
    image: hhftechnology/traefik-log-dashboard:latest
    container_name: traefik-log-dashboard
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ./data/dashboard:/app/data
      - ./data/positions:/data
    environment:
      # Agent Configuration - REPLACE WITH YOUR TOKEN
      - AGENT_API_URL=http://traefik-agent:5000
      - AGENT_API_TOKEN=d41d8cd98f00b204e9800998ecf8427e
      - AGENT_NAME=Default Agent
      
      # Node Environment
      - NODE_ENV=production
      - PORT=3000
      
      # Display Configuration
      - NEXT_PUBLIC_SHOW_DEMO_PAGE=true
      - NEXT_PUBLIC_MAX_LOGS_DISPLAY=500
    depends_on:
      traefik-agent:
        condition: service_healthy
    networks:
      - pangolin

networks:
  pangolin:
    external: true

3. Generate Secure Token

openssl rand -hex 32

Update both TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN and AGENT_API_TOKEN with this value.

4. Start Services

# Create network if it doesn't exist
docker network create traefik-network 2>/dev/null || true

# Start services
docker compose up -d

5. Access Dashboard

Open http://localhost:3000 in your browser.


Key Features

  • Multi-Agent Architecture - Manage multiple Traefik instances from a single dashboard
  • Interactive 3D Globe - Geographic visualization with smooth map transitions
  • Automatic GeoIP - IP geolocation works out of the box (no setup required)
  • Advanced Filtering - Include/exclude modes, geographic and custom filters
  • Background Alerting - Discord webhooks, daily summaries, threshold alerts
  • High Performance - Go-based agent, optimized log parsing, position tracking
  • Terminal Dashboard - Beautiful CLI with Bubble Tea (optional)

Environment Variables

Agent

Variable Description Default
TRAEFIK_LOG_DASHBOARD_ACCESS_PATH Path to access log file/directory /var/log/traefik/access.log
TRAEFIK_LOG_DASHBOARD_ERROR_PATH Path to error log file/directory /var/log/traefik/traefik.log
TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN Authentication token Required
TRAEFIK_LOG_DASHBOARD_SYSTEM_MONITORING Enable system monitoring true
TRAEFIK_LOG_DASHBOARD_LOG_FORMAT Log format (json or common) json
PORT Agent listen port 5000

Dashboard

Variable Description Default
AGENT_1_URL First environment agent URL Required (or DASHBOARD_AGENTS_JSON)
AGENT_1_TOKEN First environment agent token Optional
AGENT_1_NAME First environment agent name Agent 1
AGENT_2_URL, AGENT_3_URL, ... Additional environment agents Optional
DASHBOARD_AGENTS_ENV_ONLY Disable UI/API agent mutations false
DASHBOARD_REFRESH_INTERVAL_MS Refresh interval 5000
DASHBOARD_MAX_LOGS_DISPLAY Max logs retained in dashboard state 1000
DASHBOARD_TRAFFIC_TOP_ITEMS_LIMIT Top-N shown in Traffic lists 10
DASHBOARD_PARSER_TREND_WINDOW_MINUTES Parser sparkline trend window (15-30) 30
SHOW_DEMO_PAGE Show demo mode link true
GEOIP_LOOKUP_ENABLED Enable dashboard GeoIP lookup API true
GEOIP_PROVIDER_BASE_URL GeoIP provider base URL https://ipwho.is
GEOIP_PROVIDER_URLS Comma-separated GeoIP provider fallback list Uses GEOIP_PROVIDER_BASE_URL
GEOIP_LOCAL_DB_PATH Optional local MaxMind MMDB path "" (disabled)
GEOIP_UNKNOWN_CACHE_TTL_MS Cache TTL for unresolved lookups 300000

Legacy fallback (still supported): AGENT_API_URL, AGENT_API_TOKEN, AGENT_NAME.

GeoIP mode: The dashboard uses a hybrid resolver chain:

  1. Optional local MMDB (GEOIP_LOCAL_DB_PATH)
  2. HTTP provider fallback (GEOIP_PROVIDER_URLS / GEOIP_PROVIDER_BASE_URL)

Example production GeoIP configuration:

services:
  traefik-dashboard:
    volumes:
      - ./data/geoip:/geoip:ro
    environment:
      - GEOIP_LOCAL_DB_PATH=/geoip/GeoLite2-City.mmdb
      - GEOIP_PROVIDER_URLS=https://ipwho.is,https://ip-api.com/json
      - GEOIP_UNKNOWN_CACHE_TTL_MS=300000

Documentation

Full documentation available at: https://traefik-log-dashboard.hhf.technology

Or run locally:

cd docs && npm install && npm run dev

Community & Support


License

This project is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE - see the LICENSE file for details.


Made with ❤️ for the Traefik community

⭐ Star this repo if you find it helpful!

GitHub | Discord | Documentation

About

A real-time dashboard for analyzing Traefik logs in UI with IP geolocation, status code analysis, and service metrics. Built with React (Shadcn UI) and Node.js.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors