Skip to main content

Flood, modern web UI for rTorrent

RTorrent is probably the most powerful torrent client, but bundled with Flood, a modern Web-UI, it is the perfect match for your seedbox or server.

 

I probably don’t have to present rTorrent. I have written several articles around it, the previous one being on Quickbox, a script that will install and configure your seedbox (Using rTorrent) in a single command line.

I used to use Deluge, for my torrents, but since I discovered Flood, a modern, powerful and easy to install web interface for rTorrent, I’m changing my habits. ๐Ÿ˜‰

So, Flood is using Node.js as backend and React as frontend, and here is the main features I appreciate:

  • Lightweight, intuitive and modern interface
  • Can add torrents through URL, Torrent file and RSS. (Usually, you need quite some settings for RSS. Here you can add your download rules directly in the web interface)
  • Ability to download your torrent directly through your web interface. This is probably the best feature, since you can download the file from your seedbox, and directly get it back using “direct download” (HTTP) from Flood. (No need to have a FTP or some HTTP folder with user/password, etc..

And, well…it’s based on rTorrent ๐Ÿ˜‰

Obviously you will find the usual features like label, bandwidth limits, etc…

 

So let’s see how to install rTorrent and Flood for a Debian system. (Ubuntu should be pretty similar)

 

Installation

1) Install rTorrent

The easiest way is to use the rTorrent version in the repo. In root (or with sudo), run:

 

2) Confgure rTorrent
  • We will first create a dedicated user, to avoid running rTorrent with root:
You will need to answer few questions (or just skip them with ENTER)

  • Then, we will create a configuration file to define few settings and the SCGI to let Flood connect to rTorrent.
and copy the following:
Feel free to tweak it, especially on the download paths.

  • If you haven’t created the folders (download and session), you need to do it now:
and set the permissions:
  • Now, we create a SystemD startup script to ensure rtorrent is running at the startup (and it ease the control)
and add:
Then enable it at boot:
and start it up!
 

3) Install Flood
  • You will first need to install NodeJS. They recommend the 6.9.x, but the 7 works too. (Feel free to use nvm to manage your node versions)
  • Then, clone their git repo
This should be pretty fast.

  • Use the standard config file
  • And install Flood
 

4) Start Flood

Before launching Flood, we will create a systemd script to launch flood directly at startup (and easier to manage)

  • But first, create a dedicated user that will run flood
and add the right permissions:
  • Then create the script
and add:
add it to the boot:
and start it!
 

You should now be able to access it through http://YourIP:3000

It will ask you to create a user/password for the first time and you’re good to go!

 

Next, you may want to create a dedicated virtualhost to access it directly with a subdomain instead of remembering the port number, then to add a SSL certificate with Let’s Encrypt.

 

If you have issues, feel free to comment or to directly check their github page.

15 thoughts on “Flood, modern web UI for rTorrent

  1. Hello,
    I followed your tutorial until the systemctl enable flood line, I am running ubuntu on my server and the systemctl command can not be found. Can you provide detail for ubuntu users? Thanks in advance.

        1. I see,
          You have an old version of Ubuntu, without SystemD, that’s why it doesn’t work.
          You could (should?) upgrade your server (But never easy), or create init.d script to start rtorrent and flood at startup. (Or you just launch them manually with screen, but you will need to do it at every startup).

          For the init.d script, you can use this one for rtorrent
          https://github.com/mjsilva/rtorrent-screen-debian-init-script/blob/master/rtorrent
          Can probably adjust it for Flood too, but it seems difficult.

          Few people are asking for support already in that sense already:
          https://github.com/jfurrow/flood/issues/152

  2. I think I give uncomplete info. I have rtorrent installed and running with screen (somehow sometime I hava managed to install it :D) and on top of it I have rutorrent for managing rtorrent. But I want to change it to flood because of it’s modern look. The only problem is starting the flood for me. I have installed per your instructions.

  3. I set up flood on different location and it gives:
    > flood@0.0.0 start /home/cnone/Torrents/flood
    > node server/bin/www

    removed 0 entries from monthSnapshot
    removed 0 entries from hourSnapshot
    removed 0 entries from thirtyMinSnapshot
    removed 0 entries from fiveMinSnapshot
    removed 0 entries from weekSnapshot
    removed 0 entries from daySnapshot
    And then nothing

      1. No, I didn’t. As I said before, I had error on starting systmctl section. Before that, I don’t recall an error. If it is ok with you, I can give you a teamviewer connection to my home pc and from that pc you can connect to my server.

      2. I have tried to upgrade to 16 but my server is now dead ๐Ÿ™
        Now I ordered a new server and will try to reinstall everything from scratch.

        1. I have installed everything as you instructed. the flood service is running when I checked with status command. But I can not access via myIP:3000

    1. Sorry cNone, I was on vacations with limited access to internet.
      I will be back in few days.
      Ouch, you had to reinstall your server…

      So I think you are very close. When you do ‘npm start’, what does it tell you? May be it uses a different port? or some firewall restriction.
      if you want, I should have time Monday or Tuesday. I can give a shot.

      1. service flood status answer:
        ย flood.service
        Loaded: loaded (/etc/systemd/system/flood.service; enabled; vendor preset: enabled)
        Active: active (running) since Thu 2017-05-04 13:49:03 CEST; 27ms ago
        Main PID: 3386 (node)
        Tasks: 6
        Memory: 3.8M
        CPU: 25ms
        CGroup: /system.slice/flood.service
        รขรข3386 node /usr/bin/npm start

        NPM START answer:
        flood@1.0.0 start /home/cnone/Torrents/Flood
        > node server/bin/www

        And then nothing… ๐Ÿ™

        1. Is this installed on a virtualmachine? Localhost? remote server?
          Can I get the IP to try to see if it is an issue with the port?

          Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *