networks: ssankur: external: "true" services: traefik: configs: - source: "config" target: "/etc/traefik/config.yaml" - source: "traefik" target: "/etc/traefik/traefik.yaml" container_name: "traefik" environment: - "CF_DNS_API_TOKEN=${CF_DNS_API_TOKEN}" - "TZ=Asia/Dhaka" image: "traefik:latest" networks: - "ssankur" ports: - "10.1.1.253:80:80/tcp" - "10.1.1.253:443:443/tcp" restart: "on-failure" volumes: - "./mounts/letsencrypt:/etc/letsencrypt" configs: config: content: | http: routers: adguard: rule: "Host(`adguard.ssankur.com`)" service: "adguard" adminer: rule: "Host(`adminer.ssankur.com`)" service: "adminer" bazarr: rule: "Host(`bazarr.ssankur.com`)" service: "bazarr" dockhand: rule: "Host(`dockhand.ssankur.com`)" service: "dockhand" dozzle: rule: "Host(`dozzle.ssankur.com`)" service: "dozzle" ente-auth: rule: "Host(`ente-auth.ssankur.com`)" service: "ente-auth" ente-server: rule: "Host(`ente-server.ssankur.com`)" service: "ente-server" esphome: rule: "Host(`esphome.ssankur.com`)" service: "esphome" gatus: rule: "Host(`gatus.ssankur.com`)" service: "gatus" gitea: rule: "Host(`gitea.ssankur.com`)" service: "gitea" grocy: rule: "Host(`grocy.ssankur.com`)" service: "grocy" home-assistant: rule: "Host(`home-assistant.ssankur.com`)" service: "home-assistant" homepage: rule: "Host(`homepage.ssankur.com`)" service: "homepage" immich: rule: "Host(`immich.ssankur.com`)" service: "immich" ledfx: rule: "Host(`ledfx.ssankur.com`)" service: "ledfx" music-assistant: rule: "Host(`music-assistant.ssankur.com`)" service: "music-assistant" openwrt: rule: "Host(`openwrt.ssankur.com`)" service: "openwrt" pfsense: rule: "Host(`pfsense.ssankur.com`)" service: "pfsense" prowlarr: rule: "Host(`prowlarr.ssankur.com`)" service: "prowlarr" proxmox: rule: "Host(`proxmox.ssankur.com`)" service: "proxmox" qbittorrent: rule: "Host(`qbittorrent.ssankur.com`)" service: "qbittorrent" qbittorrent-vpn: rule: "Host(`qbittorrent-vpn.ssankur.com`)" service: "qbittorrent-vpn" radarr: rule: "Host(`radarr.ssankur.com`)" service: "radarr" radicale: rule: "Host(`radicale.ssankur.com`)" service: "radicale" scrutiny: rule: "Host(`scrutiny.ssankur.com`)" service: "scrutiny" sonarr: rule: "Host(`sonarr.ssankur.com`)" service: "sonarr" traefik: rule: "Host(`traefik.ssankur.com`)" service: "traefik" traefik-dmz: rule: "Host(`traefik-dmz.ssankur.com`)" service: "traefik-dmz" truenas: rule: "Host(`truenas.ssankur.com`)" service: "truenas" vaultwarden: rule: "Host(`vaultwarden.ssankur.com`)" service: "vaultwarden" services: adguard: loadBalancer: servers: - url: "http://adguard-home:3000" adminer: loadBalancer: servers: - url: "http://adminer:8080" bazarr: loadBalancer: servers: - url: "http://bazarr:6767" dockhand: loadBalancer: servers: - url: "http://dockhand:3000" dozzle: loadBalancer: servers: - url: "http://dozzle:8080" ente-auth: loadBalancer: servers: - url: "http://ente-web:3003" ente-server: loadBalancer: servers: - url: "http://ente-server:8080" esphome: loadBalancer: servers: - url: "http://esphome:6052" gatus: loadBalancer: servers: - url: "http://gatus:8080" gitea: loadBalancer: servers: - url: "http://gitea:3000" grocy: loadBalancer: servers: - url: "http://grocy" home-assistant: loadBalancer: servers: - url: "http://home-assistant" homepage: loadBalancer: servers: - url: "http://homepage:3000" immich: loadBalancer: servers: - url: "http://immich:2283" ledfx: loadBalancer: servers: - url: "http://ledfx:8888" music-assistant: loadBalancer: servers: - url: "http://music-assistant:8095" openwrt: loadBalancer: servers: - url: "https://10.1.1.254" pfsense: loadBalancer: servers: - url: "https://10.1.1.1" prowlarr: loadBalancer: servers: - url: "http://prowlarr:9696" proxmox: loadBalancer: servers: - url: "https://10.1.1.200:8006" qbittorrent: loadBalancer: servers: - url: "http://10.1.4.2:8080" qbittorrent-vpn: loadBalancer: servers: - url: "http://10.1.4.2:8082" radarr: loadBalancer: servers: - url: "http://radarr:7878" radicale: loadBalancer: servers: - url: "http://radicale:5232" scrutiny: loadBalancer: servers: - url: "http://10.1.1.201:8080" sonarr: loadBalancer: servers: - url: "http://sonarr:8989" traefik: loadBalancer: servers: - url: "http://traefik:8080" traefik-dmz: loadBalancer: servers: - url: "http://10.1.4.2:8081" truenas: loadBalancer: servers: - url: "https://10.1.1.201" vaultwarden: loadBalancer: servers: - url: "http://vaultwarden" traefik: content: | api: disableDashboardAd: "true" insecure: "true" certificatesResolvers: letsencrypt: acme: dnsChallenge: propagation: delayBeforeChecks: "300" disableANSChecks: "true" disableChecks: "true" provider: "cloudflare" email: "ankur7914@gmail.com" storage: "/etc/letsencrypt/acme.json" entryPoints: http: address: ":80" http: redirections: entryPoint: to: "https" https: address: ":443" asDefault: "true" http: tls: certResolver: "letsencrypt" domains: - main: "ssankur.com" sans: - "*.ssankur.com" log: level: "INFO" providers: file: filename: "/etc/traefik/config.yaml" serversTransport: insecureSkipVerify: "true"