# Docker compose file for ${DOMAIN} services: # INVIDIOUS CLEARNET invidious: image: "git.nadeko.net/fijxu/invidious:${TAG}" env_file: - .env network_mode: "service:gluetun" restart: unless-stopped mem_limit: "${INV_MEM_LIMIT}" mem_reservation: "${INV_MEM_RESERVATION}" volumes: - /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw - ./config.yml:/etc/invidious/config.yml:ro environment: INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml" INVIDIOUS_PORT: "3000" depends_on: - inv_sig_helper - haproxy healthcheck: test: wget -nv --tries=1 --spider https://inv.nadeko.net/watch?v=mcYLzu_1cNc || exit 1 interval: 300s timeout: 5s retries: 2 # INVIDIOUS CLEARNET invidious-2: image: "git.nadeko.net/fijxu/invidious:${TAG}" env_file: - .env network_mode: "service:gluetun" restart: unless-stopped mem_limit: "${INV_MEM_LIMIT}" mem_reservation: "${INV_MEM_RESERVATION}" volumes: - /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw - ./config.yml:/etc/invidious/config.yml:ro environment: INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml" INVIDIOUS_PORT: "3001" depends_on: - inv_sig_helper - haproxy healthcheck: test: wget -nv --tries=1 --spider https://inv.nadeko.net/watch?v=mcYLzu_1cNc || exit 1 interval: 300s timeout: 5s retries: 2 # INVIDIOUS CLEARNET invidious-3: image: "git.nadeko.net/fijxu/invidious:${TAG}" env_file: - .env network_mode: "service:gluetun" restart: unless-stopped mem_limit: "${INV_MEM_LIMIT}" mem_reservation: "${INV_MEM_RESERVATION}" volumes: - /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw - ./config.yml:/etc/invidious/config.yml:ro environment: INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml" INVIDIOUS_PORT: "3002" depends_on: - inv_sig_helper - haproxy healthcheck: test: wget -nv --tries=1 --spider https://inv.nadeko.net/watch?v=mcYLzu_1cNc || exit 1 interval: 300s timeout: 5s retries: 2 # INVIDIOUS TOR invidious-tor: env_file: - .env image: "git.nadeko.net/fijxu/invidious:${TAG}" network_mode: "service:gluetun" restart: unless-stopped mem_limit: "${INV_MEM_LIMIT}" mem_reservation: "${INV_MEM_RESERVATION}" volumes: - /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw - ./config.yml:/etc/invidious/config.yml:ro environment: INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml" INVIDIOUS_DOMAIN: "inv.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion" INVIDIOUS_PORT: "3010" INVIDIOUS_HTTPS_ONLY: false INVIDIOUS_HSTS: false depends_on: - inv_sig_helper - haproxy healthcheck: test: wget -nv --tries=1 --spider https://inv.nadeko.net/watch?v=mcYLzu_1cNc || exit 1 interval: 300s timeout: 5s retries: 2 # INVIDIOUS I2P invidious-i2p: env_file: - .env image: "git.nadeko.net/fijxu/invidious:${TAG}" network_mode: "service:gluetun" restart: unless-stopped mem_limit: "${INV_MEM_LIMIT}" mem_reservation: "${INV_MEM_RESERVATION}" volumes: - /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw - ./config.yml:/etc/invidious/config.yml:ro environment: INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml" INVIDIOUS_DOMAIN: "inv.zzls.i2p" INVIDIOUS_PORT: "3011" INVIDIOUS_HTTPS_ONLY: false INVIDIOUS_HSTS: false depends_on: - inv_sig_helper - haproxy healthcheck: test: wget -nv --tries=1 --spider https://inv.nadeko.net/watch?v=mcYLzu_1cNc || exit 1 interval: 300s timeout: 5s retries: 2 # SIGNATURE HELPER inv_sig_helper: image: quay.io/invidious/inv-sig-helper restart: unless-stopped network_mode: "service:gluetun" mem_limit: "512m" init: true command: ["--tcp", "0.0.0.0:12999"] environment: - RUST_LOG=info depends_on: - gluetun http3-proxy: image: git.nadeko.net/fijxu/http3-proxy:latest restart: unless-stopped network_mode: "service:gluetun" environment: DISABLE_WEBP: 1 depends_on: - gluetun # Without depends because haproxy is smart haproxy: image: haproxy:lts-alpine restart: unless-stopped ports: # Invidious - "127.0.0.1:10070:8001" # TOR - "127.0.0.1:10072:8002" # I2P - "127.0.0.1:10073:8003" # HTTP3-PROXY # - "127.0.0.1:10071:8004" # METRICS - "127.0.0.1:10074:8404" volumes: - ./haproxy:/usr/local/etc/haproxy networks: gluetun_network: depends_on: - gluetun gluetun: image: qmcgaw/gluetun restart: unless-stopped ports: # THIS IS ACTUALLY THE PORT OF HTTP3-PROXY # SINCE THE HTTP3-PTOXY SERVICE IS RUNNING # UNDER GLUETUN NETWORK. - "127.0.0.1:10071:8080" env_file: - .env cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun volumes: - ./gluetun:/gluetun environment: - VPN_SERVICE_PROVIDER=mullvad - VPN_TYPE=wireguard - WIREGUARD_PRIVATE_KEY="${WIREGUARD_KEY}" - WIREGUARD_ADDRESSES="${WIREGUARD_ADDRESSES}" - SERVER_HOSTNAMES="${SERVER_HOSTNAMES}" - DNS_KEEP_NAMESERVER=on networks: gluetun_network: networks: default: name: invidious-vpn gluetun_network: external: true