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

132 lines
3.1 KiB
YAML

# Docker compose file for Backend 3 of inv.nadeko.net
#
services:
invidious-extend:
env_file:
# Env file containing variables like TAG, INV_MEM_*
- .env
# Env file containing INVIDIOUS_* variables
- ../.env
image: "git.nadeko.net/fijxu/invidious:${TAG}"
restart: unless-stopped
mem_limit: ${INV_MEM_LIMIT}
mem_reservation: ${INV_MEM_RESERVATION}
cpus: ${INV_CPU} # Limit to X% of the CPU
network_mode: "service:gluetun"
volumes:
- /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw
- ./config.yml:/etc/invidious/config.yml:ro
depends_on:
# - inv_sig_helper
- haproxy
environment:
INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml"
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:
extends:
service: invidious-extend
environment:
INVIDIOUS_PORT: "3000"
invidious2:
extends:
service: invidious-extend
environment:
INVIDIOUS_PORT: "3001"
invidious3:
extends:
service: invidious-extend
environment:
INVIDIOUS_PORT: "3002"
invidious4:
extends:
service: invidious-extend
INVIDIOUS_PORT: "3003"
# 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-ytproxy:latest
# restart: unless-stopped
# network_mode: "service:gluetun"
# depends_on:
# - haproxy
# - gluetun
haproxy:
image: haproxy:lts-alpine
restart: unless-stopped
ports:
# Invidious
- "127.0.0.1:10080:8001"
# TOR
#- "127.0.0.1:10082:8002"
# I2P
#- "127.0.0.1:10083:8003"
# HTTP3-PROXY
#- "127.0.0.1:10081:8004"
# METRICS
- "127.0.0.1:10084:8404"
volumes:
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
networks:
gluetun_network_2:
depends_on:
- gluetun
gluetun:
image: qmcgaw/gluetun
restart: unless-stopped
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_2:
ptgen:
image: git.nadeko.net/fijxu/youtube-po-token-generator:latest
cpus: 0.1
restart: unless-stopped
network_mode: "service:gluetun"
environment:
- HOST=valkey-vpn-2
depends_on:
- gluetun
networks:
default:
name: invidious-vpn-2
gluetun_network_2:
external: true