Invidious

Invidious

Petit article pour vous montrer comment monter un service Invidious sous Docker et regarder enfin les vidéos Youtube sans publicité.

Introduction

Invidious est un frontal alternatif gratuit et open-source pour YouTube. Il est disponible sous forme de conteneur Docker, ou à partir de la branche principale de GitHub. Il est destiné à être utilisé comme une alternative légère et respectueuse de la vie privée au site officiel de YouTube. L'un des avantages d'Invidious est que vous pouvez regarder des vidéos YouTube sans PUB.

Allez regarder un petit peu de quoi il retourne en détails :
https://invidious.io/

Prérequis

Je pars du principe que vous avez un domaine (valide), ainsi qu'un serveur Traefik correctement installé et fonctionnel ; pour faire le lien entre le sous-domaine d'Invidious et le service qui tournera sous Docker.

L'autre prérequis est que vous ayez un serveur PostgreSQL disponible et fonctionnel dont vous connaissez l'adresse, le port, ainsi que les paramètres de connexion (login / password).

Docker Compose

Voici le contenu du docker-compose à copier/coller simplement sous Portainer dans une nouvelle stack :

version: "3.0"

services:

  invidious:
    container_name: invidious
    hostname: invidious
    restart: unless-stopped
    image: quay.io/invidious/invidious:latest
    security_opt:
      - no-new-privileges:true
    stdin_open: true
    tty: true
    ports:
      - "4000:3000"
    expose:
      - "3000"
    healthcheck:
      test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/comments/jNQXAC9IVRw || exit 1
      interval: 30s
      timeout: 5s
      retries: 2
    user: 1000:1000
    environment:
      TZ: "Europe/Paris"
      PUID: 1000
      PGID: 1000
      LANG: fr_FR.UTF_8
      LANGUAGE: fr_FR:fr
      LC_ALL: fr_FR.UTF_8
      INVIDIOUS_CONFIG: |
        db:
          dbname: invidious
          user: root
          password: [your password]
          host: [postgres host name/ip]
          port: 5432
        check_tables: true
        captcha_enabled: true
        default_user_preferences:
          locale: fr
          region: FR
        domain: [domain to use]
        external_port: 443
        https_only: true
        use_quic: false
        log_level: Warn
        captions: ["French", "English", ""]
        quality: dash
        quality_dash: auto
        registration_enabled: true
        admins: [put here your account ID]
        admin_email: [admin email]
        dark_mode: true
        statistics_enabled: true
        hsts: true
        popular_enabled: true
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/run/docker.sock:/var/run/docker.sock

Ce que vous aurez à modifier et / ou adapter est indiqué entre crochets :

  • password
  • host
  • domain
  • admins
  • admin_email

Utilisation

Une fois la stack crée sous Portainer et le service en cours d'exécution, nous n'avez plus qu'à vous rendre sur https://[url d'Invidious] pour profiter de l'outil.

Vous aurez à vous créer un compte en pensant à utiliser comme pseudo celui que vous aurez renseigné dans la partie admins de la configuration ; ainsi, vous aurez accès aux options d'administration directement depuis l'interface.

Exemple

Pensez à passer au Dark Mode pour sauver la planète :)

Conclusion

Tant que le service pourra fonctionner, ça permet de regarder les vidéos Youtube sans publicité.

Par contre, c'est très consommateur de bande-passante...