241 lines
7.4 KiB
YAML
241 lines
7.4 KiB
YAML
################################################################
|
|
# Global configuration - https://doc.traefik.io/traefik/reference/static-configuration/file/
|
|
################################################################
|
|
|
|
global:
|
|
checkNewVersion: false
|
|
sendAnonymousUsage: false
|
|
|
|
|
|
################################################################
|
|
# Entrypoints - https://doc.traefik.io/traefik/routing/entrypoints/
|
|
################################################################
|
|
entryPoints:
|
|
web:
|
|
address: ":80"
|
|
#reusePort: true
|
|
# Global HTTP to HTTPS redirection
|
|
# http:
|
|
# redirections:
|
|
# entrypoint:
|
|
# to: websecure
|
|
# scheme: https
|
|
websecure:
|
|
address: ":443"
|
|
http:
|
|
tls:
|
|
certResolver: sthomeresolver
|
|
#domains:
|
|
# - main: "sthome.org"
|
|
# sans:
|
|
# - "*.sthome.org"
|
|
forwardedHeaders:
|
|
trustedIPs:
|
|
# Cloudflare (https://www.cloudflare.com/ips-v4)
|
|
- "173.245.48.0/20"
|
|
- "103.21.244.0/22"
|
|
- "103.22.200.0/22"
|
|
- "103.31.4.0/22"
|
|
- "141.101.64.0/18"
|
|
- "108.162.192.0/18"
|
|
- "190.93.240.0/20"
|
|
- "188.114.96.0/20"
|
|
- "197.234.240.0/22"
|
|
- "198.41.128.0/17"
|
|
- "162.158.0.0/15"
|
|
- "104.16.0.0/13"
|
|
- "104.24.0.0/14"
|
|
- "172.64.0.0/13"
|
|
- "131.0.72.0/22"
|
|
# Local IPs
|
|
- "127.0.0.1/32"
|
|
- "10.0.0.0/24"
|
|
- "192.168.2.0/24"
|
|
- "172.16.0.0/12"
|
|
wireguard:
|
|
address: ":51820/udp"
|
|
plex:
|
|
address: ":32400"
|
|
metrics:
|
|
address: ":8082"
|
|
ping:
|
|
address: ":8083"
|
|
mariadb:
|
|
address: ":8306"
|
|
mysql:
|
|
address: ":9306"
|
|
mqtt:
|
|
address: ":1883"
|
|
mqttsecure:
|
|
address: ":8883"
|
|
mqttwebsocket:
|
|
address: ":9001"
|
|
mc-bedrock:
|
|
address: ":19132/udp"
|
|
mc-java:
|
|
address: ":25565/udp"
|
|
mc-java-rcon:
|
|
address: ":25575"
|
|
sftp1:
|
|
address: ":2022"
|
|
sftp2:
|
|
address: ":2023"
|
|
sftp3:
|
|
address: ":2024"
|
|
sftp4:
|
|
address: ":2025"
|
|
sftp5:
|
|
address: ":2026"
|
|
sftp6:
|
|
address: ":2027"
|
|
sftp7:
|
|
address: ":2028"
|
|
sftp8:
|
|
address: ":2029"
|
|
|
|
ping:
|
|
entryPoint: "ping"
|
|
################################################################
|
|
# Logs - https://doc.traefik.io/traefik/observability/logs/
|
|
################################################################
|
|
log:
|
|
level: DEBUG # Options: DEBUG, PANIC, FATAL, ERROR (Default), WARN, and INFO
|
|
filePath: /logs/traefik-container.log # Default is to STDOUT
|
|
format: json # Uses text format (common) by default
|
|
noColor: false # Recommended to be true when using common
|
|
maxSize: 100 # In megabytes
|
|
compress: true # gzip compression when rotating
|
|
|
|
################################################################
|
|
# Access logs - https://doc.traefik.io/traefik/observability/access-logs/
|
|
################################################################
|
|
accessLog:
|
|
addInternals: true # things like ping@internal
|
|
filePath: /logs/traefik-access.log # In the Common Log Format (CLF) by default
|
|
bufferingSize: 100 # Number of log lines
|
|
fields:
|
|
names:
|
|
StartUTC: drop # Write logs in Container Local Time instead of UTC
|
|
filters:
|
|
statusCodes:
|
|
- "204-299"
|
|
- "400-499"
|
|
- "500-599"
|
|
|
|
################################################################
|
|
# Prometheus - https://doc.traefik.io/traefik/observability/metrics/prometheus/
|
|
################################################################
|
|
metrics:
|
|
prometheus:
|
|
entryPoint: metrics
|
|
buckets:
|
|
- 0.1
|
|
- 0.3
|
|
- 1.2
|
|
- 5.0
|
|
addEntryPointsLabels: true
|
|
addRoutersLabels: true
|
|
addServicesLabels: true
|
|
|
|
################################################################
|
|
# API and Dashboard
|
|
################################################################
|
|
api:
|
|
dashboard: true
|
|
# disableDashboardAd: true
|
|
# Rely on api@internal and Traefik with Middleware to control access
|
|
# insecure: true
|
|
|
|
################################################################
|
|
# Providers - https://doc.traefik.io/traefik/providers/docker/
|
|
################################################################
|
|
providers:
|
|
docker:
|
|
#endpoint: "unix:///var/run/docker.sock" # Comment if using socket-proxy
|
|
endpoint: "tcp://traefik_socket-proxy:2375" # Uncomment if using socket proxy
|
|
exposedByDefault: false
|
|
network: traefik-net # network to use for connections to all containers
|
|
# defaultRule: TODO
|
|
|
|
# Enable auto loading of newly created rules by watching a directory
|
|
file:
|
|
# Apps, LoadBalancers, TLS Options, Middlewares, Middleware Chains
|
|
directory: /rules # /etc/traefik
|
|
watch: true
|
|
|
|
################################################################
|
|
# tls
|
|
################################################################
|
|
tls:
|
|
stores:
|
|
default:
|
|
# defaultCertificate:
|
|
# certFile: /data/sthome-org.pem
|
|
# keyFile: /data/sthome-org-key.pem
|
|
defaultGeneratedCert:
|
|
resolver: solver-dns
|
|
domain:
|
|
main: sthome.org
|
|
sans:
|
|
- plex.sthome.org
|
|
- emby.sthome.org
|
|
- jellyfin.sthome.org
|
|
- traefik.sthome.org
|
|
|
|
################################################################
|
|
# ACME
|
|
################################################################
|
|
certificatesResolvers:
|
|
# sthomeresolver:
|
|
# acme:
|
|
# email: "stuurmcp@telkomsa.net"
|
|
# storage: "/data/acme.json" # "/etc/traefik/letsencrypt/acme.json"
|
|
# #caServer: "https://acme-staging-v02.api.letsencrypt.org/directory" # Comment out when going prod
|
|
# caServer: "https://acme-v02.api.letsencrypt.org/directory" # production:
|
|
# dnsChallenge:
|
|
# provider: cloudflare
|
|
# #delayBeforeCheck: 30 # Default is 2m0s. This changes the delay (in seconds)
|
|
# # Custom DNS server resolution
|
|
# resolvers:
|
|
# - "1.1.1.1:53"
|
|
# - "8.8.8.8:53"
|
|
##
|
|
# sthome-org:
|
|
# acme:
|
|
# email: "stuurmcp@telkomsa.net"
|
|
# storage: "/data/acme.json" # "/etc/traefik/letsencrypt/acme.json"
|
|
# #caServer: "https://acme-staging-v02.api.letsencrypt.org/directory" # Comment out when going prod
|
|
# caServer: "https://acme-v02.api.letsencrypt.org/directory" # production:
|
|
# dnsChallenge:
|
|
# provider: cloudflare
|
|
# #delayBeforeCheck: 30 # Default is 2m0s. This changes the delay (in seconds)
|
|
# # Custom DNS server resolution
|
|
# resolvers:
|
|
# - "1.1.1.1:53"
|
|
# - "8.8.8.8:53"
|
|
solver-dns:
|
|
acme:
|
|
email: "stuurmcp@telkomsa.net"
|
|
storage: "/data/acme.json" # "/etc/traefik/letsencrypt/acme.json"
|
|
#caServer: "https://acme-staging-v02.api.letsencrypt.org/directory" # Comment out when going prod
|
|
caServer: "https://acme-v02.api.letsencrypt.org/directory" # production:
|
|
dnsChallenge:
|
|
provider: cloudflare
|
|
#delayBeforeCheck: 30 # Default is 2m0s. This changes the delay (in seconds)
|
|
# Custom DNS server resolution
|
|
resolvers:
|
|
- "1.1.1.1:53"
|
|
- "8.8.8.8:53"
|
|
#sthome-net:
|
|
# acme:
|
|
# email: "stuurmcp@telkomsa.net"
|
|
# storage: "/etc/traefik/local/acme.json" # "/data/acme.json"
|
|
# caServer: "https://upd.sthome.net/acme-v02.api" # production:
|
|
# dnsChallenge:
|
|
# provider: sthomelocal
|
|
#delayBeforeCheck: 30 # Default is 2m0s. This changes the delay (in seconds)
|
|
# Custom DNS server resolution
|
|
# resolvers:
|
|
# - "10.0.0.15:53"
|
|
# - "192.168.2.1:53"
|
|
|