diff --git a/docker-compose-haproxy.yml b/docker-compose-haproxy.yml index df5677f..a536fbd 100644 --- a/docker-compose-haproxy.yml +++ b/docker-compose-haproxy.yml @@ -1,3 +1,6 @@ +include: + - ./proxy-components.yml + x-common-elements: &common-elements restart: always env_file: @@ -22,51 +25,37 @@ services: - "${REVERSEPROXY_METRICS_PORT}:10000/tcp" http3-ytproxy: - image: git.nadeko.net/fijxu/http3-ytproxy:latest <<: *common-elements - network_mode: "service:gluetun" - volumes: - - videoplayback_proxy:/tmp - depends_on: - gluetun: - condition: service_healthy - webserver: - condition: service_started - labels: - - "com.centurylinklabs.watchtower.enable=true" + extends: + file: ./proxy-components.yml + service: http3-ytproxy companion: - image: git.nadeko.net/fijxu/invidious-companion:latest - user: 2000:2000 <<: *common-elements - volumes: - - ./cache:/var/tmp/youtubei.js:rw - - ./proxies.txt:/app/proxies.txt - depends_on: - webserver: - condition: service_started - labels: - - "com.centurylinklabs.watchtower.enable=true" + extends: + file: ./proxy-components.yml + service: companion gluetun: - image: qmcgaw/gluetun:latest <<: *common-elements - sysctls: - - net.ipv6.conf.all.disable_ipv6=1 - cap_add: - - NET_ADMIN - devices: - - /dev/net/tun:/dev/net/tun - volumes: - - ./gluetun:/gluetun + extends: + file: ./proxy-components.yml + service: gluetun watchtower: - image: containrrr/watchtower - volumes: - - /var/run/docker.sock:/var/run/docker.sock - environment: - - WATCHTOWER_LABEL_ENABLE=true - - WATCHTOWER_POLL_INTERVAL=60 + <<: *common-elements + extends: + file: ./proxy-components.yml + service: watchtower volumes: - videoplayback_proxy: \ No newline at end of file + videoplayback_proxy: + +networks: + proxy-server: + driver: bridge + ipam: + driver: default + config: + - subnet: 172.50.0.0/24 + gateway: 172.50.0.1 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index cdd479b..03454b9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,9 @@ services: webserver: image: git.nadeko.net/fijxu/nginx-ktls:1.27.4 <<: *common-elements + networks: + proxy-server: + ipv4_address: 172.50.0.2 volumes: - ./nginx.conf:/nginx.conf.template - ./key.key:/certs/cert.pem.key @@ -20,51 +23,37 @@ services: - "com.centurylinklabs.watchtower.enable=true" http3-ytproxy: - image: git.nadeko.net/fijxu/http3-ytproxy:latest <<: *common-elements - network_mode: "service:gluetun" - volumes: - - videoplayback_proxy:/tmp - depends_on: - gluetun: - condition: service_healthy - webserver: - condition: service_started - labels: - - "com.centurylinklabs.watchtower.enable=true" + extends: + file: ./proxy-components.yml + service: http3-ytproxy companion: - image: git.nadeko.net/fijxu/invidious-companion:latest - user: 2000:2000 <<: *common-elements - volumes: - - ./cache:/var/tmp/youtubei.js:rw - - ./proxies.txt:/app/proxies.txt - depends_on: - webserver: - condition: service_started - labels: - - "com.centurylinklabs.watchtower.enable=true" + extends: + file: ./proxy-components.yml + service: companion gluetun: - image: qmcgaw/gluetun:latest <<: *common-elements - sysctls: - - net.ipv6.conf.all.disable_ipv6=1 - cap_add: - - NET_ADMIN - devices: - - /dev/net/tun:/dev/net/tun - volumes: - - ./gluetun:/gluetun + extends: + file: ./proxy-components.yml + service: gluetun watchtower: - image: containrrr/watchtower - volumes: - - /var/run/docker.sock:/var/run/docker.sock - environment: - - WATCHTOWER_LABEL_ENABLE=true - - WATCHTOWER_POLL_INTERVAL=60 + <<: *common-elements + extends: + file: ./proxy-components.yml + service: watchtower volumes: - videoplayback_proxy: \ No newline at end of file + videoplayback_proxy: + +networks: + proxy-server: + driver: bridge + ipam: + driver: default + config: + - subnet: 172.50.0.0/24 + gateway: 172.50.0.1 \ No newline at end of file diff --git a/haproxy.cfg b/haproxy.cfg index 8af5d8b..d788fa4 100644 --- a/haproxy.cfg +++ b/haproxy.cfg @@ -70,4 +70,4 @@ backend http3-ytproxy server s1 unix@/tmp/http-ytproxy.sock backend companion - server s1 companion:8081 check resolvers docker init-addr libc,none + server s1 172.50.0.3:8081 check resolvers docker init-addr libc,none diff --git a/nginx.conf b/nginx.conf index 504eb03..3035ed2 100644 --- a/nginx.conf +++ b/nginx.conf @@ -14,7 +14,7 @@ http { upstream companion { keepalive 256; - server companion:8081; + server 172.50.0.3:8081; } # Docker DNS resolver! diff --git a/proxy-components.yml b/proxy-components.yml new file mode 100644 index 0000000..6aad379 --- /dev/null +++ b/proxy-components.yml @@ -0,0 +1,50 @@ +services: + http3-ytproxy: + image: git.nadeko.net/fijxu/http3-ytproxy:latest + network_mode: "service:gluetun" + volumes: + - videoplayback_proxy:/tmp + depends_on: + gluetun: + condition: service_healthy + webserver: + condition: service_started + labels: + - "com.centurylinklabs.watchtower.enable=true" + + companion: + image: git.nadeko.net/fijxu/invidious-companion:latest + user: 2000:2000 + networks: + proxy-server: + ipv4_address: 172.50.0.3 + volumes: + - ./cache:/var/tmp/youtubei.js:rw + - ./proxies.txt:/app/proxies.txt + depends_on: + webserver: + condition: service_started + labels: + - "com.centurylinklabs.watchtower.enable=true" + + gluetun: + image: qmcgaw/gluetun:latest + networks: + proxy-server: + ipv4_address: 172.50.0.4 + sysctls: + - net.ipv6.conf.all.disable_ipv6=1 + cap_add: + - NET_ADMIN + devices: + - /dev/net/tun:/dev/net/tun + volumes: + - ./gluetun:/gluetun + + watchtower: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - WATCHTOWER_LABEL_ENABLE=true + - WATCHTOWER_POLL_INTERVAL=60 \ No newline at end of file