Invidious: The media could not be loaded format not supported

Invidious ist eineSoftware, die es ermöglicht, Videos von YouTube anzusehen, ohne direkt die offizielle YouTube-Website, oder App zu verwenden. Die selbstgehostete Software ermöglicht eine werbefreie Nutzung von Youtube und schützt die Privatsphäre der Nutzer, indem es Tracking durch Google verhindert. Invidious bietet die weiteren Funktionen wie das Herunterladen von Videos, das Ansehen ohne Anmeldung und die Möglichkeit, nur den Audiostream abzuspielen.

Ich hatte nun etwas länger meine private Instanz auf dem Homeserver genutzt und stieß auf den Fehler
„The media could not be loaded, either because the server or network failed or because the format is not supported“.

Damit die Software wieder produktiv arbeitet, muss hier ein weiterer Container erstellt und die Datei docker-compose.yml für Euren Stack umgeschrieben werden.

Als Erstes wird ein einzelner Container via

 docker run quay.io/invidious/youtube-trusted-session-generator

gestartet und nach einem Start die Ausgabewerte des Containers für visitor_data und po_token kopiert.
Dieser Container beendet sich nach der Ausgabe von selbst und sollte nicht detached gestartet werden.

docker run quay.io/invidious/youtube-trusted-session-generator
[INFO] internally launching GUI (X11 environment)
[INFO] starting Xvfb
[INFO] launching chromium instance
[INFO] launching browser.
[INFO] waiting 10 seconds for the page to fully load.
visitor_data: TOLLERHASHWERT1
po_token: TOLLERHASHWERT2
successfully removed temp profile /tmp/uc_3aimnef0

Jene Werte habe ich, inklusive des neuen Containers, in die Datei docker-compose.yml eingepflegt.

version: "3"
services:
  invidious:
    image: quay.io/invidious/invidious:latest
    container_name: invidious
    restart: unless-stopped
    ports:
      - "4000:3000"
    environment:
      INVIDIOUS_CONFIG: |
        db:
          dbname: invidious
          user: kemal
          password: kemal
          host: invidious-db
          port: 5432
        check_tables: true
        signature_server: inv_sig_helper:12999
        visitor_data: TOLLERHASHWERT1
        po_token: TOLLERHASHWERT2
        quality: dash

        registration_enabled: false
        top_enabled: false
        related_videos: false
        comments: ["",""]
        login_enabled: false
        domain: TOLLERFQDN
        hmac_key: "BLABLABLABLABLA"

    depends_on:
      - invidious-db
    logging:
      options:
        max-size: "1G"
        max-file: "4"

  inv_sig_helper:
    image: quay.io/invidious/inv-sig-helper:latest
    init: true
    command: ["--tcp", "0.0.0.0:12999"]
    environment:
      - RUST_LOG=info
    restart: unless-stopped
    cap_drop:
      - ALL
    read_only: true
    security_opt:
      - no-new-privileges:true
  invidious-db:
    image: docker.io/library/postgres:14
    restart: unless-stopped
    container_name: invidious-db
    volumes:
      - ./postgresdata:/var/lib/postgresql/data
      - ./config/sql:/config/sql
      - ./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"]
    networks:
      - default

Weiterführende Informationen bezüglich einem Fehler mit sigv_helper und kontobasierter Authentifizierung finden sich in der Issue 4947 auf Github

Viel Spaß mit Invidious.