Add gamma.yaml - remove env_file, inline TRAFFIC_HOST, tokens via stack-deploy.sh
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
+75
@@ -0,0 +1,75 @@
|
|||||||
|
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
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
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
|
||||||
Reference in New Issue
Block a user