# Docker compose file for http3-proxy used in Invidious # IMPORTANT: Create the docker network manually before using gluetun # sudo docker network create --subnet=172.80.0.0/16 gluetun-http3-ytproxy services: http3-proxy: image: git.nadeko.net/fijxu/http3-ytproxy:latest restart: always # Uncomment this IF YOU ARE using gluetun! network_mode: "service:gluetun" # Uncomment this IF YOU ARE NOT using gluetun! # ports: # - "0.0.0.0:8443:8443/tcp" # HTTP/2 # - "0.0.0.0:8443:8443/udp" # HTTP/3 (QUIC) # Make sure that the key and the certificate files exist! volumes: - ./key.key:/data/key.key:ro - ./fullchain.pem:/data/cert.pem:ro command: "./http3-ytproxy -l 0.0.0.0 -p 8443 -https" depends_on: - gluetun gluetun: image: qmcgaw/gluetun:latest restart: always ports: # THIS IS ACTUALLY THE PORT OF HTTP3-PROXY # SINCE THE HTTP3-PTOXY SERVICE IS RUNNING # UNDER GLUETUN NETWORK. - "0.0.0.0:8443:8443/tcp" # HTTP/2 - "0.0.0.0:8443:8443/udp" # HTTP/3 (QUIC) env_file: - .env cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun volumes: - ./gluetun:/gluetun environment: - VPN_SERVICE_PROVIDER="${VPN_PROVIDER}" - VPN_TYPE=wireguard - WIREGUARD_PRIVATE_KEY="${WIREGUARD_KEY}" - WIREGUARD_ADDRESSES="${WIREGUARD_ADDRESSES}" - SERVER_HOSTNAMES="${SERVER_HOSTNAMES}" # Use system DNS (Setup a caching DNS server!) - DNS_KEEP_NAMESERVER=on networks: gluetun-http3-ytproxy: networks: gluetun-http3-ytproxy: external: true