docker-compose-configs/invidious/invidious-vpn/docker-compose.yml

206 lines
5.5 KiB
YAML

# 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