LibrePortal
Sponsor
Install

Invidious

YouTube Frontend

MediaWorks with 3 appsSeveral copies

Invidious lets you watch YouTube without YouTube watching you. Your server fetches the videos, so there are no adverts, no Google account, and no record of what you watched tied to you.

On this page
  1. At a glance
  2. What it's good for
  3. Signing in
  4. Adding accounts
  5. Everyday use
  6. Private or public
  7. Good to know
  8. Addresses and ports
  9. Settings
  10. In its config file
  11. Tools
  12. Works with
  13. Privacy and security
  14. What leaves this server
  15. What LibrePortal turns off
  16. Sources
  17. Under the hood

At a glance#

What it is
YouTube Frontend Media
Where it opens
Web Interface On its own port at http://your-server:port, or invidious.your-domain once you have a domain
Updates
Automatic A backup is taken first, and it rolls back if the update fails
Backups
Left out Not in the scheduled backups unless you switch it on
Copies
As many as you like Run several copies, each with its own data

What it's good for#

Every time you open YouTube, Google learns a little more about you. Invidious sits in between: you search and watch on your own server, and it's your server that talks to YouTube. There are no adverts, no autoplaying rabbit hole, and no sign-in needed. With an Invidious account you can subscribe to channels and keep playlists, all stored on your server rather than with Google.

It suits anyone who wants YouTube's videos without its habits, and households where you'd rather the children's viewing didn't feed an advertising profile.

LibrePortal has two more apps that do the same for other sites: Redlib for Reddit and Soundcloak for SoundCloud.

Videos may not play yet

Recent Invidious releases need a companion program, run alongside Invidious, to fetch the video streams from YouTube. Invidious's own documentation says playback won't work without it. LibrePortal doesn't run that companion yet, so on a new install you may be able to search and browse but not play videos. To check: Invidious companion is still not in containers/invidious/docker-compose.yml (only invidious-service on quay.io/invidious/invidious:latest and invidious-db; no invidious_companion settings in INVIDIOUS_CONFIG). Confirm on a fresh install whether playback works, and update this page once the companion is added.

Signing in#

You don't need an account to watch. Open Invidious with the Web Interface button and search.

Accounts are for keeping subscriptions, playlists and your watch history. Invidious doesn't create one at install, and it doesn't have an administrator in the usual sense: nobody can take over the server by signing up first. What anyone who can reach it can do is create their own account, because Invidious leaves sign-ups open (behind a simple captcha). That's one of the reasons to keep it private; see below.

Adding accounts#

Use the Tools tab to make accounts for the people in your house, rather than asking them to sign up.

  1. Open Invidious's page in LibrePortal and go to Tools.
  2. Run Create User Account with an email address. That's what they'll sign in with. Leave the password empty and one is made for you.
  3. Send them the address and their password.

Reset User Password, List Users and Delete User Account do what they say. Deleting an account removes its subscriptions and playlists with it.

Make admin only records the login

Ticking Make admin on Create User Account doesn't give the account admin rights inside Invidious. It only saves that account's login in the Login Details, for the first account you tick it on, so you have it to hand. Invidious's admin rights only change the defaults everyone sees, and LibrePortal doesn't set any, which is fine for a household.

Everyday use#

Search works as you'd expect. Subscribing to a channel adds it to your Subscriptions feed, which shows new videos in date order with no recommendations mixed in. If you're moving from YouTube, Invidious can import your subscriptions, so you don't have to find every channel again by hand; look in its settings for importing and exporting data.

Most of Invidious's choices are in its Preferences: the default video quality, dark mode, whether to play audio only, whether videos autoplay. When you're signed in, they follow you from device to device.

Private or public#

Invidious is marked Public in the catalogue. For most households, private is the better choice. It stops strangers creating accounts on your server. It also stops your server becoming a free YouTube proxy for anyone who finds it: heavy traffic from strangers is a good way to get your server's address throttled by YouTube. From outside the house, the LibrePortal VPN gets you in. With a domain, it gets its own address at invidious.<your domain>.

