Seedbox : installer le client torrent Flood sous Debian 8
L’autre jour je vous présentait l’installation de Transmission, un client de torrent basique, mais stable, et très facile à installer. Pour ceux d’entre vous qui sont prêts à passer un peu plus de temps pour avoir un client plus performant et plus design, voici Flood !
C’est une interface web en Node.js ( 😕 ) pour rTorrent, un client en lignes de commandes qui est stable et léger, et qui est souvent utilisé avec Rutorrent, une interface web qui elle est en PHP (mais moins jolie !).
Pour ceux qui veulent voire à ça ressemble, j’ai mis une petite galerie à la fin de l’article. 🙂
Une Seedbox ?
Une seedbox est un serveur dédié au téléchargement et au partage de fichiers torrents. Flood est une interface web qui nous permet de télécharger ces fichiers.
Pourquoi avoir une seedbox ? Le fait que ce soit un serveur signifie que :
• vous avez beaucoup de stockage
• vous avez beaucoup de bande passante, donc des téléchargements rapides
• vous n’êtes pas surveillés par HADOPI
• vous pouvez regarder vos films ou séries en streaming depuis votre serveur.
Installation de rTorrent et libTorrent
Flood n’étant qu’une interface web pour rTorrent, nous allons d’abord devoir l’installer.
Depuis les dépôts
rTorrent est disponible dans les dépôts de Debian en version 0.9.2 et libTorrent en version 0.13.2, sachant que les dernières versions disponibles, même si elles ont plus d’un an, sont respectivement la 0.9.6 et 0.13.6, qui elles sont disponibles sous Debian Sid et Stretch.
Si vous avez la flemme de compiler vous pouvez tout de même les installer :
apt install rtorrent
Depuis les sources
Ainsi pour avoir les dernières versions, on peut compiler rTorrent et libTorrent directement depuis les sources.
On installe les dépendances :
apt install build-essential subversion autoconf g++ gcc curl comerr-dev pkg-config cfv libtool libssl-dev libncurses5-dev ncurses-term libsigc++-2.0-dev libcppunit-dev libcurl3 libcurl4-openssl-dev
XML-RPC permet rTorrent de communiquer avec Flood.
On le télécharge :
svn co -q https://svn.code.sf.net/p/xmlrpc-c/code/stable /tmp/xmlrpc-c
On le compile :
cd /tmp/xmlrpc-c ./configure make -j $(nproc)
On l’installe :
make install
On télécharge libTorrent :
cd /tmp curl http://rtorrent.net/downloads/libtorrent-0.13.6.tar.gz | tar xz
On le compile :
cd libtorrent-0.13.6 ./autogen.sh ./configure make -j $(nproc)
Et on l’installe :
make install
On télécharge rTorrent :
cd /tmp curl http://rtorrent.net/downloads/rtorrent-0.9.6.tar.gz | tar xz
On le compile :
cd rtorrent-0.9.6 ./autogen.sh ./configure --with-xmlrpc-c make -j $(nproc)
Et on l’installe :
make install ldconfig
Vous êtes toujours là ? 😆
Configuration de rTorrent
On ajoute un utilisateur pour éviter de lancer rTorrent en root :
adduser --disabled-password rtorrent
On édite la configuration de rTorrent :
nano /home/rtorrent/.rtorrent.rc
Et on ajoute ceci :
# Vitesse de téléchargement max up/down, en KiB. "0" équivaut à aucune limite. download_rate = 0 upload_rate = 10000 # Nombre maximal de téléchargements simultanés max_downloads_global = 10 # Nombre maximal de peers par torrent max_peers = 100 # Nombre maximal de peers à upload par torrent max_uploads = 20 # Répertoire qui contient les fichiers téléchargés. directory = /srv/seedbox/downloads # Répertoire où rtorrent stocke l'état de téléchargement des torrents. session = /srv/seedbox/.session # Ports utilisables par rTorrent. 2x la même valeur = 1 port port_range = 49999-49999 port_random = no # Vérification des données à la fin du téléchargement check_hash = yes # Activation de DHT pour les torrents sans trackers. # À désactiver si vous utilisez des trackers privés dht = auto dht_port = 6881 peer_exchange = yes # On préfère les échanges avec chiffrement encryption = allow_incoming,try_outgoing,enable_retry # On autorise les trackers UDP use_udp_trackers = yes # Port SCGI, on en a besoin pour communiquer avec Flood scgi_port = 127.0.0.1:5000
On n’oublie pas de créer les dossiers qui vont bien :
mkdir -p /srv/seedbox/{downloads,.session}
Et on applique les bonnes permissions à tout ça :
chmod 775 -R /srv/seedbox chown rtorrent:rtorrent -R /srv/seedbox chown rtorrent:rtorrent /home/rtorrent/.rtorrent.rc
Ensuite on ajoute un script d’init pour Systemd, pour pouvoir démarrer ou arrêter rtorrent à notre guise et le démarrer au boot automatiquement.
nano /etc/systemd/system/rtorrent.service
On ajoute :
[Unit] Description=rTorrent After=network.target [Service] User=rtorrent Type=forking KillMode=none ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/local/bin/rtorrent ExecStop=/usr/bin/killall -w -s 2 /usr/local/bin/rtorrent WorkingDirectory=%h [Install] WantedBy=default.target
(/usr/local/bin/rtorrent
est à remplacer par /usr/bin/rtorrent
si vous avez installé rTorrent depuis les dépôts)
On active rtorrent au boot :
systemctl daemon-reload systemctl enable rtorrent.service
Puis le démarre :
sudo systemctl start rtorrent.service
Un petit htop
et on voit bien que rTorrent tourne en rtorrent
:
Pour arrêter rTorrent :
systemctl stop rtorrent
Pour le démarrer :
systemctl start rtorrent
Pour le redémarrer :
systemctl restart rtorrent
Installation de Flood
On passe au morceau qui nous intéresse : l’interface web. C’est du Node.js, donc il va falloir installer ce dernier :
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Ensuite, on installe git :
apt install git
Puis on va récupérer le code source de flood :
cd /srv/seedbox git clone https://github.com/jfurrow/flood.git
On ajoute la conf de flood :
cd flood cp config.template.js config.js
On l’installe :
npm install --production
Ici, pas de script d’init, j’ai essayé avec forever
pour les connaisseurs mais ça ne marche pas (en fait, si, mais bof). Je n’ai pas réussi à faire de script d’init, d’autant plus que le dev lui même conseille d’utiliser screen… J’ai quand même ouvert une issue à ce sujet.
Edit : Vous pouvez regarder du côté de PM2
On ajoute un utilisateur pour éviter de lancer flood en root par la suite :
adduser --disabled-password flood
On applique les bonnes permissions :
chown -R flood:flood /srv/seedbox/flood/
Lancer flood avec screen
On crée un screen :
screen -S flood
On change d’utilisateur :
su - flood
Puis on lance flood :
cd /srv/seedbox/flood npm start
Vous pouvez arrêter Flood avec ctrl + c sortir du screen avec ctrl + a
puis d
et revenir avec screen -r flood
Flood est désormais accessible via http://IP_DU_SERVEUR:3000
À votre première connexion il vous sera demandé de créer un compte, et puis après, vous êtes prêts à faire chauffer la connexion ! 😀
Mettre à jour Flood
Il suffit de récupérer le nouveau code et de relancer flood.
screen -r flood
ctrl + c
pour l’arrêter puis ctrl + a
et d
pour sortir de flood
cd /srv/seedbox/flood git pull
Vous devriez vérifier au cas où il y ait des changements dans config.sample.js.
On met à jour flood :
npm install --production
Et on le relance :
screen -r flood npm start
Docker
Si vous êtes un adepte de Docker, une image « officielle » est en cours de discussion ici, et WonderFall en a fait une très bien ici.
D’ailleurs, je me tâte à faire ma seedbox sous Docker moi. ^^
Reverse proxy Nginx avec HTTPS
Vous me connaissez, tant qu’on y est, autant faire les choses proprement : accéder à Flood via un domaine, le tout en HTTPS !
Pré-requis : avoir un domaine/sous domaine qui pointe l’IP du serveur.
Ici je prends comme exemple seedbox.hadopi.fr
. 😎
Installation de Nginx
On suit mon petit guide :
wget -O - https://nginx.org/keys/nginx_signing.key | apt-key add - echo "deb http://nginx.org/packages/debian/ $(lsb_release -sc) nginx" > /etc/apt/sources.list.d/nginx.list apt update apt install nginx
Génération d’un certificat avec Let’s Encrypt
On suit aussi mon petit gui… Oups, j’en ai pas encore fait 😆
On installe l’outil depuis les backports de Debian :
echo "deb http://httpredir.debian.org/debian jessie-backports main" >> /etc/apt/sources.list apt update apt install -t jessie-backports letsencrypt
On arrête Nginx pour laisser le port 80 libre :
service nginx stop
On génère le certificat :
letsencrypt certonly -d seedbox.hadopi.fr --agree-tos -m [email protected] --rsa-key-size 4096 --standalone
On configure nginx :
nano /etc/nginx/conf.d/seedbox.conf
Et hop (à adapter bien sûr) :
server { listen 80; server_name seedbox.hadopi.fr; return 301 https://seedbox.hadopi.fr$request_uri; access_log /dev/null; error_log /dev/null; } server { listen 443 ssl http2; server_name seedbox.hadopi.fr; access_log /var/log/nginx/flood-access.log; error_log /var/log/nginx/flood-error.log; location / { proxy_pass http://127.0.0.1:3000/; proxy_set_header Connection ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass_header X-Transmission-Session-Id; } ssl_certificate /etc/letsencrypt/live/seedbox.hadopi.fr/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/seedbox.hadopi.fr/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/seedbox.hadopi.fr/chain.pem; ssl_protocols TLSv1.2; ssl_ecdh_curve secp384r1; ssl_ciphers EECDH+AESGCM:EECDH+AES; ssl_prefer_server_ciphers on; resolver 80.67.169.12 80.67.169.40 valid=300s; resolver_timeout 5s; ssl_stapling on; ssl_stapling_verify on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_session_tickets off; }
Et peut démarrer Nginx :
service nginx start
Et voilà ! J’avoue, l’article est un peu long, mais ça vaut le coup non ? Pouvoir télécharger des ISO Linux avec style, c’est pas donné à tout le monde. 😎
Je vous laisse avec quelques captures d’écran (ce client tellement bien fini, y’a même des petites animations) :
On remarque qu’il y a même une traduction française intégrée 🙂
Dans un prochain article, on verra comment streamer tout ça depuis sa seedbox. À suivre !
Sources :
- https://github.com/jfurrow/flood
- https://doc.ubuntu-fr.org/rtorrent
- https://jes.sc/kb/rTorrent+ruTorrent-Seedbox-Guide.php#Install-Dependencies
- https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
- https://wiki.archlinux.org/index.php/RTorrent
- https://gist.github.com/bryanjswift/1525912
Dernière modification le 17 décembre 2017.
Quelques coquilles pour l’installation de flood :
– installer node8 minimum (apt install nodejs installe la 6.14)
– il manque un npm run build avant le npm start
– j’ai été obligé de faire un npm install avec les dev dependencies sinon pas de webpack-plugin présent dans les node-modules
j’aurai une petite question, comment faire la marche inverse ? j’ai un peut peur de faire une connerie et d’oublier un truc merci 🙂
Hello,
j’ai un problème que je n’avais pas eu sur un ancien serveur (j’ai try sur debian 9 et actuellement 8)
lorsque je lance flood npm start
rien ne ce lance ….
http://puu.sh/xsRWU/af15f4fe7d.png
Peut être un problème de version de nodejs ou …
Problème résolue
floodServerHost: ‘127.0.0.1’,
pour
floodServerHost: ‘0.0.0.0’,
Re bon j’ai terminer l’installation mais quand je lance au niveau web sa ne marche pas sa me dis serveur refuse la connexion comme si il n’y a pas de site :/
Merci
JUJU0802
Hello merci pour ce tuto mais l’installation se déroule bien mais au moment de lancer j’ai un problème
Screen : http://imgur.com/a/LJCLO
Merci d’avance pour vos aides ^^
JUJU0802
La réponse est dans ta capture d’écran 🙂
Merci de ta réponse mais malheureusement je ne trouve pas j’ai créer manuellement le fichier screen dans /usr/bin/ et je lui est attribuer les permission 777 mais sans suces
http://imgur.com/a/x3oUA
Merci
JUJU0802
Salut,
Merci pour ce tuto, je l’ai suivi a la lettre et lorsque je choisi le couple user/password à la première connexion, je reste coincé sur l’écran d’après « overview ». Il me manque « Flood Settings » qui n’est pas coché et ça tourne dans le vide.
J’ai lu ça et là que c’était dû à un problème de communication entre rtorrent et Flood. Cependant j’ai bien vérifié que les deux programmes se parlent sur le port 5000 en localhost, j’ai même essayé d’utiliser une socket mais sans succès.
J’ai l’impression que je rate un truc mais quoi… Le soft n’est pas très causant.
J’ai bien un connect() failed (111: Connection refused) while connecting to upstream dans le log de nginx mais je ne vois pas d’où ça peut venir.
As-tu une idée ?
Merci
J’ai vérifié les ports ouverts sur la machine et je ne trouve pas le port 5000 sensé être utilisé entre les deux applications.
Pourtant rtorrent est bien lancé
tcp 0 0 0.0.0.0:6930 0.0.0.0:* LISTEN 30741/rtorrent
Bonjour, il m’est impossible d’installer le daemon rtorrent. Quand je fais un systemctl status rtorrent, j’obtiens :
● rtorrent.service – rTorrent
Loaded: loaded (/etc/systemd/system/rtorrent.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2017-08-11 18:28:24 CEST; 7min ago
Process: 1117 ExecStop=/usr/bin/killall -w -s 2 /usr/local/bin/rtorrent (code=exited, status=1/FAILURE)
Process: 1112 ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/local/bin/rtorrent (code=exited, status=0/SUCCESS)
Main PID: 1113 (code=exited, status=0/SUCCESS)
systemd[1]: Starting rTorrent…
systemd[1]: Started rTorrent.
systemd[1]: rtorrent.service: Control process exited, code=exited status=1
systemd[1]: rtorrent.service: Unit entered failed state.
systemd[1]: rtorrent.service: Failed with result ‘exit-code’.
Par ailleurs, dans seegbox.conf, ne faut-il pas un root /srv/seedbox/flood; ??
Salut j’ai le même problème, toujours aucune solution ?
Merci.
Bonjour, merci pour ce tutoriel fonctionnel sur debian, j’ai mis debian 9 il y a quelque temps et j’ai un problème avec l’installation de XML-RPC, il ne reconnaît pas mon système
tu connais une solution ?
Bonjour, j’ai des erreurs de compilation pour libtorrent sous Debian 9 :
diffie_hellman.cc:57:7: error: invalid use of incomplete type ‘DH {aka struct dh_st}’
Il semblerait que cela vienne d’openssl …? J’ai la version 1.1.0.f3.
Bref bloqué complètement. Une aide serait la bienvenue.
Avec ça, ça fonctionne (Debian 9) :
cd /tmp
git clone https://github.com/rakshasa/libtorrent.git
cd libtorrent
git checkout feature-bind
./autogen.sh
./configure
make
sudo make install
Alors après avoir essayé, je peux dire que rtorrent c’est vraiment mal foutu. Je ne comprends pas pourquoi ils mettent une api si le logiciel est incapable de se daemoniser. Mais vraiment incapable. Je ne comprenais pas pourquoi tout le monde utilisait screen/tmux, en fait c’est parce que c’est obligé, il se lance toujours au premier plan même avec toutes les astuces du monde. Il y a des requêtes sur le github du projet pour pouvoir daemoniser nativement rtorrent mais ça ne semble pas bouger depuis des années.
Je n’ai pas testé avec systemd car c’était dans une jail FreeBSD, mais il y a un framwork pour daemoniser à peu près tout et n’importe quoi et ça ne passe pas. Dommage car avec Flood ça fait un truc plutôt joli à voir. L’idéal serait que flood puisse se brancher sur transmission ou deluge.
Bonjour Angristan,
Merci pour cet article, c’est top.
J’ai employé pm2 comme tu as écrit dans ton article et ça fonctionne très bien pour faire un service systemd. C’est un peu plus clean qu’un screen qui tourne en permanence peut-être. Dommage que cela ajoute une couche supplémentaire sur npm. Je vais sans doute faire de même avec rtorrent
Au plaisir de te lire,
Bonjour,
Tout d’abord un grand merci pour ton travail, j’apprend énormément de chose avec tes articles.
J’aurais une question concernant flood est-t’il possible de ce déconnecter de l’interface web ? Car je ne trouve pas de bouton ^^
Cordialement,
Kévin
salut,
tu as trouvé comment faire par hasard ? 🙂
Hello,
J’ai suivi ton tuto concernant l’installation de rtorrent avec flood, mais je rencontre un petit souci.
Au moment de démarrer flood sur screen, j’ai un message d’erreur que je ne comprend pas (je suis nouveau avec nodejs, jamais utilisé avant).
disponible au screen ici : http://wizardnet.free.fr/images/errorflood.jpg
Serais-tu disponible pour m’expliquer ce que j’ai mal fait que je puisse comprendre mon erreur ?
cordialement,
C’est une erreur mystérieuse, je l’ai eu plusieurs fois, mais c’est du pur hasard…
cette erreur est due a l’installation de la mauvaise version de nodejs ( tuto: 4.X / requis : 6.X ) il faut remplacer » curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash – » par » curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash – »
j’ai changer la version de NodeJS et cela a fonctionner
As-tu pu regler ce soucis ? car je l’es et je ne trouve pas de solution.
Super mais est ce possible d’avoir une gestion multi-users avec Flood ?
Tu peux ajouter plusieurs utilisateurs, mais pour accéder au même contenu.
Super Article: Suivi à la lettre mais à la fin quand je restart nginx il me donne une erreur… petite suggestion ?
Il me faut plus d’infos là 🙂
nginx -t
systemctl status nginx.service -l
Bon article.
Honnetement je ne suis pas branché Torrent, surtout pour cet usage 🙂
Très utile pour récupérer néanmoins des iso de linux, j’utilise Deluge depuis ma seedbox.
Peut-être plus simple à installer..
En plus simple tu as https://angristan.fr/seedbox-installer-le-client-torrent-transmission-sous-debian-ubuntu/ 🙂
Hello !
Quand je tape systemctl daemon-reload
Voici la réponse :
Failed to get D-Bus connection: Unknown error -1
Merci d’avance 🙂
Ah ben je réglais cette erreur en faisant
systemctl daemon-reload
justement… Si tu peux, reboot, sinon je ne sais que te dire 🙁Tu es sous quel OS ?
J’ai un petit problème lorsque j’ajoute un torrent le téléchargement ne se lance pas je ne sais pas d’ou ça peut venir
Regarde les logs de Flood.
Salut,
j’ai tenté d’effectuer ce tutoriel sur un raspberry pi3 avec raspbian installé dessus mais lors de l’étape de l’ajout du script d’init pour Systemd il me resort une erreur au lancement de celui-ci (rtorrent.service)
Quand je regarde le status la ligne suivante pose problème :
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/local/bin/rtorrent
Quand je recherche dans /usr/bin/ le « screen » il n’est pas là …
Est-ce qu’il y a une alternative ou quelque chose :/
Merci d’avance
Que te donne
whereis screen
?Commande : whereis screen
Réponse : screen:
Tu as bien installé screen au préalable ?
Oh mon dieu merci ahah
j’ai passsé quatre heure à essayer de comprendre pourquoi :/
J’ai installé Flood et tout marche nickel !
Ah bah bravo ! 😛
Par contre les torrents ne se lancent pas :/
Et à chaque fois dès que je ferme la fenêtre ssh le client torrent s’éteint :/
Il faut lancer Flood dans un screen, puis quitter celui-ci avant de fermer le client SSH.
Salut,
Chouette article bien complet !
Juste une question de la part d’un utilisateur de rtorrent/Rutorrent qui doit réinstaller sa seedbox qui vieillit sur une Wheezy :
Y a t-il la gestion du déplacement de fichier (copie, liens symboliques, hardlink, etc..) en fin de téléchargement à l’instar de Rutorrent ?
Dans l’affirmative je pense passé sur flood car son look et plutôt sympa 🙂 (bien que ccela ne serve à rien bien entendu ^^)
Salut et merci !
Je pense que ça devrait être possible, RuTorrent comme Flood n’étant que des interfaces pour rTorrent, c’est rTorrent qui s’en occupe normalement. 🙂
Juste pour mentionner autre chose de moins connu mais tout aussi efficace, multi plate-forme (linux, windows, BSD), léger (un simple exécutable) et pas limité uniquement aux torrents, j’utilise aria2 avec son interface web ‘Aria2 WebUI’ .
Aria2 peut évidemment télécharger des torrents mais aussi le même fichier via plusieurs serveurs miroir HTTP, FTP, etc.. en même temps. Ou prendre une liste d’url dans un fichier texte en paramètre pour les télécharger. Bref, un outil en ligne de commande extrêmement paramétrable, scriptable à volonté. Attention, beaucoup d’options mais ça vaut le coup de s’y pencher.
Je note ! Merci
Pourquoi utiliser des screen ? Tu peux pas le faire proprement avec des services ?
Lis l’article ? 🙂
Pour rTorrent, les services que j’ai trouvé ne fonctionnaient pas du tout dans le cas de Systemd, et à moitié pour SysVinit. De plus, ces services utilisent screen ou dtach, donc ça revient presque au même.
Comme je l’ai dis dans l’article, il n’en n’existe pas pour Flood.
Maintenant si tu sais en faire, je suis preneur 😉
S’il s’agit de lancer rtorrent sous l’utilisateur rtorrent, c’est assez facile avec systemd.
Exemple de service pour Movim que tu peux reprendre et modifier :
https://github.com/movim/movim_ynh/blob/master/conf/movim.service
Ensuite tu le met dans /etc/systemd/system/rtorrent.service
puis systemctl daemon-reload, systemctl enable rtorrent.service et enfin sudo systemctl start rtorrent.service
S’il y a du npm, regarde du côté de Ghost, j’avais vu des services systemd.
Je pense que j’avais oublié systemctl daemon-reload lors de mes tests ^^ Bon, pour rtorrent c’est ok, je viens de tester avec succès, j’ai donc mis à jour l’article.
Concernant Flood, il se lance avec npm en effet, mais j’ai rien trouvé à part un script pour init.d pour Ghost : https://raw.githubusercontent.com/TryGhost/Ghost-Config/master/init.d/ghost mais je me vois pas trop adapter ça 😕
J’ai (re)trouvé ça : https://github.com/TryGhost/Ghost-Config/blob/master/systemd/ghost.service
Ensuite ton infra rtorrent sera 100% systemd, Lennart approves !
Ah cool 🙂
Marche toujours pas pour moi, j’ai maj l’issue
Salut Angristan,
pour ma part j’ai installé Flood ce matin et pour le lancer j’ai tout simplement utilisé Supervisor. http://supervisord.org/
Ça marche nickel!
Je l’utilise pour plusieurs processus tel que Ghost ou Isso, tu peux voir un exemple de son utilisation sur mon article à propos d’Isso d’ailleurs https://hiob.fr/isso/
Le fichier de config pour flood doit ressembler à ça:
[program:flood]
command = npm start --production
directory = /home/USER/flood
user = USER
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/flood.log
stderr_logfile = /var/log/supervisor/flood_err.log
ciao!
Ça a l’air sympa, cependant ça me fait comme pour les services systemd : si je met
autorestart = true
, ça redémarre à l’infini, et enfalse
, ça démarre et ça plante. 🙁Que te disent les logs de Supervisor?
Rien de spécial, Flood se lance, et c’est tout.
Arf.. C’est étrange, t’arrive pourtant bien à le lancer *manuellement* avec
npm start --production
sans screen ni rien? En soi Supervisor (comme systemd je suppose) ne fait qu’exécuter cette commande au nom de ton user, ni plus ni moins.Oui tout se lance bien (que ce soit en screen ou pas ça change rien, c’est juste un terminal)
Hey, coucou 😀
Je suis pas un pro de systemd, mais voilà le service que j’utilise (qui fonctionne, hummm, normalement :-p) https://paste.imirhil.fr/?45019dc598d9f62c#qUollrKGNyVO/x5cj5lkVSqkSh5/djzXJ8TF10LrG7A=
Bisous
Au fait pourquoi utilises-tu encore screen dans ton rtorrent.service ?
Que veux tu utiliser d’autre ? Que ce soit dans la doc de Arch Linux ou Ubuntu-fr, les services sont avec screen ou dtach.
Si je comprends bien, ils utilisent tmux/screen parce que rtorrent est incapable de se « daemonizer ». Sauf que systemd ça ne le dérange pas, il peut faire fonctionner des trucs conçus pour le foreground. Du coup ça devrait marcher sans screen.
J’avais pas compris mais en fait rtorrent est plus un client CLI qu’un serveur torrent, d’où les bidouilles.
Le truc c’est que en effet rTorrent c’est un client, pas un démon, donc « rtorrent » en lui même c’est pas fait pour tourner en arrière plan.
Je suis pas très doué pour les services, mais bon j’ai essayé sans screen, sans succès. Si c’était possible, tu pense pas qu’une doc aussi sérieuse que celle de Arch aurait évité d’utiliser screen ?
Juste que ça parait tellement dégueulasse que j’ai toujours du mal à y croire.
Je suis d’accord, screen c’est pas foufou, et puis rtorrent c’est hyper connu en plus, donc c’est étonnant.
Tiens j’avais pas vu y’a des script dans la doc : https://github.com/rakshasa/rtorrent/wiki/Common-Tasks-in-rTorrent#starting-rtorrent-on-system-startup mais bon là aussi c’est que du screen ou du tmux ^^
Salut,
Je viens de decouvrir Flood et ton blog par la meme occasion. Je vais faire un article sur mon blog (qui est tres similaire haha) pour le presenter aussi.
Pour Flood, je passe par systemd pour le lancer. Ca semble bien fonctionner.
Voici ce que j’utilise.
[code]
[Service]
WorkingDirectory=/srv/seedbox/flood
ExecStart=/usr/bin/npm start
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=notell
User=flood
Group=flood
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
[/code]
Ca fonctionne de mon cote.