Update docker-compose.yml and provide .env

This commit is contained in:
Fijxu 2024-11-05 17:38:10 -03:00
parent 56345e5bae
commit b150f128b1
Signed by: Fijxu
GPG key ID: 32C1DDF333EDA6A4
2 changed files with 50 additions and 16 deletions

4
.env Normal file
View file

@ -0,0 +1,4 @@
VPN_PROVIDER=""
WIREGUARD_KEY=""
WIREGUARD_ADDRESSES=""
SERVER_HOSTNAMES=""

View file

@ -1,22 +1,52 @@
# 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-proxy:latest
restart: unless-stopped
deploy:
replicas: 6
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:
DISABLE_WEBP: 1
http3-proxy-nginx:
image: nginx:latest
restart: unless-stopped
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- http3-proxy
ports:
- "127.0.0.1:10012:3000"
- 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