Installer Tube Archivist avec Docker
Tube Archivist

Installer Tube Archivist avec Docker

Table des matières

Parfois nous tombons sur des pépites sur Youtube qui peuvent disparaître pour des raisons plus ou moins obscures. Soit la la vidéo a été supprimée, soit Youtube s'en est chargé.

Il peut donc être utile d'archiver le contenu qui vous plaît. De plus, si vous avez des enfants, afin d'éviter de les exposer aux publicités, vous pouvez également leur constituer une base de médias filtrés et sans publicités.

Car oui, tout ce qui sera archivé grâce à Tube Archivist sera sans aucune publicité.


⚡Caractéristiques

Une fois que votre collection de vidéos YouTube s'agrandit, il devient difficile de rechercher et de trouver une vidéo spécifique. C'est là qu'intervient Tube Archivist : en indexant votre collection de vidéos avec des métadonnées de YouTube, vous pouvez organiser, rechercher et profiter de vos vidéos YouTube archivées sans problème hors ligne via une interface Web pratique. Ceci comprend:

  • S'abonner à vos chaînes YouTube préférées
  • Télécharger des vidéos en utilisant yt-dlp
  • Indexer et rendre les vidéos consultables hors ligne
  • Lire des vidéos
  • Gardez une trace des vidéos visionnées et non visionnées

L'installation

Petite parenthèse:

💡
Cela peut sembler un peu compliqué, mais c'est réglé en quelques secondes. Aidez-vous de la vidéo en fin de tutoriel 👍

Il y a une petite astuce à faire afin d'éviter de futurs éventuels problèmes avec elasticsearch après l'installation, conformément à la documentation sur le Github de Tube Archivist.

Assurez vous de donner les bons droits au dossier es (pour elasticsearch).

Imaginons que vous ayez gardé le chemin que je donne dans tous les tutoriels et que le dossier d'installation de Tube Archivist soit... tubearchivist:

/srv/appdata/tubearchivist

Rendez-vous dans /appdata:

cd /srv/appdata

Créez les dossiers nécessaires:

mkdir tubearchivist

Et celui de es:

mkdir tubearchivist/es

On va donner les droits qui sont conseillés par Tube Archivist:

sudo chown 1000:1000 -R tubearchivist/es

⚠️ Il se peut que votre UID et GID ne soit pas 1000. Pour vérifier, vous devrez exécuter deux commandes pour le savoir, remplacez zarev par votre nom d'utilisateur:

id -u zarev

et

id -g zarev

Ce qui donne:

Rendez-vous à nouveau dans le dossier tubearchivist afin de poursuivre le tutoriel:

cd tubearchivist

Cette parenthèse est terminé, place à le suite.


  1. Créez votre docker-compose.yml:
nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: '3.5'

services:
  tubearchivist:
    container_name: tubearchivist
    restart: unless-stopped
    image: bbilly1/tubearchivist
    ports:
      - 8123:8000
    volumes:
      - /srv/appdata/tubearchivist/media:/youtube
      - /srv/appdata/tubearchivist/cache:/cache
    environment:
      - ES_URL=http://archivist-es:9200     
      - REDIS_HOST=archivist-redis          
      - HOST_UID=1000
      - HOST_GID=1000
      - TA_HOST=tubearchivist.local         #  
      - TA_USERNAME=tubearchivist           # 
      - TA_PASSWORD=verysecret              # 
      - ELASTIC_PASSWORD=verysecret         # 
      - TZ=Europe/Brussels                  # 
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 2m
      timeout: 10s
      retries: 3
      start_period: 30s
    depends_on:
      - archivist-es
      - archivist-redis
  archivist-redis:
    image: redis/redis-stack-server
    container_name: archivist-redis
    restart: unless-stopped
    expose:
      - "6379"
    volumes:
      - /srv/appdata/tubearchivist/redis:/data
    depends_on:
      - archivist-es
  archivist-es:
    image: bbilly1/tubearchivist-es         # 
    container_name: archivist-es
    restart: unless-stopped
    environment:
      - "ELASTIC_PASSWORD=verysecret"       # 
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "xpack.security.enabled=true"
      - "discovery.type=single-node"
      - "path.repo=/usr/share/elasticsearch/data/snapshot"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /srv/appdata/tubearchivist/es:/usr/share/elasticsearch/data    # check for permission error when using bind mount, see readme
    expose:
      - "9200"

volumes:
  media:
  cache:
  redis:
  es:

TA_HOST=tubearchivist.local => Indiquez votre domaine sans https/http, si vous n'en avez pas, mettez votre ip.
TA_USERNAME=tubearchivist => définir un login pour votre compte
TA_PASSWORD=verysecret => définir un mot de passe pour votre compte
ELASTIC_PASSWORD=verysecret => remplacez verysecret par un mot de passe différent de votre compte
TZ=Europe/Brussels => définir votre Time Zone suivant votre localisation
image: bbilly1/tubearchivist-es => si vous avez un CPU x64, ne changez rien, si non remplacez par cette ligne: image: bbilly1/elasticsearch:8.11.0
"ELASTIC_PASSWORD=verysecret" => verysecret doit correspondre au mot de passe choisi à l'étape ELASTIC_PASSWORD=verysecret

  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi (patientez un peu, cela peut prendre un peu de temps avant de se lancer. La touche F5 est notre amie:
http://ip:8123

L'installation en vidéo


🎵Legacy of Chopin. Nocturne No. 20 Hip-Hop version. Background music - White_Records

🎵Beethoven - Moonlight Sonata (1. Movement) - Op. 27, Nr. 2 - GregorQuendel


Dernier point, il existe un plugin nommé Tube Archivist Compagnion pour Firefox et Chrome (et Brave par la même occasion) afin de pouvoir importer directement dans Tube Archivist la vidéo Youtube ou vous abonner.

Cliquez sur la ⬇️ pour télécharger la vidéo sur Tube Archivist ou cliquez sur Subscribe pour vous abonner:

Ajoutez le plugin correspondant à votre navigateur, ensuite il faudra remplir deux informations:

Archivist URL => http:ip:port/ ou votre domaine
Tube Archivist API Key => API Key que vous pouvez trouver dans la partie Application

Tout en bas:

Une fois le tout correctement complété, vous aurez un V vert signifiant que tout est en ordre:

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer