108 lines
2.5 KiB
YAML
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
|
|
|
|
|