Blog

  • Installer Tdarr sur WSL/Ubuntu

    Installer Tdarr sur WSL/Ubuntu

    SI ce n’est pas déjà fait, il faut installer docker.io et docker-compose avant d’installer Tdarr :

    $ sudo apt install docker.io docker-compose -y

    # Issue : https://unix.stackexchange.com/questions/724518/the-following-packages-have-unmet-dependencies-containerd-io

    Si vous rencontrez l’erreur :

    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     containerd.io : Conflicts: containerd
                     Conflicts: runc
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

    Il faut supprimer containerd avant d’installer docker.io :

    $ sudo apt-get remove containerd.io
    $ sudo apt install docker.io docker-compose -y
    $ sudo systemctl start docker
    $ sudo gpasswd -a $USER docker

    Puis composer le fichier docker-compose.yml :

    version: "3.4"
    services:
      tdarr:
        container_name: tdarr
        image: ghcr.io/haveagitgat/tdarr:latest
        restart: unless-stopped
        network_mode: bridge
        ports:
          - 8265:8265 # webUI port
          - 8266:8266 # server port
        environment:
          - TZ=Europe/Paris
          - PUID=$PUID
          - PGID=$PGID
          - UMASK_SET=002
          - serverIP=0.0.0.0
          - serverPort=8266
          - webUIPort=8265
          - internalNode=true
          - inContainer=true
          - ffmpegVersion=7
          - nodeName=MyInternalNode
          - auth=false
          - openBrowser=true
          - maxLogSizeMB=10
          - cronPluginUpdate=
          - NVIDIA_DRIVER_CAPABILITIES=all
          - NVIDIA_VISIBLE_DEVICES=all
        volumes:
          - /docker/tdarr/server:/app/server
          - /docker/tdarr/configs:/app/configs
          - /docker/tdarr/logs:/app/logs
          - /media:/media
          - /mnt:/mnt
          - /transcode_cache:/temp
    
        devices:
          - /dev/dri:/dev/dri
        deploy:
          resources:
            reservations:
              devices:
              - driver: nvidia
                count: all
                capabilities: [gpu]
    
    # node example
      tdarr-node:
        container_name: tdarr-node
        image: ghcr.io/haveagitgat/tdarr_node:latest
        restart: unless-stopped
        network_mode: service:tdarr
        environment:
          - TZ=Europe/London
          - PUID=$PUID
          - PGID=$PGID
          - UMASK_SET=002
          - nodeName=MyExternalNode
          - serverIP=0.0.0.0
          - serverPort=8266
          - inContainer=true
          - ffmpegVersion=7
          - nodeType=mapped
          - priority=-1
          - cronPluginUpdate=
          - apiKey=
          - maxLogSizeMB=10
          - pollInterval=2000
          - startPaused=false
          - transcodegpuWorkers=1
          - transcodecpuWorkers=2
          - healthcheckgpuWorkers=1
          - healthcheckcpuWorkers=1
          - NVIDIA_DRIVER_CAPABILITIES=all
          - NVIDIA_VISIBLE_DEVICES=all
    
        volumes:
          - /docker/tdarr/configs:/app/configs
          - /docker/tdarr/logs:/app/logs
          - /media:/media
          - /mnt:/mnt
          - /transcode_cache:/temp
    
        devices:
          - /dev/dri:/dev/dri
        deploy:
          resources:
            reservations:
              devices:
              - driver: nvidia
                count: all
                capabilities: [gpu]

    # Issue : https://github.com/HaveAGitGat/Tdarr/issues/610

    Si vous rencontrez l’erreur suivante lors de la composition :

    ERROR: for tdarr  Cannot start service tdarr: error gathering device information while adding custom device "/dev/dri": no such file or directory

    Il faut installer les pilotes NVIDIA :

    $ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
        sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
        sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    $ sudo apt update
    $ export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.0-1
      sudo apt-get install -y \
          nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
          nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
          libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
          libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}

    Puis configurer docker pour l’utiliser le pilote NVIDIA avec nvidia-ctk :

    $ sudo nvidia-ctk runtime configure --runtime=docker
    $ sudo systemctl restart docker
  • Installer Docker sur Debian

    Installer Docker sur Debian

    Qu’est-ce Docker et les conteneurs ?

    Ce sujet ayant déjà été abordé, replongez vous dans l’histoire des conteneurs.

    Une brève histoire des conteneurs

    Prérequis

    • Vous devez disposer d’Ubuntu 20.04 en version Desktop, Server ou ARM (Raspberry Pi).
    • Votre utilisateur doit avoir accès à sudo.
    • Les paquets curl et software-properties-common doivent être installés sur votre système. Dans le doute, tapez la commande suivante :
      sudo apt-get install -y curl software-properties-common
    • Vos dépôts APT doivent être à jour. Dans le doute, tapez la commande suivante : sudo apt update && sudo apt upgrade -y

    Installation de Docker & Docker Compose

    Docker

    Installez Docker :

    sudo apt-get install -y docker.io

    Vérifiez que Docker est correctement installé avec la commande :

    docker -v

    La commande doit retourner la version installée de Docker :

    Docker version 20.10.24+dfsg1, build 297e128

    Docker Compose

    Téléchargez Docker Compose avec la commande suivante en modifiant la version si besoin avec la dernière release du repository officiel de Docker :

    sudo curl -L https://github.com/docker/compose/releases/download/v2.40.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

    Ajoutez les droits d’exécution sur le binaire de Docker Compose :

    sudo chmod +x /usr/local/bin/docker-compose

    Vérifiez l’installation de Docker Compose avec la commande :

    docker-compose -v

    Si l’installation s’est correctement effectuée, cette commande doit vous renvoyer la version de Docker Compose :

    Docker Compose version v2.40.0

    Droits Unix

    Pensez à ajouter votre utilisateur au groupe Docker :

    sudo adduser $USER docker