Files
Ketan Patel 4b53923829
Build and Push Docker Image / build (push) Successful in 53s
Make distroless the sole latest image and default Compose runtime
2026-10-03 00:06:00 -04:00

56 lines
2.5 KiB
Markdown

# docker-rtorrent
This is plain simple rtorrent with proxy and custom rtorrent.rc
Base image: Alpine Linux 3.24 stable (`alpine:3.24`), including its latest patch updates.
Source: https://git.k2patel.in/k2patel/docker-rtorrent
Public access is read-only; account registration on this server is disabled.
Report issues at https://github.com/k2patel/docker-rtorrent/issues.
For contributions, open an issue with a link to your branch or patch on another
Git provider. Changes are reviewed and applied by the maintainer on Gitea.
Gitea Actions builds and publishes `docker.io/k2patel/rtorrent:latest`
on pushes to `main`, manually, and monthly on the third day at 00:00 UTC.
The repository requires Actions secrets `DOCKER_USERNAME` and `DOCKER_TOKEN`
(a Docker Hub token with write access to `k2patel/rtorrent`).
Builds run on the remote Kubernetes runner for `linux/amd64`, matching the
previous GitHub build. Buildx pushes directly to Docker Hub without loading
the image into the runner's Docker image store. Its temporary builder and
build cache are removed after each job; no image archives or build records
are uploaded to Gitea, and no local container builds are required.
# Latest 0.16 version caveat
- since version 0.16 explicitly set `network.bind_address.set = 0.0.0.0`, when ipv6 is disabled on kernel.
## Distroless runtime
`docker.io/k2patel/rtorrent:latest` is the only maintained image variant.
The default Dockerfile exports the Alpine 3.24 rTorrent binary, musl libraries,
CA certificates and timezone/terminal data into a `scratch` image. It contains
no shell, package manager, BusyBox, or build tools. The native launcher removes
the stale session lock and execs rTorrent; it also supplies the TCP health check.
CI starts rTorrent and verifies an SCGI XML-RPC request before publication.
Use the default Compose file with the existing `.env` and mounted data:
```sh
docker compose pull
docker compose up -d --force-recreate
```
For an existing custom Compose file, use `:latest` for both images and replace
any shell-based rTorrent health check with:
```yaml
healthcheck:
test: ["CMD", "/usr/local/bin/rtorrent-entrypoint", "--healthcheck"]
```
The separate `:distroless` tag and Compose overlay are retired. Both services in
the default Compose file now use distroless `:latest`. Root UID, HOME=/root,
SCGI port 5001, download paths and the session volume remain supported.
Mounted `rtorrent.rc` execute hooks must use programs available in the image;
shell commands and arbitrary external utilities are unavailable.