Skip to content

Docker Compose Deployment behind Traefik Reverse Proxy

Snawoot edited this page Jul 30, 2025 · 14 revisions

This example exposes dumbproxy via Traefik reverse proxy, routing connections by domain in SNI of TLS handshake. TLS connection is handled on Traefik side, dumbproxy gets plaintext HTTP connection.

docker-compose.yaml:

version: "3.8"

networks:
  internal:
    external: false
  traefik_proxy:
    external: true

secrets:
  users:
    file: ./configs/users.conf
services:
  dumbproxy-http:
    image: ghcr.io/senseunit/dumbproxy:1.27.0
    command:
      - -bind-address=:8080
      - -auth=basicfile://?path=/run/secrets/users.conf&hidden_domain=opennet.ru&reload=10s
      - -proxyproto
      - -verbosity=20
    deploy:
      labels:
        traefik.enable: "true" 
        traefik.tcp.routers.dumbproxy.rule: HostSNI(`<your-domain.com>`)
        traefik.tcp.services.dumbproxy.loadBalancer.server.port: "8080"
        traefik.tcp.routers.dumbproxy.tls.passthrough: "false"
    dns:
      - 208.67.222.222
      - 208.67.220.220
    logging:
      driver: json-file
      options:
        max-file: "1"
        max-size: 100m
    networks:
      internal:
      traefik_proxy:
    secrets:
      - source: users
        target: /run/secrets/users.conf

Clone this wiki locally