Image Docker basée sur `crazymax/rtorrent-rutorrent`,
2.4K
Image Docker basée sur crazymax/rtorrent-rutorrent, optimisée pour les environnements lourds (plusieurs milliers de torrents).
Cette image inclut un tuning PHP/rTorrent complet, un healthcheck intégré, des métriques internes et des logs détaillés.
Compatible avec les configurations VPN type Gluetun.
version: "3.9"
services:
vpn:
image: qmcgaw/gluetun:latest
container_name: vpn
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
environment:
- VPN_SERVICE_PROVIDER=custom
- VPN_TYPE=wireguard
- WIREGUARD_ADDRESSES=10.2.0.2/32
- VPN_PORT_FORWARDING=on
volumes:
- ./config/gluetun:/gluetun
restart: unless-stopped
rutorrent:
image: kdtheory/rutorrent:latest
container_name: rutorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- PORT_RTORRENT=50341
volumes:
- ./config/rutorrent:/config
- ./downloads:/data/downloads
- ./session:/data/.session
restart: unless-stopped
network_mode: "service:vpn"
| Variable | Description | Valeur par défaut |
|---|---|---|
| PUID | ID utilisateur interne | 1000 |
| PGID | ID groupe interne | 1000 |
| TZ | Fuseau horaire | Europe/Paris |
| PORT_RTORRENT | Port unique utilisé par Gluetun | 50341 |
| SESSION_DIR | Chemin de la session rTorrent | /config/.session |
| Composant | Paramètre | Valeur | Description |
|---|---|---|---|
| PHP-FPM | memory_limit | 1536M | Limite mémoire PHP |
| PHP-FPM | pm.max_children | 48 | Processus enfants simultanés |
| rTorrent | pieces.memory.max | 2000M | Mémoire max pour le hashing |
| rTorrent | max_memory_usage | 3000M | Mémoire max globale |
| rTorrent | trackers.numwant | 200 | Peers par tracker |
Ces réglages assurent une stabilité optimale pour de très grandes bibliothèques de torrents si la VM a suffisamment de RAM (16GB recommandé).
Un script intégré collecte automatiquement les métriques toutes les 60 secondes et les écrit dans /tmp/metrics.log :
[2025-11-10 15:42:17] CPU: 7.3% | RAM: 482MB
Visualiser les métriques :
docker exec -it rutorrent cat /tmp/metrics.log
Le conteneur est marqué healthy si le port HTTP répond :
HEALTHCHECK --interval=30s --timeout=10s --retries=5 CMD nc -z localhost 80 || exit 1
Vérification :
docker inspect --format='{{.State.Health.Status}}' rutorrent
| Type | Emplacement |
|---|---|
| rTorrent | /tmp/rtorrent.log |
| Métriques | /tmp/metrics.log |
| Nginx / PHP-FPM | docker logs rutorrent |
Visualisation :
docker logs -f rutorrent
# Vérifier état du container
docker inspect --format='{{.State.Health.Status}}' rutorrent
# Lire le log rTorrent
docker exec -it rutorrent tail -f /tmp/rtorrent.log
# Vérifier la socket SCGI
docker exec -it rutorrent ls -l /run/rtorrent/rtorrent.sock
# Consulter métriques système
docker exec -it rutorrent cat /tmp/metrics.log
docker build -t kdtheory/rutorrent:latest .
FROM crazymax/rtorrent-rutorrent:... dans le Dockerfile et ouvrir PRs.renovate.json (à placer à la racine) :{
"extends": ["config:recommended"],
"regexManagers": [
{
"fileMatch": ["^Dockerfile$"],
"matchStrings": ["FROM\\s+(?<depName>crazymax/rtorrent-rutorrent):(?<currentValue>\\S+)"],
"datasourceTemplate": "docker"
}
],
"packageRules": [
{
"matchPackageNames": ["crazymax/rtorrent-rutorrent"],
"groupName": "rutorrent base image update",
"automerge": true,
"automergeType": "pr"
}
],
"assignees": ["@KDTheory"],
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}
MIT © Kevin Darmon
Content type
Image
Digest
sha256:e99725368…
Size
146.2 MB
Last updated
10 months ago
docker pull kdtheory/rutorrent