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

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.

            Merrick merci pour ton retour. Ca fait plus de 24h qu'il est lancé donc je pense que ça va. Et on voit dans le logs que cette étape est passé en done non?

            Oui, tu vois qu'il passe à la ligne d'après
            Pour voir si c'est en cours :

            docker top <nom_du_container ou id>

            Si dedans tu vois un chmod ou chown (dans la colonne CMD), c'est que ça tourne encore, et qu'il faut le killer pour que ça continue

            (24 h c'est très long quand même, même pour 700 torrents)

            18 jours plus tard

            Bonjour depuis pas mal de temp j'ai ce symbole

            je suis en version 4.3.5 avec nginx proxy manager avec que le port declarer 45000 est ce normal ?

            merci

            5 jours plus tard

            Les deux dernières mises à jour du conteneur me posent des problèmes.
            Le conteneur redémarre parce qu'il dépasse l'utilisation de la RAM. Si je reviens à la version du conteneur d'il y a quinze jours, celle 2024.07.19, cela ne pose aucun problème.
            Est-ce que quelqu'un d'autre a eu ce problème et a pu le résoudre ?

              5 jours plus tard

              Oui je dois avoir un problème similaire, docker et mon dedié plantait totalement,obligé de le redémarrer et ça repartait pour moins de 24-48h avant de replanter...j'ai observé une grosse consommation CPU et RAM de rutorrent, en revenant en version 4.3.5, ces consommations sont revenue à la normale

                blashman et bossovitch
                Je ne rencontre pas ce soucis sur 3 instances :

                • k3s
                • rpi4
                • debian classique
                  Vous auriez un peu plus de détails ?
                  4 jours plus tard

                  MattProd
                  Instance Docker sur Synology DS918+ (Intel J3455) avec 16 Go de RAM
                  En partagent un peu plus de 4.000 fichiers