Skip to content

Instantly share code, notes, and snippets.

@LordVeovis
Last active October 6, 2024 18:55
Show Gist options
  • Select an option

  • Save LordVeovis/41e8402edc02d5493219ba995f23809e to your computer and use it in GitHub Desktop.

Select an option

Save LordVeovis/41e8402edc02d5493219ba995f23809e to your computer and use it in GitHub Desktop.
Traefik
networks:
default: # par défaut internal=false, donc accès internet
internal:
internal: true
# ex: docker network create -d bridge --internal --subnet 172.29.0.0/24 br_traefik_rp
traefik:
external: true # external=true indique que le réseau a été créé manuellement
name: br_traefik_rp
services:
service1:
[...]
networks:
- default # si accès internet requis
- internal # réseau utilisé pour communiquer avec les autres containeurs de la stack, sans accès internet
- traefik # pour l'intégrer au réseau "dmz" traefik
labels:
kveer.dns: mon-service.kador.fr
traefik.http.routers.radarr.entryPoints: web-ssl
traefik.http.services.radarr.loadbalancer.server.port: 8080
bdd:
[...]
networks:
- internal
entryPoints:
web:
address: ":80"
web-ssl:
address: ":443"
http:
middlewares:
- defaultHttpsHeaders@file
tls:
options: default
certResolver: main
http2:
http3:
serversTransport:
insecureSkipVerify: true
api:
dashboard: true # pour activer le dashboard traefik
ping: # pour monitorer traefik en faisant un /ping
entrypoint: web-ssl
#log:
# level: DEBUG
providers:
file: # conf manuelle pour non-docker
filename: /etc/traefik/routers.yaml
watch: true
docker: # conf "magique" par labels docker
exposedByDefault: true # WARN: ne pas mettre true sans la contrainte LabelRegex
network: br_traefik_rp # réseau traefik par défaut
defaultRule: Host(`{{ index .Labels "kveer.dns" }}`) # le Host est définit par le label kveer.dns
constraints: LabelRegex(`kveer.dns`, `.+`) # intègre le containeur seulement si le label kveer.dns est présent
# swarm:
# endpoint: "unix:///var/run/docker.sock"
# exposedByDefault: false
# network: traefik2
certificatesResolvers:
main:
acme:
email: prout@kador.fr
storage: /etc/traefik/acme.json
keyType: EC256
tlsChallenge: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment