Invidious.nerdvpn.de
Invidious fork with customizations for invidious.nerdvpn.de
Theme for my instance is based on: https://github.com/Tsyron/Invidious-Theme
Original repo at: https://github.com/iv-org/invidious
Based upon patches from:
WARNING
This fork is not compatible with upstream invidious (i.e. https://github.com/iv-org/invidious).
If you already have an instance using the official invidious, you CANNOT simply switch to this instance and vice-versa.
This is due to the the following changes which I implemented to improve the performance and reliability of my instance:
- Removal of materialized views as subscription tables in PostgreSQL (see https://github.com/Sommerwiesel/invidious-nerdvpn/blob/nerdvpn/patches/011-remove-psql-mat-views.patch)
- Redis as video cache (see https://github.com/Sommerwiesel/invidious-nerdvpn/blob/nerdvpn/patches/010-use-redis-for-video-cache.patch)
If you NEVER used Invidious before, you can safely start with my fork, but you won't be able to switch to upstream Invidious at all.
Requirements
You'll have to set these up yourself:
- Docker Compose V2
- PostgreSQL 16 Server
- Nginx Web Server (1.26 or higher for quic support)
- HAProxy 2.x with my config under etc/haproxy/haproxy.conf
- Redis Server for the video cache
- (optional) PGBouncer, recommended if you want to host a public instance to pool connections to PSQL, otherwise you might run into DB pool errors
- (optional) Anubis https://github.com/TecharoHQ/anubis, recommended if you want to host a public instance and not get DDoS'ed from bots and ai
Build instructions
Do this in a separate dir (for example /srv/invidious) under non-root permissions
git clone --recurse-submodules https://github.com/Sommerwiesel/invidious-nerdvpn .- Modify the patches under invidious-nerdvpn/patches to your needs (i.e. change branding) and then run
./patch.sh ./build.sh developmentfor the development image or./build.sh releasefor the production imagebuild.sh companionto build the invidious companion
Update instructions
./revert.shto remove all patch-modificationsgit pull --recurse-submodules- Run the steps 3 and 4 again from the run instructions
Run instructions (docker compose)
- Simply run
docker compose up -d
Run instructions (systemd)
First copy the invidious.service to /etc/systemd/system/
- Enable and start with:
systemctl enable --now invidious.service