Files
vps-server/services/traefik/traefik.yml
2026-01-14 00:36:10 +01:00

97 lines
3.1 KiB
YAML

services:
traefik:
extends:
file: ${TEMPLATES_PATH}
service: default
image: traefik:v3.6.6
container_name: traefik
ports:
- "80:80"
- "443:443"
- "8079:8080"
networks:
- ip4net
environment:
TRAEFIK_EMAIL: ${EMAIL}
TRAEFIK_PUBLIC_DOMAIN: ${PUBLIC_DOMAIN}
TRAEFIK_MAIN_SERVER_NODE_IP: ${MAIN_SERVER_NODE_IP}
TRAEFIK_CROWDSEC_API_KEY: ${CROWDSEC_API_KEY}
INFOMANIAK_ACCESS_TOKEN: ${INFOMANIAK_CERTIFICATE_ACCESS_TOKEN}
volumes:
- "/var/log/traefik/:/var/log/traefik/"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "${SERVICE_PATH}/traefik/letsencrypt:/letsencrypt"
- "${SERVICE_PATH}/traefik/config:/etc/traefik"
- "${SERVICE_PATH}/traefik/certs:/etc/certs"
- "${SERVICE_PATH}/traefik/html/ban.html:/ban.html"
- "${SERVICE_PATH}/traefik/html/captcha.html:/captcha.html"
labels:
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.rule=Host(`traefik.${LOCAL_DOMAIN}`)"
- "traefik.http.routers.traefik.entrypoints=https"
- "traefik.http.routers.traefik.tls=true"
# traefik-agent:
# extends:
# file: ${TEMPLATES_PATH}
# service: default
# image: hhftechnology/traefik-log-dashboard-agent:2.4.0
# container_name: traefik-log-dashboard-agent
# networks:
# - ip4net
# ports:
# - "8078:5000"
# volumes:
# - "/var/log/crowdsec/:/logs:ro"
# - "${SERVICE_PATH}/traefik/log-dashboard/positions:/data"
# environment:
# TRAEFIK_LOG_DASHBOARD_ACCESS_PATH: /logs/traefik.log
# TRAEFIK_LOG_DASHBOARD_AUTH_TOKEN: ${TRAEFIK_DASHBOARD_TOKEN}
# 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
#
# traefik-dashboard:
# extends:
# file: ${TEMPLATES_PATH}
# service: default
# image: hhftechnology/traefik-log-dashboard:2.4.0
# container_name: traefik-log-dashboard
# networks:
# - ip4net
# ports:
# - "8077:3000"
# volumes:
# - ./data/dashboard:/app/data
# - "${SERVICE_PATH}/traefik/log-dashboard/dashboard:/app/data"
# - "${SERVICE_PATH}/traefik/log-dashboard/positions:/data"
# environment:
# AGENT_API_URL: http://192.168.178.35:8078
# AGENT_API_TOKEN: ${TRAEFIK_DASHBOARD_TOKEN}
# # Display Configuration
# NEXT_PUBLIC_SHOW_DEMO_PAGE: false
# depends_on:
# traefik-agent:
# condition: service_healthy
# labels:
# # traefik
# - "traefik.enable=true"
# - "traefik.http.routers.traefik-log-dashboard.rule=Host(`traefik-dashboard.${LOCAL_DOMAIN}`)"
# - "traefik.http.routers.traefik-log-dashboard.entrypoints=https"
# - "traefik.http.routers.traefik-log-dashboard.tls=true"