chore: update invidious docker compose file

This commit is contained in:
root 2025-02-18 00:30:02 -03:00
parent 3f9803b22b
commit 4ae8547f34

View file

@ -3,7 +3,7 @@
# https://docs.docker.com/compose/how-tos/multiple-compose-files/include/ # https://docs.docker.com/compose/how-tos/multiple-compose-files/include/
include: include:
- ../valkey-invidious/docker-compose.yml - ../valkey-invidious/docker-compose.yml
- ../invidious-companion/docker-compose.yml #- ../invidious-companion/docker-compose.yml
# https://docs.docker.com/reference/compose-file/extension/ # https://docs.docker.com/reference/compose-file/extension/
x-common-env: &common-env x-common-env: &common-env
@ -11,29 +11,27 @@ x-common-env: &common-env
INVIDIOUS_REDIS_URL: "tcp://valkey:6379" INVIDIOUS_REDIS_URL: "tcp://valkey:6379"
# TODO: Support I2P # TODO: Support I2P
INVIDIOUS_ALTERNATIVE_DOMAINS: '["inv.nadeko.net", "inv.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion"]' INVIDIOUS_ALTERNATIVE_DOMAINS: '["inv.nadeko.net", "inv.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion"]'
INVIDIOUS_BACKEND_DOMAINS: '["inv1.nadeko.net", "inv2.nadeko.net", "inv3.nadeko.net", "inv4.nadeko.net", "inv5.nadeko.net"]' INVIDIOUS_BACKEND_DOMAINS: '["inv1.nadeko.net", "inv2.nadeko.net", "inv3.nadeko.net", "inv4.nadeko.net", "inv5.nadeko.net", "inv1.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion", "inv2.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion", "inv3.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion", "inv4.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion", "inv5.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion"]'
# https://docs.docker.com/reference/compose-file/extension/ # https://docs.docker.com/reference/compose-file/extension/
x-common-dep: &common-dep x-common-dep: &common-dep
depends_on: ["pgbouncer"] depends_on: ["pgbouncer"]
x-common: &common x-common: &common
hostname: invidious #hostname: invidious
env_file: env_file:
# Env file containing INVIDIOUS_* variables # Env file containing INVIDIOUS_* variables
- .env - .env
image: "git.nadeko.net/fijxu/invidious:latest" image: "git.nadeko.net/fijxu/invidious:latest"
restart: unless-stopped restart: unless-stopped
mem_limit: 512MB mem_limit: 384MB
cpus: 0.25 cpus: 0.30
deploy: deploy:
replicas: 3 replicas: 2
volumes: volumes:
# Volume is not needed anymore since I use pgbouncer now # Volume is not needed anymore since I use pgbouncer now
# - /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw # - /var/run/postgresql/.s.PGSQL.5432:/var/run/postgresql/.s.PGSQL.5432:rw
- ./config.yml:/etc/invidious/config.yml:ro - ./config.yml:/etc/invidious/config.yml:ro
# logging:
# driver: none
# Watchtower checks in intervals of 60 seconds for fast container updates. # Watchtower checks in intervals of 60 seconds for fast container updates.
# It needs to have a scope or Watchtower will spam docker servers asking # It needs to have a scope or Watchtower will spam docker servers asking
# for a new image update therefore rate limiting me # for a new image update therefore rate limiting me
@ -47,8 +45,8 @@ x-common-haproxy: &common-haproxy
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg - ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
services: services:
# INVIDIOUS SECTION #
# INVIDIOUS SECTION #
invidious: invidious:
<<: *common <<: *common
environment: environment:
@ -56,8 +54,8 @@ services:
INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-cl2-c.nadeko.net:8443", "public_url": "https://inv-cl2-c.nadeko.net:8443"}]' INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-cl2-c.nadeko.net:8443", "public_url": "https://inv-cl2-c.nadeko.net:8443"}]'
INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-cl2.nadeko.net:8443"]' INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-cl2.nadeko.net:8443"]'
networks: ["invidious"] networks: ["invidious"]
#depends_on: ["valkey", "haproxy", "companion1"] #depends_on: ["valkey", "haproxy"]
depends_on: ["valkey", "haproxy"] depends_on: ["valkey"]
invidious2: invidious2:
<<: *common <<: *common
@ -66,7 +64,8 @@ services:
INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-ca1-c.nadeko.net", "public_url": "https://inv-ca1-c.nadeko.net"}]' INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-ca1-c.nadeko.net", "public_url": "https://inv-ca1-c.nadeko.net"}]'
INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-ca1.nadeko.net"]' INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-ca1.nadeko.net"]'
networks: ["invidious2"] networks: ["invidious2"]
depends_on: ["valkey2", "haproxy2"] #depends_on: ["valkey2", "haproxy"]
depends_on: ["valkey2"]
invidious3: invidious3:
<<: *common <<: *common
@ -75,7 +74,8 @@ services:
INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-us2-c.nadeko.net", "public_url": "https://inv-us2-c.nadeko.net"}]' INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-us2-c.nadeko.net", "public_url": "https://inv-us2-c.nadeko.net"}]'
INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-us2.nadeko.net"]' INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-us2.nadeko.net"]'
networks: ["invidious3"] networks: ["invidious3"]
depends_on: ["valkey3", "haproxy3"] #depends_on: ["valkey3", "haproxy"]
depends_on: ["valkey3"]
invidious4: invidious4:
<<: *common <<: *common
@ -84,7 +84,8 @@ services:
INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-eu1-c.nadeko.net", "public_url": "https://inv-eu1-c.nadeko.net"}]' INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-eu1-c.nadeko.net", "public_url": "https://inv-eu1-c.nadeko.net"}]'
INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-eu1.nadeko.net"]' INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-eu1.nadeko.net"]'
networks: ["invidious4"] networks: ["invidious4"]
depends_on: ["valkey4", "haproxy4"] #depends_on: ["valkey4", "haproxy"]
depends_on: ["valkey4"]
invidious5: invidious5:
<<: *common <<: *common
@ -93,45 +94,22 @@ services:
INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-eu2-c.nadeko.net", "public_url": "https://inv-eu2-c.nadeko.net"}]' INVIDIOUS_INVIDIOUS_COMPANION: '[{"private_url": "https://inv-eu2-c.nadeko.net", "public_url": "https://inv-eu2-c.nadeko.net"}]'
INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-eu2.nadeko.net"]' INVIDIOUS_EXTERNAL_VIDEOPLAYBACK_PROXY: '["https://inv-eu2.nadeko.net"]'
networks: ["invidious5"] networks: ["invidious5"]
depends_on: ["valkey5", "haproxy5"] #depends_on: ["valkey5", "haproxy"]
depends_on: ["valkey5"]
# HAPROXY SECTION # # HAPROXY SECTION #
haproxy: haproxy:
<<: *common-haproxy <<: *common-haproxy
ports: ports:
- "127.0.0.1:11101:8001" - "127.0.0.1:11101:8001"
- "127.0.0.1:11102:8002"
- "127.0.0.1:11103:8003"
- "127.0.0.1:11104:8004"
- "127.0.0.1:11105:8005"
- "127.0.0.1:11111:8404" - "127.0.0.1:11111:8404"
networks: ["invidious"] networks: ["invidious", "invidious2", "invidious3", "invidious4", "invidious5"]
haproxy2:
<<: *common-haproxy
ports:
- "127.0.0.1:11102:8001"
- "127.0.0.1:11112:8404"
networks: ["invidious2"]
haproxy3:
<<: *common-haproxy
ports:
- "127.0.0.1:11103:8001"
- "127.0.0.1:11113:8404"
networks: ["invidious3"]
haproxy4:
<<: *common-haproxy
ports:
- "127.0.0.1:11104:8001"
- "127.0.0.1:11114:8404"
networks: ["invidious4"]
haproxy5:
<<: *common-haproxy
ports:
- "127.0.0.1:11105:8001"
- "127.0.0.1:11115:8404"
networks: ["invidious5"]
# Pgbouncer to keep connections to the database open
pgbouncer: pgbouncer:
image: edoburu/pgbouncer image: edoburu/pgbouncer
restart: unless-stopped restart: unless-stopped
@ -140,6 +118,7 @@ services:
environment: environment:
- POOL_MODE=transaction - POOL_MODE=transaction
# Everything is being done locally # Everything is being done locally
# https://www.pgbouncer.org/config.html
- AUTH_TYPE=trust - AUTH_TYPE=trust
mem_limit: "128m" mem_limit: "128m"
volumes: volumes: