Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Joshndroid's Docker Repo Support Thread

Featured Replies

@erikmanzato The error you got on last post its not related to account seems a bug from invidious - Maybe related to https://github.com/iv-org/invidious/issues/3659  Do you have imported a list of channel from youtube? 
 

  • Replies 193
  • Views 61.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Hi @hando, well I'm not a pro and maybe there's an easier way to do it here is what I've done..   They adjusted original installation doc https://docs.invidious.io/installation/   but from U

  • Joshndroid
    Joshndroid

    ***INVIDIOUS - Please note that Google is actively trying to break any sort of privacy/adblocking, etc. YMMV and issues are cropping up quickly. Further setup may be required (Page 7 is a help)*** als

  • @hando Post is fully edited with some references posts(github, official doc) and screenshot hope you can make it work. 

Posted Images

I couldn't do anything until now.

I only uploaded the containers

I moved the conf file to leave it as I would like

Black theme, minimalist, etc.

I can enter the channels and watch the videos, but I can't log in with any user

  • 2 months later...

Here's my docker-compose config w/ postgres and the new companion container

 

 

services:

  invidious:
    container_name: invidious
    image: quay.io/invidious/invidious:master
    restart: unless-stopped
    ports:
      - 3291:3000
    links:
      - inv_db
      - companion
    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: kemal
          host: inv_db
          port: 5432
        check_tables: true
        hmac_key: CHANGE_ME!!
        invidious_companion:
        # URL used for the internal communication between invidious and invidious companion
        # There is no need to change that except if Invidious companion does not run on the same docker compose file.
        - private_url: "http://companion:8282"
        # (public) URL used for the communication between your browser and invidious companion
        # IF you are using a reverse proxy OR accessing invidious from an external IP then you NEED to change this value
        # Please consult for more doc: https://github.com/unixfox/invidious/blob/invidious-companion/config/config.example.yml#L57-L88
        # And make sure to add the routes from the post install when using a reverse proxy!
          public_url: "http://youtube.home"
        # IT is NOT recommended to use the same key as HMAC KEY. Generate a new key!
        # Use the key generated in the 2nd step
        invidious_companion_key: "CHANGE_ME!!"
        # external_port:
        # domain:
        # https_only: false
        # statistics_enabled: false
    healthcheck:
      test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending || exit 1
      interval: 30s
      timeout: 5s
      retries: 2
    logging:
      options:
        max-size: "1G"
        max-file: "4"
    depends_on:
      - inv_db
      
  inv_db:
    container_name: inv_db
    # network_mode: bridge
    image: postgres
    restart: unless-stopped
    # set shared memory limit when using docker-compose
    shm_size: 128mb
    volumes:
      - /mnt/user/appdata/invidious/data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: invidious
      POSTGRES_USER: kemal
      POSTGRES_PASSWORD: kemal
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]

  companion:
    image: quay.io/invidious/invidious-companion:latest
    environment:
    # Use the key generated in the 2nd step
       - SERVER_SECRET_KEY=CHANGE_ME!!--SAME_AS_invidious_companion_key
    restart: unless-stopped
    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:
      - /mnt/user/appdata/invidious/companioncache:/var/tmp/youtubei.js:rw
    security_opt:
      - no-new-privileges:true

 

 

The companion doesn't seem to work for me as I'm still getting `The media could not be loaded, either because the server or network failed or because the format is not supported.`

never mind, it works fine now after I fixed my reverse proxy and opened up my companion since it seems the browser needs to connect to it

Edited by billgogi

  • 3 weeks later...

My original post to use inv-sig-helper with Invidious which require visitor_data and po_token. This method is still available but less private because YT can still track from the token which video is played.


So we can now use invidious-companion which generate new po_token at intervals so it's more private (main goal of invidious).

 

Here's how you can achieve this.

 

Step 1. Stop Invidious container

Step 2. Generate HMAC_KEY with cmd pwgen 16 1 or openssl rand -hex 8

 

Step 2a. Create a folder in your invidious appdata or where you want..
Something like /mnt/user/appdata/invidious/{YOURFOLDER}/
Make sure you can write and read this folder.

 

Step 2b.  Create new container in Unraid Docker section

 

Expand  Create a new container for the helper via the GUI:

Docker > Add Container

Switch to Advanced View

Populate the following field values (icon is borrowed from Invidious docker, and optional):

Name: invidious-companion

Repository: quay.io/invidious/invidious-companion:latest

Icon URL:   invidious-icon-filled.png

Network Type: [YOUR CHOSEN NETWORK | e.g.- Custom : br0] 

Fixed IP address (optional): [STATIC IP ADDRESS | e.g. - 10.0.1.111]

 

invidious-companionc1a8f19870cc621a.png

 

Add another Variable:
Name:   SERVER_SECRET_KEY
Key:   SERVER_SECRET_KEY
Default & Value: Step 2 (HMAC_KEY)
Optionnal (Password Mask) : Yes

 

Add another Path:
Name & Container path :   /var/tmp/youtubei.js/Config
Host Path & Default Value : /mnt/user/appdata/invidious/{YOURFOLDER}/

 

Optionnal (It's run on port 8282 so you can change it if needed)
Add another Port :
Name: Port
Container Port: 8282
Host Port: 8282 (Change this value if you need)

Default Value: 8282
Connection Type : TCP

 

-> Apply (Start) invidious compagnion and you should get logs like
companion-logc874c7bf55a4af67.png

 

 

Step 3.  Invidious - config.yml

If you have signature_server, visitor_data and po_token from inv-sig-helper in your file delete or comment them with # in front.


Add this code somewhere in config.yml

invidious_companion:
  # URL used for the internal communication between invidious and invidious companion
  - private_url: "http://{Companion-IP}:8282"
  # (public) URL used for the communication between your browser and invidious companion
  # IF you are using a reverse proxy OR accessing invidious from an external IP then you NEED to change this value
  # Please consult for more doc: https://github.com/unixfox/invidious/blob/invidious-companion/config/config.example.yml#L57-L88
  - public_url: "http://{Companion-IP}:8282"
# IT is NOT recommended to use the same key as HMAC KEY. Generate a new key!
invidious_companion_key: "{HMAC_KEY}"

 

This is pretty much it... save config.yml then run invidious container.

 

If you run invidious behind reverse proxy you may look at official docs if you have problems Caddy, Nginx etc..

 

Invidious-Companion with NGINX - https://docs.invidious.io/companion-nginx/
Official documentation : https://docs.invidious.io/companion-installation/


2025/09/14 - EDIT :

MIGRATION NEEDED (NEW): Invidious companion

Invidious companion replace both inv-sig-helper and youtube-trusted-session-generator. You don't need to execute youtube-trusted-session-generator anymore.

WHAT NEED TO BE DONE FOR THIS MIGRATION

EDIT CONFIG.yml file
1. SOULD BE -> - private_url: "http://{Companion-IP}:8282/companion"
"/companion" added

2. -public_url (Not required anymore)



Edited by HuSoS

  • 3 weeks later...
  • Author

@HuSoS fabulous work. This is what make the unraid community awesome. TBH i don't actually utilise invidious at the moment as I haven't had time to reset everything up to work again but its great that its still ticking along 

Just wanted to chip in here and let people know that I got Invidious working fully today and more importantly: how.

 

  1. I used the setup instructions on the first page to set up the main Invidious app.
  2. I used the instructions above by @HuSoS to create the new docker container to house the companion app.
  3. I altered the release tag on the main invidious container from latest to master in order to pull the most up to date invidious from quay.io because the companion app is so new, it doesn't seem to pass data from invidious to the companion when using :latest. (this will most likely be fixed in the future).

 

Note: This fixed the issues I was having using dash for video playback, I can now select the quality I want, etc.

I don't believe it was mentioned in the posts above: the companion app automatically generates and rotates your po_token periodically which makes you harder to track.

WOW. I spent a couple of days looking at this and eventually tapped out. This gives me incentive to try again.

 

How many days has this been running for you and how long do you expect it to run without having to perform some kind of manual intervention/fix/update/re-deploy?

 

In the meantime I've got an iOS YT-capable client that works well enough on its own, called Viddle. iOS/mobile was my main sticking point with accessing YT.

Mine has been running since I posted.

 

There was an update on Youtube's end, they're changing everything over to SABR https://github.com/iv-org/invidious/issues/5263. Eventually Invidious will need a major code change to continue working. For now, it is operational using a work-around implemented here: https://github.com/iv-org/invidious-companion/issues/60

 

I have my dockers set to update after appdata backup, so they pull in the fresh updates without my need for manual intervention usually.

 

it's possible that you will no longer need to use the master branch of invidious since a new latest was pushed to address the issues related to SABR https://github.com/iv-org/invidious/issues/4251#issuecomment-2837678730

 

For iOS I've been using Yattee to connect to my instance.

 

Hope that helps.

  • 4 weeks later...

Is there a way to enable rss on redlib? I have added the env variable to my instance, and tried values on, 1, and true and I am getting rss is not enabled on this instance

GitHub
No image preview

GitHub - redlib-org/redlib: Private front-end for Reddit

Private front-end for Reddit . Contribute to redlib-org/redlib development by creating an account on GitHub.

Hello & Thank you everyone. I also got invidious working thanks to everyone's help and great info here.

I have it working with both inv-sig-helper & the companion.

I also have a question on SERVER_SECRET_KEY & invidious_companion_key meant to be the same . ( I have the invidious companion created via the docker UI)

I know hmack_key needs to be created with "openssl rand -hex 20"

I think SERVER_SECRET_KEY & invidious_companion_key need to be created with "openssl rand -hex 8" ? is that correct ?

Are we meant to use the same key for both of these or 2 separate random keys.

The inv-sig_helper plays almost everything with no issues.

I expected the companion to be better or at least as good, but with it, it does not seem to play some of video that sig_helper plays . ( I would say - it plays maybe 50% of the videos). The same video plays using in-sig-helper; but not with inv_companion.

Is this expected behaviour ? or is there something wrong with my setup.

here is my YML file for invidious

cat docker-compose.yml

services:

invidious:

container_name: invidious

image: quay.io/invidious/invidious:master

restart: unless-stopped

ports:

- "4000: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: kemal

host: xxx.xx.xx.xx

port: 5432

check_tables: true

# signature_server: xxx.xx.xx.xx:12999

# visitor_data: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# po_token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

external_port: 400

hmac_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# These environment variables configure invidious to communicate with invidious-companion

# They are separate from INVIDIOUS_CONFIG as they often control the companion itself.

INVIDIOUS_COMPANION_PRIVATE_URL: "http://xxx.xx.xx.xx:8282"

INVIDIOUS_COMPANION_PUBLIC_URL: "http://1xxx.xx.xx.xx:8282"

INVIDIOUS_COMPANION_KEY: "qazwsxedcrfvtgb" # IT is NOT recommended to use the same key as HMAC KEY. Generate a new key!

healthcheck:

test: wget -nv --tries=1 --spider http://127.0.0.1:4000/api/v1/trending || exit 1

interval: 30s

timeout: 5s

retries: 2

logging:

options:

max-size: "1G"

max-file: "4"

networks:

- inv

networks:

inv:

external: true

root@xerxes:/mnt/user/appdata/invidious/config#

and here is the invidious-companion

docker run
  -d
  --name='invidious-companion'
  --net='inv'
  --ip='xxx.xx.xx.xx'
  --pids-limit 2048
  -e TZ="America/New_York"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="xxxxxx"
  -e HOST_CONTAINERNAME="invidious-companion"
  -e 'SERVER_SECRET_KEY'='mjunhybgtvfrcdes'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.icon='https://cdn-1.webcatalog.io/catalog/invidious/invidious-icon-filled.png'
  -p '8282:8282/tcp'
  -v '/mnt/user/appdata/invidious/data/':'/var/tmp/youtubei.js/Config':'rw' 'quay.io/invidious/invidious-companion:latest'

82702d9ab122049ed0b1afe17fcabb97f838a32b654c81d14777254a8bee2ef3

The command finished successfully!

Edited by Al Asghar

Hello,

Have Troddit stopped working because of the recent reddit API changes (When they basically stopped all external apps on phone)?
I tried installing it today and I only get rate limited, can't log in - no errors. I've even tried with a VPN, at least then I could log in, but still only get rate limited.

  • Author
On 6/4/2025 at 5:58 AM, Stabster said:

Hello,

Have Troddit stopped working because of the recent reddit API changes (When they basically stopped all external apps on phone)?
I tried installing it today and I only get rate limited, can't log in - no errors. I've even tried with a VPN, at least then I could log in, but still only get rate limited.

Hello, mine still works for me however it is suuuuuper unreliable at times and does exactly what you talk about. I checked github and it has since been archived. I will remove it from the applist to prevent issues for others.

Edited by Joshndroid

  • 1 month later...

My Invidious instance recently stopped working and i haven't been able to troubleshoot it on my own. Unraid reports that the container is running but when i attempt to view from my browser, i get the message that it's unable to connect to the server.image.png

image.png

When i try to inspect the logs, i get this empty screen that auto-closes after a few seconds image.png

If i open a console into the container, it immediately closes.

I tried removing the container and docker image and reinstalling but i got the same result.

Is there anything else i should try to troubleshoot?

On 9/28/2025 at 10:16 PM, oro said:

My Invidious instance recently stopped working and i haven't been able to troubleshoot it on my own. Unraid reports that the container is running but when i attempt to view from my browser, i get the message that it's unable to connect to the server.image.png

image.png

When i try to inspect the logs, i get this empty screen that auto-closes after a few seconds image.png

If i open a console into the container, it immediately closes.

I tried removing the container and docker image and reinstalling but i got the same result.

Is there anything else i should try to troubleshoot?

The issue seems to be the sig helper container. If you want to see logs stop the container first, then check logs. My sig helper container is showing some Javascript errors which seems related to the news of Google killing all those recently.

5 hours ago, ThatGuyOrlando said:

The issue seems to be the sig helper container. If you want to see logs stop the container first, then check logs. My sig helper container is showing some Javascript errors which seems related to the news of Google killing all those recently.

Thanks for the advice. i was able to see the logs by stopping the container and it looks like the issue was invidious sig helper was deprecated.

image.png

So i switched to using that with the Docker Compose template from invidious's installation guide and got it working again.

Edited by oro

  • 3 weeks later...

I re-setup invidious for the companion app. Invidious can connect to the app, but I'm unable to setup the Database, are the instructions on page 1 still valid to setup the database, it seems those tables don't work on current invidious implementation? If someone has the commands or how to connect the db to run the scripts on postgress will help.

  • 3 months later...

Hello. I am currently switching my Docker to Tailscale. Only Baikal is causing problems. Does Baikal Docker not work with Tailscale? It seems as if the Docker keeps restarting.

tailscale found, continuing...
Settings Tailscale state dir to: /var/www/baikal/config/.tailscale_state
Setting host name to "test"
Starting tailscaled with log file location: /var/log/tailscaled
Starting tailscale
Some peers are advertising routes but --accept-routes is false
WARNING: Tailscale Key will expire in 179 days.
         Navigate to https://login.tailscale.com/admin/machines and 'Disable Key Expiry' for test
See: https://tailscale.com/kb/1028/key-expiry
Enabling Serve! See https://tailscale.com/kb/1312/serve
Available within your tailnet:

https://*******.ts.net/
|-- proxy http://localhost:80

Serve started and running in the background.
Starting container...

=======================

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-apply-home-assistant-fix.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-create-baikal-database-folder.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/40-disable-nginx-ipv6-if-unsupported.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/40-fix-baikal-file-permissions.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/40-php-fpm.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/50-start-msmtp.sh
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/Plugin-with-home-assistant-fix.php
/docker-entrypoint.sh: Configuration complete; ready for start up
=======================

Executing Unraid Docker Hook for Tailscale

Tailscale found, continuing...
Settings Tailscale state dir to: /var/www/baikal/config/.tailscale_state
Setting host name to "test"
Starting tailscaled with log file location: /var/log/tailscaled
Starting tailscale
Some peers are advertising routes but --accept-routes is false
WARNING: Tailscale Key will expire in 179 days.
         Navigate to https://login.tailscale.com/admin/machines and 'Disable Key Expiry' for test
See: https://tailscale.com/kb/1028/key-expiry
Enabling Serve! See https://tailscale.com/kb/1312/serve
Available within your tailnet:

https://******.ts.net/
|-- proxy http://localhost:80

Serve started and running in the background.
Starting container...

=======================

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-apply-home-assistant-fix.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-create-baikal-database-folder.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/40-disable-nginx-ipv6-if-unsupported.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/40-fix-baikal-file-permissions.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/40-php-fpm.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/50-start-msmtp.sh
/docker-entrypoint.sh: Ignoring /docker-entrypoint.d/Plugin-with-home-assistant-fix.php
/docker-entrypoint.sh: Configuration complete; ready for start up

How can i fix this and use baikal with tailscale?

Thanks.

  • 2 months later...
  • Author

Hello, this should be done. thank you for your update. I had stopped using baikal and went back to nextcloud sometime last year as it fit my purpose a little more.

On 1/31/2026 at 12:05 AM, touchatonku said:

Hello, Baikal is abandoned, a fork with the new version has been updated, possible to change in unraid community the new docker? Thank you

Ref : https://github.com/ckulka/baikal-docker

Forked: https://github.com/aalmenar/baikal-docker

thread: https://github.com/ckulka/baikal-docker/issues/307#issuecomment-3823809236

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.