97 lines
3.1 KiB
YAML
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"
|