Files
docker-flood-client/README.md
T

2.0 KiB

docker-flood-client

Source: https://git.k2patel.in/k2patel/docker-flood-client

docker.io/k2patel/floodui:latest is the only maintained image variant and is an Alpine/musl distroless runtime. The separate :distroless tag is retired. It runs the Flood web UI/API and connects to an external torrent service; it does not bundle or start rTorrent.

Build and publication

Gitea Actions publishes only on manual runs. Select main in Actions → Build and Push Distroless Flood → Run workflow and set the required flood_version release tag (default v4.16.2). Pushes do not trigger builds. The upstream pnpm lockfile builds the server and UI; switching release families may require changes to the build tooling.

The workflow uses Dockerfile.client, Node 24.18.1 on Alpine 3.24, and a scratch final image. It includes Node, the bundled server/UI, mediainfo, GNU df, their musl libraries, CA certificates and timezone data. There is no shell, npm/pnpm, package manager, source tree, node_modules or compiler in the runtime. Node starts directly with --host=0.0.0.0 --rundir=/server/.

CI starts Flood in the stripped filesystem and requires HTTP 200, working mediainfo/df, and absence of shell/package-manager binaries before publication. Builds use the Kubernetes runner for linux/amd64, pushing directly to Docker Hub; temporary builders and caches are removed afterward. Configure Actions secrets DOCKER_USERNAME and DOCKER_TOKEN with write access to k2patel/floodui.

Updating an existing deployment

Use k2patel/floodui:latest, pull, and recreate the service. Keep existing connection settings and mounts. Root UID, port 3000 and /server/db are unchanged. The default Compose file in docker-rtorrent uses distroless :latest for both services and supplies rTorrent's native health check; no overlay is needed.

Public access is read-only; account registration is disabled. Maintainer-applied contributions can be based on a branch or patch against the current Gitea source.