Back to Apps
Invidious

Deploy Invidious on Your Own Server

Invidious is an alternative front-end to YouTube.

πŸ“¦ Other

Want to deploy Invidious on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Invidious?

Invidious is an alternative front-end to YouTube. More details: https://github.com/iv-org/invidious

Self-Host Invidious

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  invidious:
    image: quay.io/invidious/invidious@sha256:38d9630df74d77e9b704c0dbac10c626ef0f8ccb75fa0457e546018e7227b215
    environment:
      INVIDIOUS_CONFIG: |
        channel_threads: 1
        check_tables: true
        feed_threads: 1
        db:
          user: kemal
          password: kemal
          host: invidious-db
          port: 5432
          dbname: invidious
        full_refresh: false
        https_only: false
        domain:
  invidious-db:
    image: postgres:$$db_version
    environment:
      POSTGRES_DB: invidious
      POSTGRES_PASSWORD: kemal
      POSTGRES_USER: kemal
    volumes:
      - invidious-data:/var/lib/postgresql/data
volumes:
  invidious-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:3000

Why Self-Host Invidious?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

quay.io/invidious/invidious${version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"