Invidious
version: "3.3"
services:
postgres:
image: postgres:10
restart: unless-stopped
networks:
- invidious
volumes:
- /srv/path/Files/Invidious/postgresdata:/var/lib/postgresql/data
- /srv/path/Files/Invidious/config/sql:/config/sql
- /srv/path/Files/Invidious/docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
environment:
POSTGRES_DB: invidious
POSTGRES_USER: kemal
POSTGRES_PASSWORD: kemal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
invidious:
image: quay.io/invidious/invidious:latest
restart: unless-stopped
networks:
- invidious
mem_limit: 1024M
cpus: 0.5
ports:
- "3000:3000"
environment:
INVIDIOUS_CONFIG: |
channel_threads: 1
check_tables: true
feed_threads: 1
admins: [""]
db:
dbname: invidious
user: kemal
password: kemal
host: postgres
port: 5432
full_refresh: false
https_only: false
# domain:
# external_port:
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/comments/jNQXAC9IVRw || exit 1
interval: 30s
timeout: 5s
retries: 2
depends_on:
- postgres
autoheal:
restart: unless-stopped
image: willfarrell/autoheal
environment:
- AUTOHEAL_CONTAINER_LABEL=all
volumes:
- /var/run/docker.sock:/var/run/docker.sock
volumes:
postgresdata:
networks:
invidious:
The environment variable POSTGRES_USER
cannot be changed. The SQL config files that run the initial database migrations are hard-coded with the username kemal
.
Same goes with environment variable port
. Stick to 3000:3000
and change other service port if needed.
Detailed post-install configuration available in the configuration guide.
Because of various issues Invidious must be restarted often, at least once a day, ideally every hours.
If you use a reverse proxy, you must configure invidious to properly serve request through it:
https_only: true
: if your are serving your instance via https, set it to truedomain: domain.ext
: if you are serving your instance via a domain name, set it hereexternal_port: 443
: if your are serving your instance via https, set it to 443
Env variables must be put after INVIDIOUS_CONFIG: |
in the compose file