Dans ton Docker ruTorrent tu as bien
-v /run/php:/run/php/
si j'en crois ta 2e commande ?

moi j'ai mappé /opt/appdata/rutorrent/sock donc ça donne

docker run -it --rm \
    -v /mnt/downloads/rutorrent:/mnt/downloads/rutorrent \
    -v /opt/appdata/rutorrent/sock/.rtorrent.sock:/run/php/.rtorrent.sock \
    --network plexguide \
    --link rutorrent:rtorrent \
    magicalex/docker-rtorrent-cleaner report --scgi=/run/php/.rtorrent.sock

Bonjour,

Je viens de tester la config ci dessous avec linuxserver/rutorrent
https://mondedie.fr/d/10037-rtorrent-cleaner-un-script-pour-liberer-de-la-place-sur-votre-seedbox-!/223

J'ai placé le script dans /usr/local/bin

Du coup je tape rtorrent-cleaner report et ca fonctionne.

execute = {sh,-c,/usr/bin/php7 /usr/share/webapps/rutorrent/php/initplugins.php abc &}
execute.nothrow = rm,/run/php/.rtorrent.sock
network.scgi.open_local = /run/php/.rtorrent.sock
schedule = socket_chmod,0,0,"execute=chmod,0660,/run/php/.rtorrent.sock"
schedule = socket_chgrp,0,0,"execute=chgrp,abc,/run/php/.rtorrent.sock"
log.open_file = "rtorrent", /config/log/rtorrent/rtorrent.log
log.add_output = "info", "rtorrent"
min_peers = 40
max_peers = 1200
max_uploads = 15
download_rate = 90000
upload_rate = 30000
# schedule = watch_directory_1,5,5,"load.start=/downloads/watched/*.torrent"
directory = /home/yohann/local/rutorrent
session = /config/rtorrent/rtorrent_sess
schedule = low_diskspace,5,60,close_low_diskspace=5000M
# ip = 178.32.28.51
bind = 0.0.0.0
port_range = 5000-5000
check_hash = no
encryption = allow_incoming,try_outgoing,enable_retry
#dht = auto
#dht_port = 6881
# network.http.ssl_verify_peer.set=0
# scgi_port = 0.0.0.0:5000
encoding_list = UTF-8
# system.umask.set = 022
directory.default.set = /home/yohann/local/rutorrent
throttle.max_downloads.global.set = 500
throttle.max_uploads.global.set = 50
system.file.allocate.set = 0
max_downloads = 10
throttle.global_up.max_rate.set_kb = 0
pieces.preload.type = 2
network.http.dns_cache_timeout.set = 25
network.send_buffer.size.set = 12M
network.receive_buffer.size.set = 4M
throttle.min_peers.seed.set = 0
throttle.max_peers.seed.set = -1

Vous pouvez me donner la config définitive pour linuxserver les gars? je vais la mettre dans le readme du projet.

Hier j'ai sorti la version 0.9.2 qui je l'espère corrige ce bug issue github
Les performances devraient même être légèrement meilleur puisque j'ai simplifié la logique.

Si y a des erreurs merci de me le faire remonter ici ou sur le github.

@Aerya oui je ne communique plus via l'url de rutorrent parce que c'était spécifique aux utilisateurs de rutorrent.
Maintenant je communique directement avec rtorrent donc tout le monde peut utiliser rtorrent-cleaner (par exemple les utilisateurs de flood) et les performances sont bien meilleurs aussi.

Voici comment je lance mon rutorrent

  rutorrent:
    image: linuxserver/rutorrent:latest
    restart: always
    container_name : rutorrent
    ports:
      - 5000:5000
      - 49161:49161
      - 49160:49160/udp
    environment:
      - TZ=Europe/Paris
      - PGID=1001
      - PUID=1001
    volumes:
      - /home/aerya/docker/rutorrent:/config
      - /home/aerya/mnt:/downloads
    labels:
      - com.centurylinklabs.watchtower.enable=true

Et je tente de lancer le cleaner en version Docker.

