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

108 lines
2.5 KiB
YAML

# Docker compose file for Backend 2 of inv.nadeko.net
#https://docs.docker.com/reference/compose-file/fragments/
x-common-config: &common-config
env_file:
# Env file containing variables like TAG, INV_MEM_*
- .env
# Env file containing INVIDIOUS_* variables
- ../.env
image: "git.nadeko.net/fijxu/invidious-with-companion:${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:
gluetun:
condition: service_healthy
# ptgen:
# condition: service_started
haproxy:
condition: service_started
environment: &env
INVIDIOUS_CONFIG_FILE: "/etc/invidious/config.yml"
# INVIDIOUS_TOKENS_SERVER: http://gluetun:7070
services:
# INVIDIOUS CLEARNET
invidious:
<<: *common-config
environment:
<<: *env
INVIDIOUS_PORT: "3000"
invidious2:
<<: *common-config
environment:
<<: *env
INVIDIOUS_PORT: "3001"
invidious3:
<<: *common-config
environment:
<<: *env
INVIDIOUS_PORT: "3002"
invidious4:
<<: *common-config
environment:
<<: *env
INVIDIOUS_PORT: "3003"
haproxy:
image: haproxy:lts-alpine
restart: unless-stopped
ports:
# Invidious
- "127.0.0.1:10070:8001"
# METRICS
- "127.0.0.1:10074:8404"
volumes:
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
networks:
gluetun_network:
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:
# ptgen:
# image: git.nadeko.net/fijxu/youtube-po-token-generator:latest
# cpus: 0.1
# restart: unless-stopped
# network_mode: "service:gluetun"
# environment:
# - PORT=7070
# depends_on:
# - gluetun
networks:
default:
name: invidious-vpn
gluetun_network:
external: true