Good to know#

  • It's left out of the nightly backups to start with. That's fine if nobody uses an account, since the videos themselves always come from YouTube. If you rely on your subscriptions and playlists, switch on Enable Backups on its Config tab; see App pages and settings.
  • Its database password is generated. From 0.4.7 the password Invidious uses for its own database comes from LibrePortal's generator. Installs made before 0.4.7 used the same example password as every other Invidious install. The database only answers inside Docker's own network, so nobody outside can reach it, but you can move an older install to a generated password by pressing Update Configuration on its Config tab. Your accounts, subscriptions and playlists stay as they are.
  • Updates are automatic, following Invidious's latest release, with a backup taken first. Invidious changes often to keep up with YouTube, so staying current matters more than usual.
  • You can run several copies, each with its own accounts; see More than one copy of an app.

Addresses and ports#

Invidious has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one. "Anyone" means it's reachable from wherever your server is reachable; you can make it private later.

What it isWho can reach itWith a domain
Web Interface Anyone invidious.your-domain

Settings#

In its config file#

Invidious's own settings aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.

SettingWhat it doesStarts as
Name
CFG_INVIDIOUS_DISPLAY_NAME
What this app is called on your dashboards. Leave empty to use its usual name Empty
Show on the LibrePortal Dashboard
CFG_INVIDIOUS_SHOW_ON_DASHBOARD
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard
Choices: true, false
true
Open sign-up
CFG_INVIDIOUS_REGISTRATION
Whether anyone who can open the page may make an account; accounts are otherwise made by LibrePortal
Choices: true, false
false
Proxy video
CFG_INVIDIOUS_PROXY_VIDEO
Whether video is fetched by this server for new visitors, so YouTube sees this server and not their address; each person can change it
Choices: true, false
true
Detailed logs
CFG_INVIDIOUS_VERBOSE_LOGS
Whether Invidious writes its normal, chattier logs, including who connected, instead of only warnings and errors.
Choices: true, false
false
Debug logging for 24 hours
CFG_INVIDIOUS_DEBUG_LOGS
Turn on to see everything Invidious is doing while you look for a problem; it turns itself off after 24 hours.
Choices: true, false
false

Tools#

Invidious's Tools tab has 4 buttons for jobs you'd otherwise need a terminal for. Each one runs as a task, so you can watch it on the Tasks page and read what it did. More about Tools.

Reset User Password

Set a new password for an existing user. Leave blank to generate one.

Asks for: Email, New password (optional)
Create User Account

Add a new user. Sign-in uses the email address.

Asks for: Email, Password (optional), Make admin
List Users

List every user.

Delete User AccountCan't be undone

Permanently remove a user.

Asks for: Email

Works with#

These are the other apps Invidious knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.

  • Grafana: Shows dashboards for the apps that have one. works with every app
  • Prometheus: Collects metrics from the apps that can export them. works with every app
  • Uptime Kuma: Watches your apps and shows when one goes down. works with every app

Privacy and security#

Worth knowing Invidious lets you watch YouTube without Google tracking you. The server talks to YouTube for you, so Google sees your server's address; video playback may also reach Google directly unless proxying is on.

What leaves this server#

  • Your server contacts YouTube for every page, so Google sees its address
  • Video can load straight from Google's servers in the viewer's browser unless the proxy option is on

What LibrePortal turns off#

  • Detailed logs and per-request access logging (switchable in Config)
  • Open sign-ups (switchable in Config)

Licence: AGPL-3.0. Audited: 21 October 2026. See the privacy of every app and the Promise.

Sources#

Under the hood#

  • It runs these images: quay.io/invidious/invidious:2.20260804.1@sha256:cbbb2f8404a4aebd22335490424bf8f8f2078e962df4cd467ae6d03a421ac4c5, docker.io/library/postgres:14.24@sha256:0472f5295d05c211cc42b3daa5e84a128e390c5267b60ced9fe044bcf4edfdb8.
  • It can sit behind Authelia's sign-in once Authelia is installed.
  • Its own project and documentation: github.com/iv-org/invidious

Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.

Next steps