From fe51b2a9558e951fd3bbeb6f43875f6fbf1cd0e4 Mon Sep 17 00:00:00 2001 From: monoadmin Date: Sat, 31 Jan 2026 12:07:11 -0800 Subject: [PATCH] added traefik --- traefik/docker-compose.yml | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 traefik/docker-compose.yml diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml new file mode 100644 index 0000000..95b17e3 --- /dev/null +++ b/traefik/docker-compose.yml @@ -0,0 +1,41 @@ +version: "3.9" + +services: + traefik: + image: traefik:v2.11 + container_name: traefik + restart: unless-stopped + + command: + # Enable Docker provider + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + + # EntryPoints + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + + # Let's Encrypt + - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true" + - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web" + - "--certificatesresolvers.letsencrypt.acme.email=you@example.com" + - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json" + + # Dashboard + - "--api.dashboard=true" + + ports: + - "80:80" + - "443:443" + + volumes: + - "/var/run/docker.sock:/var/run/docker.sock:ro" + - "./letsencrypt:/letsencrypt" + + labels: + # Dashboard router + - "traefik.enable=true" + - "traefik.http.routers.traefik.rule=Host(`traefik.example.com`)" + - "traefik.http.routers.traefik.entrypoints=websecure" + - "traefik.http.routers.traefik.service=api@internal" + - "traefik.http.routers.traefik.tls.certresolver=letsencrypt"