http3-ytproxy/docker-compose.yml

52 lines
1.6 KiB
YAML

# 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)
volumes:
- ./key.key:/app/key.key
- ./fullchain.cer:/app/fullchain.cer
command: "./http3-ytproxy -l 0.0.0.0 -p 8443 -https -tls-key ./key.key -tls-cert ./fullchain.cer"
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