diff options
| author | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-07-09 21:49:56 -0700 |
|---|---|---|
| committer | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-07-09 21:49:56 -0700 |
| commit | 1d043702ef136e8f2e516c5304a57be5718f1f6f (patch) | |
| tree | 9b3ad070f11dad5994c58acd41a15db8043745aa /invidious/docker-compose.yml | |
12 services: adguard, ampache, azuracast, flood, glance, glances,
grafana, immich, invidious, jellyfin, openwebui, watchtower
Each service includes a docker-compose.yml, README.md with setup
instructions, and .env.example where applicable.
Diffstat (limited to 'invidious/docker-compose.yml')
| -rw-r--r-- | invidious/docker-compose.yml | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/invidious/docker-compose.yml b/invidious/docker-compose.yml new file mode 100644 index 0000000..c261a38 --- /dev/null +++ b/invidious/docker-compose.yml @@ -0,0 +1,81 @@ +services: + invidious: + image: quay.io/invidious/invidious:latest + restart: unless-stopped + # Remove "127.0.0.1:" if used from an external IP + ports: + - "3000:3000" + environment: + # Please read the following file for a comprehensive list of all available + # configuration options and their associated syntax: + # https://github.com/iv-org/invidious/blob/master/config/config.example.yml + INVIDIOUS_CONFIG: | + db: + dbname: invidious + user: kemal + password: ${POSTGRES_PASSWORD:-kemal} + host: invidious-db + port: 5432 + check_tables: true + invidious_companion: + - private_url: "http://companion:8282/companion" + # Use the key generated in the 2nd step + invidious_companion_key: "${INVIDIOUS_COMPANION_KEY}" + # Use the key generated in the 1st step + hmac_key: "${INVIDIOUS_HMAC_KEY}" + healthcheck: + test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/stats || exit 1 + interval: 30s + timeout: 5s + retries: 2 + logging: + options: + max-size: "1G" + max-file: "4" + depends_on: + - invidious-db + + companion: + image: quay.io/invidious/invidious-companion:latest + # Please read the following file for a comprehensive list of all available + # environment variables and their associated syntax: + # https://github.com/iv-org/invidious/blob/master/config/config.example.yml + environment: + # Use the key generated in the 2nd step + - SERVER_SECRET_KEY=${INVIDIOUS_COMPANION_KEY} + restart: unless-stopped + # Uncomment only if you have configured "public_url" for Invidious companion + # Or if you want to use Invidious companion as an API in your program. + # Remove "127.0.0.1:" if used from an external IP + #ports: + # - "127.0.0.1:8282:8282" + logging: + options: + max-size: "1G" + max-file: "4" + cap_drop: + - ALL + read_only: true + # cache for youtube library + volumes: + - companioncache:/var/tmp/youtubei.js:rw + security_opt: + - no-new-privileges:true + + invidious-db: + image: docker.io/library/postgres:14 + restart: unless-stopped + volumes: + - postgresdata:/var/lib/postgresql/data + - ./config/sql:/config/sql + - ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh + environment: + POSTGRES_DB: invidious + POSTGRES_USER: kemal + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-kemal} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] + +volumes: + postgresdata: + companioncache: |
