diff --git a/docker-compose/docker-compose.main.yml b/docker-compose/docker-compose.main.yml index 85025e9..9385294 100644 --- a/docker-compose/docker-compose.main.yml +++ b/docker-compose/docker-compose.main.yml @@ -33,12 +33,11 @@ services: context: ../ dockerfile: Dockerfile environment: - - "PROXY_LIST=socks5://wgcf1:1080,socks5://wgcf2:1080" + - "PROXY_LIST=socks5://haproxy-pb:1080" depends_on: - - dante_1 - - dante_2 + - haproxy-proxy-balancer # volumes: - # - ../web:/app/web + # - ../user_data:/tmp/user_data # - ./core/medium_parser/:/app/medium_parser # - ./core/rl_string_helper/:/app/rl_string_helper ports: diff --git a/docker-compose/docker-compose.proxy.yml b/docker-compose/docker-compose.proxy.yml new file mode 100644 index 0000000..99ff556 --- /dev/null +++ b/docker-compose/docker-compose.proxy.yml @@ -0,0 +1,21 @@ +version: '3.7' + +services: + haproxy-proxy-balancer: + build: + context: ../proxy-balancer + dockerfile: Dockerfile + container_name: haproxy-proxy-balancer + hostname: haproxy-pb + ports: + - "1080:1080" + volumes: + - ../proxy-balancer/haproxy:/usr/local/etc/haproxy/ + restart: always + depends_on: + wgcf1: + condition: service_healthy + wgcf2: + condition: service_healthy + networks: + - freedium_net diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 37a1a76..3b64906 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -5,3 +5,4 @@ include: - docker-compose.wgcf.yml - docker-compose.db.yml - docker-compose.utility.yml + - docker-compose.proxy.yml diff --git a/proxy-balancer/Dockerfile b/proxy-balancer/Dockerfile new file mode 100644 index 0000000..6be0d0b --- /dev/null +++ b/proxy-balancer/Dockerfile @@ -0,0 +1,2 @@ +FROM haproxy:3.0 +COPY haproxy/haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg diff --git a/proxy-balancer/haproxy/haproxy.cfg b/proxy-balancer/haproxy/haproxy.cfg new file mode 100644 index 0000000..ab4b1cb --- /dev/null +++ b/proxy-balancer/haproxy/haproxy.cfg @@ -0,0 +1,14 @@ +global +log stdout format raw local0 debug + +defaults +timeout connect 5000 +timeout client 50000 +timeout server 50000 + +listen socks5 +bind *:1080 +mode tcp +balance roundrobin +server server0 wgcf1:1080 +server server1 wgcf2:1080