• Docker
  • [Discussion] Installer l'image Docker ruTorrent de Mondedie.fr

Diesel

D'après @MattProd , il aurait quelques problèmes également.
Il faudrait que je prenne le temps de tester sur plusieurs conteneurs l'image mais en ce moment c'est chaud.

Ce qui m'étonnes, c'est qu'il y a encore aucune issue d'ouvert sur le repo github officiel de rutorrent.

24 jours plus tard

bonjour,

y a t il un tuto quelque part pour la mise à jour de ce container ?

merci

Hello,

Option 1 :
docker stop rutorrent 
docker rm rutorrent
docker pull mondedie/rutorrent
docker run -d blablabla
Option 2 :

c'est un docker-compose.yml ->

cd /chemin/du/dossier/ou/se/trouve/docker-compose.yml
docker compose down
docker compose pull
docker compose up -d
Option 3:

Installer watchtowerr et il met à jour tout seul comme un grand toutes les 24h, enfin il met à jour tout les containers présents et ceux dont l'image porte le tag : latest. Si le tag est sur une version spécifique alors il ne touche pas.

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

Tu trouveras plus d'info sur ce dernier ici

Matt

je reviens sur le sujet.
lorsque je fais cette mise à jour, il remet tout le container à zéro, or j'y opère quelques modifs ( ajout de msmtp + conf)
quelle est le bonne démarche pour faire ces ajouts, si j'utilise un automatisme de mise à jour comme watchtower ?
car si je fais un clone du projet git sur mon git à moi pour le compléter par mes modifs, je n'aurai plus les mises à jour régulière de l'original.

Can someone help me with how to install rutorrent on Synology
With this configuration, it doesn't work
I'm grateful for any help.
If someone were to provide a suitable configuration, I'd buy them a beer.

docker run --name rutorrent -dt \
-e PUID=1026 \
-e PGID=100 \
-e DHT_RTORRENT=on \
-e PORT_RTORRENT=6881 \
-p 9080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-p 45882:45882
-v /volume1/docker/rutorrent/config:/config \
-v /volume1/docker/rutorrent/data:/data \
mondedie/rutorrent:filebot

Update
With this config it seems to be running,

 
docker run -dt \
--name=rutorrentseries \
--restart always \
-e HTTP_AUTH=true \
-e CHECK_PERM_DATA=false \
-p 9202:8080 \
-p 47918:45000 \
-v /volume1/docker/rutorrentseries:/config \
-v /volume1/docker/PreSeries:/data/downloads \
-v /volume1/docker/sourcetorrents/PreSeries:/data/.watch \
-v /volume1/docker/rutorrentseries/session:/data/.session \
--label=com.centurylinklabs.watchtower.enable=true \
mondedie/rutorrent:latest

but I only get an error when I access http://xxxxxxx:8080, I receive this error message.**

