Traefik Log Dashboard

Environment Variables

Complete list of environment variables

Agent Environment Variables

The agent is a lightweight Go service that reads and serves Traefik logs.

VariableDescriptionDefaultRequired
TRAEFIK_LOG_DASHBOARD_ACCESS_PATHPath to Traefik access log file or directory/var/log/traefik/access.logYes
TRAEFIK_LOG_DASHBOARD_ERROR_PATHPath to Traefik error log file or directory/var/log/traefik/traefik.logNo
TRAEFIK_LOG_DASHBOARD_AUTH_TOKENBearer token for authentication-Yes
TRAEFIK_LOG_DASHBOARD_LOG_FORMATLog format (json or common)jsonNo
TRAEFIK_LOG_DASHBOARD_SYSTEM_MONITORINGEnable CPU/memory/disk monitoringtrueNo
TRAEFIK_LOG_DASHBOARD_MONITOR_INTERVALSystem monitoring interval (ms)2000No
POSITION_FILEFile to store log read positions/data/.positionNo
PORTAgent listen port5000No

Example Agent Configuration

environment:
  - TRAEFIK_LOG_DASHBOARD_ACCESS_PATH=/logs/access.log
  - TRAEFIK_LOG_DASHBOARD_ERROR_PATH=/logs/traefik.log
  - TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN=your-secret-token
  - TRAEFIK_LOG_DASHBOARD_SYSTEM_MONITORING=true
  - TRAEFIK_LOG_DASHBOARD_LOG_FORMAT=json
  - PORT=5000

Dashboard Environment Variables

The dashboard server reads runtime environment variables directly (Docker Compose-friendly).

Agent Configuration (Environment-Managed)

VariableDescriptionDefaultRequired
AGENT_1_URLURL of first environment agent-Yes (or DASHBOARD_AGENTS_JSON)
AGENT_1_TOKENToken for first environment agent""No
AGENT_1_NAMEDisplay name for first environment agentAgent 1No
AGENT_1_IDStable agent id (must be unique)agent-env-1No
AGENT_1_LOCATIONon-site or off-siteon-siteNo
AGENT_1_DESCRIPTIONOptional description-No
AGENT_1_TAGSComma-separated tags-No
AGENT_2_URL, AGENT_3_URL, ...Additional agents using the same key pattern-No
DASHBOARD_AGENTS_JSONJSON array alternative for multi-agent config-No
DASHBOARD_AGENTS_ENV_ONLYDisable UI/API agent mutations (true = env-only)falseNo

Legacy fallback (kept for compatibility): AGENT_API_URL, AGENT_API_TOKEN, AGENT_NAME.

Display Configuration

VariableDescriptionDefaultRequired
DASHBOARD_REFRESH_INTERVAL_MSRefresh/poll interval5000No
DASHBOARD_MAX_LOGS_DISPLAYMaximum logs retained in dashboard state1000No
DASHBOARD_TRAFFIC_TOP_ITEMS_LIMITTop-N shown in Traffic cards/lists10No
DASHBOARD_PARSER_TREND_WINDOW_MINUTESParser trend window in System tab (15-30)30No
DASHBOARD_HIDE_INTERNAL_TRAFFIC_DEFAULTDefault state for header toggle to hide dashboard/agent noise traffictrueNo
DASHBOARD_INTERNAL_NOISE_PATH_PREFIXESComma-separated request path prefixes treated as internal noise/api/system/resources,/api/logs/status,/api/location,/api/dashboard/agents/check-statusNo
DASHBOARD_INTERNAL_NOISE_SERVICE_PATTERNSComma-separated ServiceName/RouterName substrings treated as internal noisedashboard,agent,traefik-log-dashboard,log-dashboardNo
SHOW_DEMO_PAGEShow demo dashboard linktrueNo
DASHBOARD_DENSITYUI density (compact, comfortable)comfortableNo

GeoIP Configuration

