Configuration
De Rien se configure via des variables d'environnement. Une clé TMDB est nécessaire pour constituer ton catalogue ; tout le reste ci-dessous est optionnel — ajoute chaque intégration quand tu veux la fonctionnalité qu'elle débloque.
La configuration se fait via des variables d'environnement, définies dans le
bloc environment: de ton docker-compose.yml (ou dans un fichier .env si tu
préfères les garder à part). Change une valeur, puis docker compose up -d pour
l'appliquer. Le guide
Installation couvre la poignée de variables nécessaires à
un premier démarrage.
TMDB — affiches & métadonnées
Nécessaire. De Rien constitue son catalogue à partir de TMDB — affiches, arrière-plans, résumés et casting — associés aux titres trouvés dans tes fichiers. Sans clé, il ne peut pas analyser ta bibliothèque du tout : c'est la seule intégration que tu dois configurer. Une clé gratuite depuis themoviedb.org suffit.
TMDB_API_KEY=ta_cle_tmdb
MDBList — notes Rotten Tomatoes
Affiche les notes critiques (Tomatometer) et public de Rotten Tomatoes sur la page de détail. Sans elle, De Rien retombe sur la note utilisateur TMDB. Récupère une clé gratuite (1 000 requêtes/jour) sur mdblist.com.
MDBLIST_API_KEY=ta_cle_mdblist
E-mail (SMTP) — liens magiques
De Rien connecte les gens avec des liens magiques sans mot de passe. Sans SMTP,
ces liens sont écrits dans les logs du conteneur (docker compose logs app).
Configure le SMTP pour les envoyer par e-mail :
SMTP_HOST=smtp.exemple.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=ton-utilisateur
SMTP_PASS=ton-mot-de-passe
SMTP_FROM=De Rien <derien@exemple.com>
Connexion Google (OAuth)
Laisse les gens se connecter avec Google. Crée un client OAuth dans la
Google Cloud Console et
ajoute l'URI de redirection ${APP_URL}/api/auth/callback/google.
GOOGLE_CLIENT_ID=ton_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=ton_client_secret
Les nouvelles inscriptions (lien magique ou Google) passent par une file d'approbation admin avant de pouvoir utiliser le serveur — le premier admin, créé dans l'assistant, est approuvé automatiquement.
Transcodage GPU (NVIDIA NVENC)
L'image embarque un ffmpeg compatible NVENC. Le transcodage utilise ton CPU
par défaut ; pour confier un GPU NVIDIA au conteneur, installe le
nvidia-container-toolkit
sur l'hôte et ajoute le GPU à ton service. Les deux formes marchent :
# Forme simple
services:
app:
gpus: all
environment:
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DRIVER_CAPABILITIES: all
# Forme Compose Specification
services:
app:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
environment:
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DRIVER_CAPABILITIES: all
Si aucun GPU n'est visible, De Rien transcode sur le CPU automatiquement — rien ne casse.
Téléchargements (avancé)
Demande et télécharge des releases depuis l'app en branchant un client qBittorrent et un indexeur Torznab.
# qBittorrent
QBIT_URL=http://192.168.1.10:8080
QBIT_USER=admin
QBIT_PASS=ton-mot-de-passe
QBIT_MOVIE_CATEGORY=movies
QBIT_SERIES_CATEGORY=series
QBIT_DOC_CATEGORY=documentary
# Recherche de releases Torr9 / Torznab
TORR9_PASSKEY=ta_passkey
TORR9_TORZNAB_URL=https://api.torr9.net/api/v1/torznab
# Proxy optionnel pour les requêtes torr9 uniquement (le domaine est bloqué au
# niveau DNS dans certaines régions) :
# TORR9_HTTP_PROXY=http://proxy:8080
Hub, mises à jour & télémétrie
De Rien peut s'appairer à un hub central (pour lier des serveurs et partager des accès), vérifier les mises à jour, et envoyer un ping d'usage quotidien anonyme. Les trois sont optionnels et faciles à couper.
# Hub central à appairer. Par défaut le hub public De Rien — l'appairage exige
# quand même le flux de connexion approuvé par l'admin, donc la valeur par
# défaut seule ne lie rien. Mets-la vide (HUB_ORIGIN=) pour un mode 100% autonome.
HUB_ORIGIN=https://hub.de-rien.zabby.fr
# Vérification quotidienne « nouvelle version dispo » dans le tableau de bord
# admin. Mets false pour les installs coupées d'internet.
VERSION_CHECK_ENABLED=true
# Ping quotidien anonyme (des compteurs seulement — aucun titre, nom ou e-mail).
# Désinscris-toi ici.
TELEMETRY_ENABLED=true
Mettre à la fois HUB_ORIGIN= et TELEMETRY_ENABLED=false (et, pour un fork,
ADMIN_ORIGIN=) empêche ton serveur de contacter quoi que ce soit d'externe.
Référence complète des variables
Le conteneur définit déjà NODE_ENV=production, DATA_ROOT=/app/data,
MEDIA_ROOT=/media et PORT=3000 pour toi. Tout ce que l'app lit :
| Variable | Requise | Défaut | Rôle |
|---|---|---|---|
APP_URL | Recommandée | http://localhost:3000 | URL publique ; sert aux e-mails de liens magiques et aux callbacks OAuth. |
BETTER_AUTH_SECRET | Oui (prod) | placeholder dev | Signe les sessions. Génère : openssl rand -base64 32. |
DATA_ROOT | Non | /app/data | Racine de toutes les données persistantes (base + cache d'affiches). |
DATABASE_PATH | Non | ${DATA_ROOT}/derien.db | Surcharge le chemin du fichier SQLite. |
IMAGE_CACHE_ROOT | Non | ${DATA_ROOT}/images | Surcharge le chemin du cache d'affiches. |
MEDIA_ROOT | Non | /media | Où la bibliothèque est montée dans le conteneur. |
MEDIA_HOST_PATH | Non | — | Chemin hôte monté sur MEDIA_ROOT ; affiché dans l'assistant. |
TMDB_API_KEY | Non | — | Enrichissement affiches & métadonnées. |
MDBLIST_API_KEY | Non | — | Notes critiques/public Rotten Tomatoes. |
SMTP_HOST | Non | — | Serveur SMTP ; absent → liens magiques dans les logs. |
SMTP_PORT | Non | 587 | Port SMTP. |
SMTP_SECURE | Non | false | TLS à la connexion. |
SMTP_USER | Non | — | Utilisateur SMTP. |
SMTP_PASS | Non | — | Mot de passe SMTP. |
SMTP_FROM | Non | De Rien <derien@honnete.cloud> | Adresse d'expédition des e-mails. |
GOOGLE_CLIENT_ID | Non | — | OAuth Google (besoin de l'id + du secret). |
GOOGLE_CLIENT_SECRET | Non | — | Secret OAuth Google. |
QBIT_URL | Non | — | URL de l'interface web qBittorrent. |
QBIT_USER / QBIT_PASS | Non | — | Identifiants qBittorrent. |
QBIT_MOVIE_CATEGORY | Non | movies | Catégorie des téléchargements de films. |
QBIT_SERIES_CATEGORY | Non | series | Catégorie des téléchargements de séries. |
QBIT_DOC_CATEGORY | Non | documentary | Catégorie des téléchargements de documentaires. |
TORR9_PASSKEY | Non | — | Passkey Torznab pour la recherche de releases. |
TORR9_TORZNAB_URL | Non | https://api.torr9.net/api/v1/torznab | Endpoint Torznab. |
TORR9_HTTP_PROXY | Non | — | Proxy pour les requêtes torr9 uniquement. |
HUB_ORIGIN | Non | https://hub.de-rien.zabby.fr | Hub à appairer ; vide = autonome. |
VERSION_CHECK_ENABLED | Non | true | Recherche de nouvelles versions. |
VERSION_MANIFEST_URL | Non | console admin | Manifeste de releases (à surcharger sur un fork). |
TELEMETRY_ENABLED | Non | true | Ping d'usage quotidien anonyme (désinscription). |
ADMIN_ORIGIN | Non | console admin | Cible télémétrie + rapports de bug ; vide désactive les deux. |