Le problème est que quand j'ajoute - /run/php:/run/php alors rTorrent est en défaut (can't connect etc). Vous êtes sûrs que vous utilisez ça avec Linuxserver ?!

    Aerya tu peux retirer le port 5000 linuxserver utilise un socket.

    Il faut que tu montes sur un volume le socket rtorrent voir ici dans la discussion

    Configuration de magicalex/docker-rtorrent-cleaner pour linuxserver/rutorrent

    docker-compose.yml

      rutorrent:
        image: linuxserver/rutorrent:latest
        restart: always
        container_name : rutorrent
        ports:
          - 49161:49161
          - 49160:49160/udp
        environment:
          - TZ=Europe/Paris
          - PGID=1001
          - PUID=1001
        volumes:
          - /home/user/docker/rutorrent:/config
          - /home/user/downloads:/downloads
          - /run/php:/run/php
        labels:
          - com.centurylinklabs.watchtower.enable=true

    script: /usr/local/bin/rtorrent-cleaner

    #!/bin/sh
    
    docker run -it --rm \
      -v /home/user/downloads:/downloads \
      -v /run/php:/run/php \
      magicalex/docker-rtorrent-cleaner $*

    Pour faire un rapport

    rtorrent-cleaner report --scgi=/run/php/.rtorrent.sock

    D'ailleurs c'est un peu nimp leur config, ils utilisent un socket et après ils vous font ouvrir le port 5000 pour scgi 🤦‍♂️

    OK merci, je retente une config.
    EDIT : Et donc, comme avant, le container ruTorrent ne fonctionne pas dès lors que j'ajoute /run/php:/run/php... Il dit qu'il ne trouve pas le .rtorrent.rc

      Aerya chez moi ça fonctionne. T'as le message d'erreur?

      EDIT: je viens d'essayer avec l'image linuxserver et ça marche de mon coté. Il faut attendre un peu quelque instant que le container finisse de s'installer mais après c'est ok.

        Au cas ou, lorsque tu fais un script, en tout cas chez moi, tu n’as pas besoin de taper
        rtorrent-cleaner report --scgi=/run/php/.rtorrent.sock
        mais juste
        rtorrent-cleaner report
        Quoique ca ne change rien je viens d'essayer ca marche aussi

          laster13 Hors sujet: Pourquoi vous utilisez l'image de linuxserver? elle a quoi comme avantage?

          C'est juste qu'à un moment donné par rapport à mon script j'avais des iowait avec l'image de @xataz, enfin je pensais que ca venait de l'image mais au final non. Du coup aujourd hui je suis resté sur celle de linuxserver par habitude mais je pourrais tout aussi bien revenir sur celle de @xataz. Et puis le challenge etait aussi de faire fonctionner rutorrent-cleaner avec l'image linuxserver 😉

          Magicalex

          [29.10.2019 21:01:40] Lien incorrect avec rTorrent. Vérifiez qu'il soit bien en cours d'exécution. Vérifiez la configuration de $scgi_port et de $scgi_host dans config.php et de scgi_port dans le fichier de configuration de rTorrent.

          Bref... Passons.

          J'utilise LinuxServer plutôt que Xataz parce qu'à l'époque avec LS j'étais certain que ce serait suivi. Je vais tester avec Xataz.

          laster13 Moi c'est le docker ruTorrent qui ne tourne plus dès que je modifie son lancement.

            Aerya le socket est bien présent sur ta machine?

            ls -al /run/php

            Y a pas de raison que cela ne fonctionne pas, je viens de tester sur ma machine avec l'image linuxserver est ça fonctionne 😕

            T'as bien modifié le script rtorrent-cleaner? Lance cette commande.

            docker run -it --rm \
              -v /home/aerya/mnt:/downloads \
              -v /run/php:/run/php \
              magicalex/docker-rtorrent-cleaner report --scgi=/run/php/.rtorrent.rc

            et vérifie les logs de docker-compose

            docker-compose logs -f

            Oui le socket est présent. En revanche ça ne me sert à rien, y'a aucun ruTorrent qui se lance :

            • Celui de Xataz est en train de me chown mes fichiers (et il va lui falloir des années),
            • LinuxServer ne se lance pas, il ne trouve pas le rtorrent.rc alors qu'il est au même endroit, même droits, même contenu.
              Je vais regarder tout ça.

            EDIT : franchement parfois c'est à se demander...j'ai rebooté la machine et LinuxServer tourne au poil. Merci de votre aide dans tous les cas 🙂

            En revanche maintenant j'ai une erreur avec Cleaner (version Docker). J'ai peut-être trop de fichiers à scanner sur le disque ? (~ 8To)

             rtorrent-cleaner • report │
            └───────────────────────────┘
            
             ████████████████████████████ 90%
             remaining time: < 1 sec
             status: recovering the files list from rtorrent...
            PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 4654928 bytes) in phar:///usr/local/bin/rtorrent-cleaner/src/Rtorrent.php on line 33

              Aerya tu peux mettre à jour l'image docker-rtorrent-cleaner et dis moi si tu as tjrs la même erreur.

              T'as combien de torrent à analyser?
              Je pense qu'il va falloir changer memory_limit dans le php.ini tu dépasses de 4mo sur les 128mo autorisé.

              433 Torrents. Pas mieux avec le dernier pull

              ───────────────────────────┐
              │ rtorrent-cleaner - report │
              └───────────────────────────┘
              
               ████████████████████████████ 51%
               ████████████████████████████ 61%
               remaining time: 13 secs
               status: recovering the files list from rtorrent...
              PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/rtorrent-cleaner/src/Rtorrent.php on line 42
              

                🎉 J'ai sorti la version 0.9.3 🎉

                Cette nouvelle version par rapport à la 0.9.2 améliore quelques points

                • Il y a un tuto dans le readme pour l'image linuxserver/rutorrent ici
                • Le message d'erreur de connexion à rtorrent est plus explicite.
                • Pour l'image docker on peut augmenter la taille de la mémoire limite de php (memory_limit)
                • Quelques modifications de code mineur.

                Aerya Il faut que tu augmentes la mémoire limite de php, je viens de modifier l'image docker pour le faire.

                docker pull magicalex/docker-rtorrent-cleaner:latest
                docker run -it --rm \
                  -e PHP_MEMORY_LIMIT=256M \
                  -v /home/aerya/mnt:/downloads \
                  -v /run/php:/run/php \
                  magicalex/docker-rtorrent-cleaner report --scgi=/run/php/.rtorrent.rc

                Merci !!!! @Magicalex 🙂

                Je sais pas si je dois sourire ou pleurer... En tous cas je dois revoir mes scripts !

                Total recoverable space | 1.85 To

                  Aerya Dis moi si tu vois des erreurs dans les fichiers manquant et en trop, ça m'intéresse les utilisateurs comme toi qui ont beaucoup de données à traiter.

                  Le script s'est exécuté assez rapidement?

                  Ça va oui surtout que la machine en question est déjà bien occupée. J'ai pas d'erreur dans les fichiers qui sont à effacer.

                     | Total recoverable space        | 1.84 To    |
                  +------+---------------------------------------------------------------------------------------------------------+------------+
                  
                  No missing files.
                  
                  time: 8min 49sec 343ms, torrents: 439, free space: 3.1 To
                  

                  Les gens j'ai besoin de votre avis. Les options --scgi= et --port je ne peux pas les rendre obligatoire puisque comme leurs nom l'indique c'est des options... 😅
                  Le problème c'est que sans ses options rtorrent-cleaner ne fonctionne, donc elles sont... obligatoire.

                  Soit je crée un système de fichier de configuration par exemple ~/.rtorrent-cleaner.yml et on renseigne le hostname scgi/port/socket. Soit on passe tout en argument ou les deux.

                  Par exemple

                  rtorrent-cleaner report 127.0.0.1 5000 # cette syntaxe je l'a trouve pas très claire...
                  rtorrent-cleaner report 127.0.0.1:5000
                  rtorrent-cleaner report /run/php/.rtorrent.rc
                  rtorrent-cleaner report --config=~/.rtorrent-cleaner.yml

                  Voilà, j'aimerai bien avoir votre avis sur la question.