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

143 lines
3.6 KiB
YAML
Raw Normal View History

2024-09-12 15:44:34 -03:00
# Docker compose file for ${DOMAIN}
services:
# INVIDIOUS CLEARNET
invidious:
2024-09-18 04:45:35 -03:00
image: "git.nadeko.net/fijxu/invidious:${TAG}"
2024-09-12 15:44:34 -03:00
env_file:
- .env
network_mode: "service:gluetun"
restart: unless-stopped
2024-09-18 04:45:35 -03:00
mem_limit: "${INV_MEM_LIMIT}"
mem_reservation: "${INV_MEM_RESERVATION}"
2024-09-12 15:44:34 -03:00
volumes:
- /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw
2024-09-18 04:45:35 -03:00
- ./config.yml:/etc/invidious/config.yml:ro
2024-09-12 15:44:34 -03:00
environment:
2024-09-18 04:45:35 -03:00
INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml"
INVIDIOUS_PORT: "3000"
2024-09-12 15:44:34 -03:00
depends_on:
- inv_sig_helper
2024-09-18 04:45:35 -03:00
- haproxy
2024-09-12 15:44:34 -03:00
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1
interval: 30s
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
2024-09-18 04:45:35 -03:00
mem_limit: "${INV_MEM_LIMIT}"
mem_reservation: "${INV_MEM_RESERVATION}"
2024-09-12 15:44:34 -03:00
volumes:
- /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw
2024-09-18 04:45:35 -03:00
- ./config.yml:/etc/invidious/config.yml:ro
2024-09-12 15:44:34 -03:00
environment:
2024-09-18 04:45:35 -03:00
INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml"
INVIDIOUS_PORT: "3001"
2024-09-12 15:44:34 -03:00
depends_on:
- inv_sig_helper
2024-09-18 04:45:35 -03:00
- haproxy
2024-09-12 15:44:34 -03:00
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1
interval: 30s
timeout: 5s
retries: 2
# INVIDIOUS CLEARNET
2024-09-18 04:45:35 -03:00
invidious-3:
2024-09-12 15:44:34 -03:00
image: "git.nadeko.net/fijxu/invidious:${TAG}"
2024-09-13 13:19:06 -03:00
env_file:
- .env
network_mode: "service:gluetun"
restart: unless-stopped
2024-09-18 04:45:35 -03:00
mem_limit: "${INV_MEM_LIMIT}"
mem_reservation: "${INV_MEM_RESERVATION}"
2024-09-13 13:19:06 -03:00
volumes:
- /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw
2024-09-18 04:45:35 -03:00
- ./config.yml:/etc/invidious/config.yml:ro
2024-09-13 13:19:06 -03:00
environment:
2024-09-18 04:45:35 -03:00
INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml"
INVIDIOUS_PORT: "3002"
2024-09-13 13:19:06 -03:00
depends_on:
- inv_sig_helper
2024-09-18 04:45:35 -03:00
- haproxy
2024-09-13 13:19:06 -03:00
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1
interval: 30s
timeout: 5s
retries: 2
2024-09-12 15:44:34 -03:00
# SIGNATURE HELPER
inv_sig_helper:
2024-09-18 04:45:35 -03:00
image: git.nadeko.net/fijxu/inv_sig_helper:latest
2024-09-12 15:44:34 -03:00
restart: unless-stopped
2024-09-18 04:45:35 -03:00
network_mode: "service:gluetun"
mem_limit: "512m"
2024-09-12 15:44:34 -03:00
init: true
command: ["--tcp", "0.0.0.0:12999"]
environment:
- RUST_LOG=info
http3-proxy:
image: git.nadeko.net/fijxu/http3-proxy:latest
restart: unless-stopped
network_mode: "service:gluetun"
environment:
DISABLE_WEBP: 1
# Without depends because haproxy is smart
haproxy:
image: haproxy:lts-alpine
restart: unless-stopped
2024-09-12 15:44:34 -03:00
ports:
# Invidious
2024-09-18 04:45:35 -03:00
- "127.0.0.1:10070:8001"
# TOR
- "127.0.0.1:10072:8002"
# I2P
- "127.0.0.1:10073:8003"
2024-09-12 15:44:34 -03:00
# HTTP3-PROXY
2024-09-18 04:45:35 -03:00
- "127.0.0.1:10071:8004"
# METRICS
- "127.0.0.1:10074:8404"
2024-09-12 15:44:34 -03:00
volumes:
- ./haproxy:/usr/local/etc/haproxy
networks:
gluetun_network:
2024-09-18 04:45:35 -03:00
depends_on:
- gluetun
2024-09-12 15:44:34 -03:00
gluetun:
image: qmcgaw/gluetun
2024-09-18 04:45:35 -03:00
restart: unless-stopped
2024-09-12 15:44:34 -03:00
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}"
2024-09-13 13:19:06 -03:00
- DNS_KEEP_NAMESERVER=on
2024-09-12 15:44:34 -03:00
networks:
gluetun_network:
networks:
default:
name: invidious-vpn
gluetun_network:
external: true