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).
Building is a matter of issuing:
docker build -t TAG .
where:
TAG
represents a tag to set on the built image (ie: flood:latest
)
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.
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" ]