Files
compose-files/gamma.yaml
T
2026-06-22 23:08:45 -07:00

74 lines
2.8 KiB
YAML

services:
# Traefik Log Dashboard Agent
traefik-agent:
image: hhftechnology/traefik-log-dashboard-agent:latest
hostname: traefik-agent
volumes:
- /volume1/docker/traefik/logs:/logs:ro # Mount Traefik logs as read-only
- /volume1/docker/traefik-agent/data/geoip:/geoip:ro # Optional: GeoIP databases
- /volume1/docker/traefik-agent/data/positions:/data # Position tracking
environment:
# Log Paths
- TRAEFIK_LOG_DASHBOARD_ACCESS_PATH=/logs/access.log
- TRAEFIK_LOG_DASHBOARD_ERROR_PATH=/logs/access.log
# Authentication - Generate a strong token!
- TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN=${TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN}
# System Monitoring
- TRAEFIK_LOG_DASHBOARD_SYSTEM_MONITORING=true
# GeoIP Configuration
- TRAEFIK_LOG_DASHBOARD_GEOIP_ENABLED=true
- TRAEFIK_LOG_DASHBOARD_GEOIP_CITY_DB=/geoip/GeoLite2-City.mmdb
- TRAEFIK_LOG_DASHBOARD_GEOIP_COUNTRY_DB=/geoip/GeoLite2-Country.mmdb
# Log Format
- TRAEFIK_LOG_DASHBOARD_LOG_FORMAT=json
# Server Port
- PORT=5000
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/api/logs/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
- traefik_backend
deploy:
mode: global
# Traefik Log Dashboard - Next.js web UI
traefik-dashboard:
image: hhftechnology/traefik-log-dashboard:latest
hostname: traefik-log-dashboard
environment:
# Agent Configuration
- AGENT_API_URL=http://traefik-agent:5000
- AGENT_API_TOKEN=${AGENT_API_TOKEN}
# Node Environment
- NODE_ENV=production
- PORT=3000
# healthcheck:
# test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000"]
# interval: 30s
# timeout: 10s
# retries: 3
# start_period: 60s
networks:
- traefik_backend
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.traffic.rule=Host(`traffic.bryanmail.net`)
- traefik.http.routers.traffic.tls=true
- traefik.http.routers.traffic.tls.certresolver=letsencrypt
- traefik.http.routers.traffic.entrypoints=websecure
- traefik.http.services.traffic.loadbalancer.server.port=3000
- traefik.http.services.traffic.loadbalancer.passHostHeader=false
# - traefik.http.routers.whoami.middlewares=whoamiauth
# - traefik.http.middlewares.whoamiauth.basicauth.users=test:$$2a$$12$$1sIFlNKcNrEApe2IScpFwukd7l1j/uvfxk0GeuqIk0BBcO9Mk2F2u
- traefik.swarm.network=traefik_backend
# - "traefik.http.middlewares.test-auth.forwardauth.trustForwardHeader=true"
- traefik.http.routers.traffic.middlewares=crowdsec@file, forwardAuth-authentik@file
networks:
traefik_backend:
external: true