[03.05.2024 14:00:06] WebUI started.
[03.05.2024 14:00:08] JS error: [http://xxxxxxx:8080/ : 9] Uncaught TypeError: Cannot read properties of undefined (reading 'langLoaded')

  • Diesel a répondu à ça.
    21 jours plus tard

    Sillion

    hello try running it like this
    docker run -dt \
    --name=rutorrent \
    --restart always \
    -p 45000:45000 \
    -p 8080:8080 \
    -v /home/USER1/docker/rutorrent:/config \
    -v /home/USER1/mnt/torrent:/data/downloads \
    -v /home/USER1/mnt/sourcetorrents/PreSeries:/data/.watch \
    -v /home/USER1/docker/rutorrentseries/session:/data/.session \
    mondedie/rutorrent:latest

    finally for updates I use the diun image which notifies you of an update by email or any other platform (discord, slack, etc...) and it is up to you to do it I find this safer system because this is what update we need to do

    diun (https://crazymax.dev/diun/)

    5 jours plus tard

    Bonsoir,

    Apres de longues années d'utilisations et de bonheur de la bonobox qui fonctionne d'ailleurs encore, je voudrais essayer de migrer sur du docker.
    Je trouve le fonctionnement assez génial est vraiment pratique.
    Mais je bloque sur un petit détail.
    J'utilise sur le rtorrent dans le fichier de config rtorrent.rc
    method.set_key = event.download.finished,ftp,"execute=/config/ftp.sh,$d.name="
    J'ai fait un petit batch pour envoyer directement le fichier une fois terminé à la maison sur via sftp.
    Méthode d'ailleurs trouvé sur ce forum il ya quelques année, mais impossible de le faire fonctionner.
    Et en essayant depuis le shell du contener il me semble que n'est pas intégrer la commande sftp ainsi que le sshpass.
    Possible de l'intégrer facilement ou alors il y aurait une autre méthode pour exécuter cette commande ?

    Merci encore du boulot et de faire découvrir ce genre de techno incroyable :-)

    Bonjour,

    première fois que j'utilise ce container à l'occasion d'une migration deb10 vers deb12.
    j'ai rencontré plusieurs pb

    • impossible passer les arguments GID/UID dans le docker compose => j'ai fait avec la ligne de commande
    • impossible d'activer le plugin ratiocolor de Gryan

    pour ratiocolor j'ai copié le plugin directement dans le container, je sais pas pourquoi les symlinks ne fonctionnent pas.

    Au passage pour Gryan : le lien dans https://github.com/Gyran/rutorrent-ratiocolor/blob/master/plugin.info renvoi sur une page douteuse ...(le site n'existe plus et les redirections sont parfois dangereuses).

    Et merci pour le container c'est top.
    Peut être ajouter dans le tuto comment mettre à jour le container.
    Je recommande de mettre un reverse proxy en amont pour sécuriser avec https si possible.

    A+

      Grosminet bonjour,
      Merci pour ton retour.
      Je suis surpris pour l'UID et le GID tu peux nous mettre ton docker-compose.yml ?
      Pour le plugin, je viens de tester celui de Gyran ( je connaissais que celui de Micdu70 )
      Voici ce que j'ai suivi :

      cd ~/docker/rutorrent2/config/custom_plugins
      git clone https://github.com/Gyran/rutorrent-ratiocolor.git ratiocolor
      sudo chown -R ${USER}: ratiocolor
      docker restart rutorrent2

      Le choix du reverse proxy est à l'appréciation de l'utilisateur et de l'exposition public ou pas.
      Il est possible d'avoir un htaccess de générer dans le container sinon ici c'est un bon début

      Matt

      [EDIT]
      Je préferais celui de Mic 😅

      [/EDIT]

      EDIT : non ça marche pas (avec le bon docker-compose)

      version: "3.8"
      services:
        rutorrent:
          image: mondedie/rutorrent:latest
          container_name: rutorrent2
          environment:
            - HTTP_AUTH=true
            - GID=1000
            - UID=1000
          volumes:
            - ./config:/config
            - /home/xxxxxx/data:/data
          ports:
            - 8090:8080
            - 45000:45000
          restart: unless-stopped
      Recreating rutorrent2 ...
      
      ERROR: for rutorrent2  'ContainerConfig'
      
      ERROR: for rutorrent  'ContainerConfig'
      Traceback (most recent call last):
        File "/usr/bin/docker-compose", line 33, in <module>
          sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main
          command_func()
        File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_command
          handler(command, command_options)
        File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapper
          result = fn(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in up
          to_attach = up(False)
                      ^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in up
          return self.project.up(
                 ^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in up
          results, errors = parallel.parallel_execute(
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
          raise error_to_reraise
        File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
          result = func(obj)
                   ^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in do
          return service.execute_convergence_plan(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_plan
          return self._execute_convergence_recreate(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreate
          containers, errors = parallel_execute(
                               ^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
          raise error_to_reraise
        File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
          result = func(obj)
                   ^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreate
          return self.recreate_container(
                 ^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_container
          new_container = self.create_container(
                          ^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_container
          container_options = self._get_container_create_options(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_options
          container_options, override_options = self._build_container_volume_options(
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_options
          binds, affinity = merge_volume_bindings(
                            ^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindings
          old_volumes, old_mounts = get_container_data_volumes(
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumes
          container.image_config['ContainerConfig'].get('Volumes') or {}
          ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
      KeyError: 'ContainerConfig'

      EDIT2

      docker-compose up -d est deprecated ...il faut utiliser

      docker compose up -d 

        Grosminet alors à vu de nez : la version de docker compose que tu utilises est quand même bien passée 😅
        Tu as suivi quel doc pour installer docker ?
        Je viens de tester avec un docker compose sur une machine propre et ça passe.

        bon ça marche après purge maintenant il faut que je comprenne pourquoi les flux rss ne se mettent pas à jour.
        ils se mettent à jour mais je suis obligé de refresh la page pour que les filtres fonctionnent

        un mois plus tard

        Bonjour,

        Merci pour l'image Docker

        1)Quand je veux activer l'authentification HTTP, il me signale un conflit avec un container rutorrent. Est-ce que je peux sauter cette étape et me contenter de générer un mot de passe avec un nom d'utilisateur de mon choix ?

        2)Comment accède-t-on en ftp au dossiers de téléchargement ?

        Merci

          Victor si tu as un conflit c'est qu'il y'a une commande qui est mal exécutée quelque part.
          Perso je met un reverse-proxy dedans comme NPM et le htaccess est géré par ce dernier.
          Pas de FTP à proprement parler ici, il faut en installer un à côté.

          Salut à tous !

          J'utilise l'image depuis des années et là j'ai un petit soucis avec rutorrent. Voila l'erreur que j'ai lorsque je vais la page rutorrent:

          J'ai plus de 700 torrents en upload mais je n'ai jamais eu de soucis auparavant.

          Vous avez une idée comment corriger cela sans perdre mes torrents en upload ? J'ai beau relancé le docker ça ne change rien. J'ai la dernière version du docker avec le tag filebot.
          Merci d'avance pour l'aide apportée

          Je précise que rtorrent fonctionne toujours puisque je peux toujours télécharger via le plugin torrent control.

            Hello Cyprien
            Tu n'aurais pas des logs un peu plus parlant avec :

            docker logs -f nomducontainer/rutorrent 

            Parce que là je vois pas, ou bien c'est la limite des torrents dans rutorrent mais j'ai vu des instances tournées avec plus de fichiers que ça donc je sais pas trop...


            j'ai rien d’intéressant mais même en supprimant le dossier .session j'ai la même erreur donc ça doti venir d'ailleurs. Je vais essayer de repartir d'un container qui marche et je rajouterais le .session ensuite. Je vous tiens au courant.

            EDIT:

            je comprends pas pourquoi j'ai le volume run/php:run/rtorrent. Je vais essayer sans.

            Attention, le apply data permissions peut être très long si tu as beaucoup de volume (il fait un chown recursif sur les torrents). Tant que cette étape n'est pas terminée, ton rutorrent ne se lance pas, et ça m'est arrivé d'attendre plusieurs dizaines de minutes pour que ce soit ok.

            Si tu es sur des droits des torrents, tu peux aussi killer le process dans le container

            docker exec -it <nom du container>
            ps -edf | grep chown
            kill <pid du process>

            et ctrl +d pour sortir

            Plus tu as de volume, plus ça va être long à démarrer à cause de cette étape.