Skip to content

Install Flood on Debian, Ubuntu and derivatives

Trim21 edited this page Sep 27, 2024 · 8 revisions

Install Flood on Debian, Ubuntu and derivatives

APT

Architectures available: amd64, arm64.

Add deb.jesec.io registry

echo "deb [trusted=yes] https://deb.jesec.io/ devel main" | sudo tee /etc/apt/sources.list.d/jesec.list

package in this registry is outdated and broken. please install deb from latest github release


Install flood

sudo apt update
sudo apt install -y flood

# install rTorrent (optional)
sudo apt install -y rtorrent

Flood has been installed. Run flood to start. See README for more details.


Add Flood as a service (optional)

# create a service user if you don't already have one
# sudo useradd -m -s /bin/false download

# e.g. sudo systemctl enable [email protected]
sudo systemctl enable flood@<replace with service user>.service

# enable rTorrent service (if installed and used)
sudo systemctl enable rtorrent@<replace with service user>.service

# start services
sudo systemctl start flood@<replace with service user>.service
sudo systemctl start rtorrent@<replace with service user>.service

npm

Install latest Node.js runtime. Flood tracks Current and provides support to Active LTS as well.

curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash -

sudo apt install -y nodejs


Check Node.js version.

node -v


Install Flood globally.

sudo npm i -g flood


Start Flood.

flood

It should return something like this:

Flood server starting on https://127.0.0.1:3000.

Quit Flood with Ctrl-C

flood --help gives hints about configuration options.


To keep Flood running in the background you can use systemd service (check wiki), nohup/&, screen or tmux:

nohup flood &

screen

sudo apt install screen

screen -dmS flood

screen -r flood


It's important to keep Flood secure. --allowedpath can be used to restrict file system operations to specified directories.

Flood only needs write access to the runtime directory and potential download directories.

Access to runtime directory is implied by --rundir (by default ~/.local/share/flood). So specify --allowedpath for download directories.

flood --allowedpath ~/rtorrent/download


To configure Nginx, check wiki.


Always check the security section!