Table of Contents

About

flood is a node.js frontend for torrent clients such as qBittorrent, rtorrent, etc, that is meant to be extremely lightweight and with the ability to manage multiple instances of torrent clients (ie: for mass-seeding seedboxes that might need more than what one single torrent client can manage to stream).

Usage

Building is a matter of issuing:

docker build -t TAG .

where:

After floodis built, a container can be created and ran either via docker run or deployed within the swarm with docker stack deploy.

Note that if the image is to be deployed to a swarm, then more than likely the image should be committed to a local registry serving the local docker swarm.

Source

FROM debian:bookworm-slim
 
# update package manager
RUN apt-get update -y && \
    apt-get upgrade -y && \
    apt-get dist-upgrade -y && \
    apt-get -y autoremove && \
    apt-get clean
 
RUN apt-get install -y \
        curl \
        git 
 
# UTF-8 support
RUN apt-get install -y coreutils locales && \
    sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
    locale-gen && \
    dpkg-reconfigure --frontend=noninteractive locales && \
    update-locale LANG=en_US.UTF-8
 
# set environment variables
ENV LC_ALL=en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8
 
# install node-js
RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - && \
    apt-get install -y nodejs npm && \
    node --version && npm --version
 
# install flood
WORKDIR /opt
RUN git clone https://github.com/jesec/flood.git && \
    cd flood && \
    npm install && \
    npm run build
WORKDIR /opt/flood
 
# open jenkins http port
EXPOSE 3000
 
# start flood
ENTRYPOINT [ "npm", "run", "start", "--", "--host", "0.0.0.0", "--port", "3000", "--allowedpath", "/config", "--rundir", "/config" ]