LumeRecorder
Enregistrez la TV en direct sur votre propre serveur
LumeRecorder est un petit serveur DVR gratuit et open source que vous faites tourner chez vous. Lume lui indique quoi enregistrer, et il enregistre tout seul, même quand tous vos appareils Apple sont en veille. Les enregistrements se lisent dans Lume sur tous vos appareils, y compris ceux encore en cours.
L’enregistrement fait partie de Lume Pro. Le serveur, lui, est gratuit.
Ce qu’il vous faut
Une machine toujours allumée
Un NAS, un mini PC, un serveur domestique, un Raspberry Pi 64 bits ou un Mac qui ne se met pas en veille. L’image Docker fonctionne sur Intel/AMD et ARM.
Docker
Docker ou Docker Desktop, ou l’outil container d’Apple sur un Mac avec puce Apple. La plupart des NAS intègrent déjà Docker.
De l’espace disque
Les flux sont enregistrés tels quels, sans réencodage. Une chaîne HD occupe généralement quelques gigaoctets par heure.
Le même réseau
Le serveur et vos appareils Apple doivent être sur le même réseau domestique, pour que Lume le trouve et lise les enregistrements.
Étape 1
Démarrer le serveur
Choisissez comment vous exécutez vos conteneurs. Chaque option conserve enregistrements et réglages dans un dossier de données à côté, qui survit aux mises à jour.
Enregistrez ceci sous
docker-compose.ymldans un nouveau dossier, puis lancez-le depuis ce dossier. Le mode réseau hôte permet à Lume de trouver le serveur automatiquement.services: lume-recorder: image: ghcr.io/bilipp/lumerecorder:latest container_name: lume-recorder restart: unless-stopped network_mode: host volumes: - ./data:/datadocker compose up -dSur Synology, QNAP, Unraid ou TrueNAS, vous pouvez coller ce même fichier comme nouveau projet dans le gestionnaire Docker ou Container Manager du système.
Sur un Mac ou un PC Windows avec Docker Desktop, publiez le port au lieu d’utiliser le réseau hôte. Enregistrez ceci sous
docker-compose.ymlet lancez-le.services: lume-recorder: image: ghcr.io/bilipp/lumerecorder:latest container_name: lume-recorder restart: unless-stopped ports: - "8090:8090" volumes: - ./data:/data environment: BONJOUR: "0"docker compose up -dDocker Desktop ne peut pas annoncer le serveur sur votre réseau : vous saisirez donc son adresse dans Lume à la main. Veillez à ce que Docker Desktop démarre à l’ouverture de session.
Sur un Mac avec puce Apple, vous pouvez utiliser l’outil
containerd’Apple à la place de Docker.container system start mkdir -p ~/LumeRecorder-data container run -d --name lume-recorder \ -p 0.0.0.0:8090:8090 \ -v ~/LumeRecorder-data:/data \ -e BONJOUR=0 ghcr.io/bilipp/lumerecorder:latestLe conteneur tourne dans une VM légère : vous saisirez donc l’adresse de votre Mac dans Lume à la main. Empêchez le Mac de se mettre en veille tant que des enregistrements sont programmés.
Vous préférez vous passer de conteneurs ? Il faut Swift 6 et ffmpeg ; voir compiler depuis les sources.
Étape 2
Obtenir le code de jumelage
Au démarrage, le serveur affiche un code de jumelage à 6 chiffres dans son journal, puis un nouveau toutes les 10 minutes. Affichez le code actuel à tout moment avec :
docker exec lume-recorder lume-recorder pairAvec l’outil d’Apple, exécutez plutôt
container exec lume-recorder lume-recorder pair. Sur un NAS, le code apparaît aussi dans la vue du journal du conteneur.Étape 3
Jumeler Lume
- Dans Lume, ouvrez Réglages › TV en direct › Serveur d’enregistrement.
- Lisez Avant le jumelage et touchez J’ai compris.
- Choisissez votre serveur sous Serveurs sur ce réseau. S’il n’apparaît pas, touchez Saisir l’adresse manuellement, tapez l’adresse IP du serveur (par exemple
192.168.1.20) et touchez Se connecter. Sans port précisé, Lume utilise le port 8090. - Saisissez le Code de jumelage affiché par le serveur et touchez Jumeler.
Un seul jumelage suffit : il se synchronise avec vos autres appareils Apple via iCloud.
Étape 4
Enregistrer
- Enregistrer maintenant : choisissez Enregistrer dans le menu d’une chaîne ou dans le lecteur.
- Enregistrer plus tard : ouvrez un programme dans le Guide et choisissez Programmer l’enregistrement.
- Regarder : ouvrez Enregistrements depuis la barre d’outils TV en direct ou Réglages › TV en direct. Sur Apple TV, vous pouvez aussi l’afficher dans la barre latérale TV en direct.
Réglages
Modifiez-les sous forme d’entrées environment dans docker-compose.yml (ou -e NAME=value avec l’outil d’Apple).
| Variable | Par défaut | Rôle |
|---|---|---|
SERVER_NAME | Nom d’hôte | Le nom que Lume affiche pour le serveur. |
PORT | 8090 | Le port sur lequel le serveur écoute. |
MAX_CONCURRENT | 4 | Le nombre d’enregistrements simultanés autorisés. Chacun utilise une connexion à votre fournisseur. |
MIN_FREE_GB | 2 | Les enregistrements ne démarrent pas s’il reste moins de gigaoctets libres que cette valeur. |
BONJOUR | 1 | 0 désactive la découverte automatique, pour les configurations où elle ne peut pas fonctionner. |
TZ | UTC | Fuseau horaire des horodatages du journal, par ex. Europe/Berlin. |
Relancez docker compose up -d après les avoir modifiés.
Dépannage
Lume ne trouve pas le serveur
Vérifiez que Lume a accès à votre réseau local (sur iPhone et iPad : Réglages › Confidentialité et sécurité › Réseau local). La découverte automatique ne fonctionne qu’avec le réseau hôte sous Linux. Avec Docker Desktop, l’outil d’Apple, un réseau bridge ou des VLAN séparés, touchez Saisir l’adresse manuellement et tapez l’adresse IP de la machine.
Mon NAS a déjà son propre service Bonjour
Deux services de découverte sur une même machine se gênent. Réglez BONJOUR sur 0 et ajoutez le serveur par son adresse. Le README de LumeRecorder explique comment l’annoncer plutôt via le service du NAS.
Le code de jumelage est refusé
Les codes changent toutes les 10 minutes : récupérez le code actuel. Après cinq codes erronés, le jumelage est bloqué pendant une minute.
Un enregistrement échoue pendant que je regarde
Le serveur ouvre sa propre connexion à votre fournisseur. Si votre abonnement n’autorise qu’une connexion à la fois, regarder et enregistrer en même temps peut échouer. Augmentez votre limite de connexions auprès du fournisseur ou évitez les chevauchements.
Un enregistrement a échoué faute d’espace ou à cause d’un trop grand nombre d’enregistrements
Libérez de l’espace disque ou baissez MIN_FREE_GB, et augmentez MAX_CONCURRENT si votre fournisseur autorise davantage de connexions.
Que se passe-t-il si le serveur redémarre ?
Les enregistrements en cours reprennent à son retour, avec une courte coupure. Ceux qui étaient programmés pendant qu’il était éteint sont marqués comme ayant échoué.
Mise à jour
Depuis le dossier contenant docker-compose.yml, récupérez la nouvelle image et redémarrez. Enregistrements et jumelages restent dans le dossier de données.
docker compose pull && docker compose up -dToutes les options, l’API HTTP et le code source se trouvent dans le dépôt LumeRecorder sur GitHub.
← Retour à Lume