Flood is a monitoring service for rTorrent. It's a Node.js service that communicates with rTorrent instances and serves a decent web UI for administration. It's a work-in-progress.
If you have a specific issue or bug, please file a GitHub issue. Please join the Flood Discord server to discuss feature requests and implementation details.
Check out the Wiki for more information.
- rTorrent needs to be installed and running with XMLRPC configuration.
- For Linux & OS X, check out rTorrent's installation wiki and/or this third-party tutorial. When you run
./configure
, be sure to run with the--with-xmlrpc-c
flag. - For Windows, try this guide.
- For Linux & OS X, check out rTorrent's installation wiki and/or this third-party tutorial. When you run
- Install NodeJS version
Current
(you might want to manage different Node versions with nodenv or nvm or n). Flood tracks latest NodeJS release and does NOT provide support to legacy NodeJS versions. - Install
node-gyp
pre-requisites, see https://www.npmjs.com/package/node-gyp#installation, ex:python
,make
,gcc
.
Copy config.template.js
to config.js
and review its comments. This is required.
When loading the web interface, you will be prompted to configure the connection to rtorrent. Other configuration options are handled config.js
.
What to configure
- Be sure to create a long and unique secret (used to sign JWT auth tokens).
- If you are proxying requests to Flood from your own web server, configure Flood's path from the host at the
baseURI
property. All requests will be prefixed with this value.- For example, if serving Flood from
https://foo.bar/apps/flood
, you would setbaseURI
to/apps/flood
. If serving flood fromhttps://foo.bar
, you do not need to configurebaseURI
. - Read more about proxying requests to Flood on the Wiki, this is a common pain-point for users.
- For example, if serving Flood from
From the root of the Flood directory...
- Run
npm install
if you haven't already or if you've pulled changes. - Run
npm run build
. - Run
npm start
.
Access the UI in your browser. With default settings, go to https://localhost:3000
. You can configure the port in config.js
.
I've been bad about cutting actual releases, so check this repo for recent commits.
- To update, run
git pull
in this repository's directory. - Check
config.template.js
for configuration changes that you may wish to incoporate in yourconfig.js
. - Kill the currently running Flood server.
- Run
npm install
to update dependencies. - Run
npm run build
to transpile and bundle static assets. - Start the Flood server with
npm start
.
- Debian, Ubuntu and RHEL-based distributions users can install latest
nodejs
from NodeSource. - Ask for help in the Flood Discord server.
- Run
npm install
. - Run
npm run start:development:server
andnpm run start:development:client
in separate terminal instances.npm run start:development:server
uses nodemon to watch for changes to the server-side JavaScript.npm run start:development:client
watches for changes in the client-side source.
- Access the UI in your browser. Defaults to
localhost:4200
.
DEV_SERVER_PORT
: webpackDevServer's port, used when developing Flood. Defaults to4200
.DEV_SERVER_HOST
: webpackDevServer's host, used when developing Flood. Defaults to0.0.0.0
.DEV_SERVER_HTTPS
: webpackDevServer's protocol, used when developing Flood. Defaults tohttp
.
uuidgen > flood.secret
docker build -t rtorrent-flood .
docker run --name rtorrent-flood -e FLOOD_SECRET=`cat flood.secret` -p 3000:3000 rtorrent-flood
- Other supported environment variables:
FLOOD_BASE_URI
FLOOD_ENABLE_SSL
FLOOD_DISABLE_AUTH
RTORRENT_SCGI_HOST
RTORRENT_SCGI_PORT
RTORRENT_SOCK=true
+RTORRENT_SOCK_PATH
The docker container includes a volume at /data
, which is where the database will be located. Additionally, you can place your SSL files there, /data/flood_ssl.key
and /data/flood_ssl.cert
. Set FLOOD_ENABLE_SSL
to true
to enable their use if present. Additionally, a local rtorrent socket file located at /data/rtorrent.sock
can be used if RTORRENT_SOCK
is set to true
. The location of the socket file can be overrided by setting RTORRENT_SOCK_PATH
to the path of the socket.