services: proxy: environment: # Traefik sends PROXY protocol v1 to preserve the original client IP. # # Existing custom listener arguments are appended after -H. PROXY_EXTRA_ARGS: "-H ${PROXY_EXTRA_ARGS:-}" SOCKS_EXTRA_ARGS: "-H ${SOCKS_EXTRA_ARGS:-}" networks: - proxy - traefik labels: - "traefik.enable=true" - "traefik.docker.network=${TRAEFIK_NETWORK:-traefik}" # HTTP proxy router and service - "traefik.tcp.routers.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-http.entrypoints=${TRAEFIK_HTTP_ENTRYPOINT:-proxy-http}" - "traefik.tcp.routers.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-http.rule=HostSNI(`*`)" - "traefik.tcp.routers.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-http.service=${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-http" - "traefik.tcp.services.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-http.loadbalancer.server.port=${PROXY_PORT:-3128}" - "traefik.tcp.services.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-http.loadbalancer.proxyprotocol.version=1" # SOCKS router and service - "traefik.tcp.routers.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-socks.entrypoints=${TRAEFIK_SOCKS_ENTRYPOINT:-proxy-socks}" - "traefik.tcp.routers.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-socks.rule=HostSNI(`*`)" - "traefik.tcp.routers.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-socks.service=${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-socks" - "traefik.tcp.services.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-socks.loadbalancer.server.port=${SOCKS_PORT:-1080}" - "traefik.tcp.services.${TRAEFIK_ROUTER_PREFIX:-chained-3proxy}-socks.loadbalancer.proxyprotocol.version=1" networks: traefik: external: true name: "${TRAEFIK_NETWORK:-traefik}"