50 lines
2.5 KiB
Markdown
50 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 variant
|
|
|
|
`docker.io/k2patel/rtorrent:distroless` is built separately using the manual
|
|
**Build Distroless rTorrent** workflow. It preserves the Alpine 3.24 rTorrent
|
|
binary, musl libraries, CA certificates and timezone/terminal data in a `scratch`
|
|
final image. It contains no shell, package manager, BusyBox, or build tools.
|
|
A small native launcher removes the stale session lock and execs rTorrent,
|
|
so signals go directly to rTorrent. It also provides the shell-free TCP healthcheck.
|
|
|
|
CI tests the assembled filesystem by starting rTorrent and making an SCGI XML-RPC
|
|
request before publishing. The working `latest` tag is independent.
|
|
|
|
Your mounted `rtorrent.rc` must not depend on shell commands or utilities missing
|
|
from this image (including `execute` hooks). Review those hooks before switching.
|
|
Existing mount paths, SCGI port 5001, root UID and `HOME=/root` are preserved.
|
|
Use the Compose overlay to replace the shell-based healthcheck:
|
|
|
|
```sh
|
|
docker compose -f docker-compose.yml -f docker-compose.distroless.yml up -d
|
|
```
|
|
|
|
The overlay also selects the separate Flood distroless image. Keep the same `.env`
|
|
values and mounted data. To roll back, use the base Compose file with `:latest`.
|