Geographic lookup is handled by the dashboard /api/location/* service.

VariableDescriptionDefaultRequired
GEOIP_LOOKUP_ENABLEDEnable/disable GeoIP lookup servicetrueNo
GEOIP_LOCAL_DB_PATHOptional local GeoLite2/MaxMind MMDB path (country or city DB)""No
GEOIP_PROVIDER_BASE_URLGeo provider base URLhttps://ipwho.isNo
GEOIP_PROVIDER_URLSComma-separated provider list for ordered HTTP fallbackUses GEOIP_PROVIDER_BASE_URLNo
GEOIP_LOOKUP_TIMEOUT_MSLookup timeout (ms)3500No
GEOIP_LOOKUP_MAX_IPSMax IPs per lookup request256No
GEOIP_LOOKUP_CONCURRENCYParallel lookups per request10No
GEOIP_LOOKUP_CACHE_TTL_MSCache TTL (ms)3600000No
GEOIP_UNKNOWN_CACHE_TTL_MSCache TTL for unresolved (Unknown) lookups300000No
GEOIP_LOOKUP_CACHE_MAX_ENTRIESMax cache entries10000No

Server Configuration

VariableDescriptionDefaultRequired
NODE_ENVNode environmentproductionNo
PORTDashboard listen port3000No
DATA_DIRData directory for dashboard SQLite/dataNo
BASE_PATHBase path for reverse-proxy deployments""No
BASE_DOMAINBase domain override""No

Security Configuration

VariableDescriptionDefaultRequired
ALERTS_API_KEYAPI key required for alert mutation endpoints""No
ALERT_ALLOW_PRIVATE_WEBHOOKSAllow private network webhook targetsfalseNo

Alert Scheduler Configuration

VariableDescriptionDefaultRequired
ALERT_SCHEDULER_INTERVAL_MSScheduler execution interval300000 (5 min)No
ALERT_FETCH_LINESAccess lines fetched per alert evaluation5000No

Example Dashboard Configuration (Compose)

environment:
  # Multi-agent env configuration
  - AGENT_1_NAME=Primary
  - AGENT_1_URL=http://traefik-agent:5000
  - AGENT_1_TOKEN=your-secret-token
  - AGENT_2_NAME=Staging
  - AGENT_2_URL=http://staging-agent:5000
  - AGENT_2_TOKEN=staging-secret-token
  - DASHBOARD_AGENTS_ENV_ONLY=true

  # Display / UI
  - DASHBOARD_REFRESH_INTERVAL_MS=5000
  - DASHBOARD_MAX_LOGS_DISPLAY=1000
  - DASHBOARD_TRAFFIC_TOP_ITEMS_LIMIT=25
  - DASHBOARD_PARSER_TREND_WINDOW_MINUTES=30
  - DASHBOARD_HIDE_INTERNAL_TRAFFIC_DEFAULT=true
  - DASHBOARD_INTERNAL_NOISE_PATH_PREFIXES=/api/system/resources,/api/logs/status,/api/location,/api/dashboard/agents/check-status
  - DASHBOARD_INTERNAL_NOISE_SERVICE_PATTERNS=dashboard,agent,traefik-log-dashboard,log-dashboard
  - SHOW_DEMO_PAGE=true
  - GEOIP_LOOKUP_ENABLED=true
  - GEOIP_LOCAL_DB_PATH=/geoip/GeoLite2-City.mmdb
  - GEOIP_PROVIDER_URLS=https://ipwho.is,https://ip-api.com/json
  - GEOIP_PROVIDER_BASE_URL=https://ipwho.is
  - GEOIP_UNKNOWN_CACHE_TTL_MS=300000

  # Server
  - NODE_ENV=production
  - PORT=3000

Compose Compatibility Notes

  • Runtime dashboard variables above can all be set directly in docker-compose.yml.
  • Build-time VITE_* values are development/build variables, not runtime container settings.

CLI Environment Variables

The CLI is a terminal-based dashboard application.

VariableDescriptionDefaultRequired
TRAEFIK_LOG_DASHBOARD_ACCESS_PATHPath to Traefik access log-Yes (file mode)
TRAEFIK_LOG_DASHBOARD_AGENT_URLAgent API URL-Yes (agent mode)
TRAEFIK_LOG_DASHBOARD_AUTH_TOKENAgent authentication token-Yes (agent mode)

Complete Docker Compose Example

services:
  traefik-agent:
    image: hhftechnology/traefik-log-dashboard-agent:latest
    environment:
      - TRAEFIK_LOG_DASHBOARD_ACCESS_PATH=/logs/access.log
      - TRAEFIK_LOG_DASHBOARD_ERROR_PATH=/logs/traefik.log
      - TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN=your-secret-token
      - TRAEFIK_LOG_DASHBOARD_SYSTEM_MONITORING=true
      - TRAEFIK_LOG_DASHBOARD_LOG_FORMAT=json
      - PORT=5000
    volumes:
      - /var/log/traefik:/logs:ro
      - ./data/positions:/data

  traefik-dashboard:
    image: hhftechnology/traefik-log-dashboard:latest
    environment:
      - AGENT_API_URL=http://traefik-agent:5000
      - AGENT_API_TOKEN=your-secret-token
      - AGENT_NAME=Production Agent
      - NODE_ENV=production
      - PORT=3000
    volumes:
      - ./data/dashboard:/app/data
    depends_on:
      - traefik-agent

On this page