Guides / Docker

OwnMedia avec Docker

Pour une machine Linux ou tout NAS qui fait tourner Docker Compose. Sur Synology, suivez plutôt le guide Synology pas à pas.

Les menus de Jellyfin et de l’app sont cités en anglais, tels qu’ils s’appellent dans l’interface anglaise.

1. Jellyfin

Créez des dossiers pour les réglages et le cache de Jellyfin, et un pour les photos sauvegardées depuis les téléphones. Puis un docker-compose.yml ; remplacez les chemins à gauche des deux-points par les vôtres :

services:
  jellyfin:
    image: jellyfin/jellyfin:12.1
    container_name: jellyfin
    # Le réseau de l'hôte : les téléphones du Wi-Fi trouvent le serveur tout seuls ("Add your server").
    network_mode: host
    restart: unless-stopped
    volumes:
      - /srv/jellyfin/config:/config
      - /srv/jellyfin/cache:/cache
      - /srv/media/video:/media/video:ro
      - /srv/media/music:/media/music:ro
      - /srv/media/photos/OwnMedia:/media/photos

Lancez-le avec docker compose up -d. :ro garde vos films et votre musique en lecture seule ; le dossier des photos doit être accessible en écriture, car les sauvegardes du téléphone y arrivent.

Le plugin d’OwnMedia demande Jellyfin 12.1 ou plus récent. network_mode: host permet aux téléphones de trouver le serveur sur votre Wi-Fi (port UDP 7359). Si un pare-feu est actif, autorisez TCP 8096 et UDP 7359.

2. Première configuration

Ouvrez http://<adresse du serveur>:8096 dans un navigateur, créez un utilisateur (nom et mot de passe pour le téléphone) et ajoutez des bibliothèques : Movies → /media/video, Music → /media/music, et Photos → /media/photos si vous voulez.

3. Le plugin OwnMedia

Dans Jellyfin : Dashboard → Plugins → Manage Repositories → +, nom OwnMedia, URL :

https://raw.githubusercontent.com/3dengineering01-star/Homeplayer/main/jellyfin-repo/manifest.json

Puis Plugins → filtre All → Homeplay Backup → Install, et redémarrez Jellyfin depuis la page principale du Dashboard. Dans les réglages du plugin, indiquez le dossier des photos /media/photos.

4. Le téléphone

Dans OwnMedia, touchez Add your server ; sur le même Wi-Fi, il est trouvé tout seul, sinon saisissez <adresse du serveur>:8096. Une page avec un QR code pour les téléphones : http://<adresse du serveur>:8096/Homeplay/Phone.

5. Accès depuis Internet

Installez Tailscale sur l’hôte, connectez-vous, et ouvrez le port de Jellyfin avec Funnel :

sudo tailscale funnel --bg 8096

La commande affiche l’adresse, https://<machine>.<votre tailnet>.ts.net/. La première fois, Tailscale peut vous demander d’activer Funnel dans le navigateur. Seul le port 8096 est ouvert ; rien ne change sur votre box. Ensuite, dans OwnMedia : le menu du serveur ⋮ → Share with friends → I have an address already → cette adresse.

Vous accédez déjà au serveur autrement, avec votre propre domaine et un reverse proxy ou un VPN ? Utilisez plutôt cette adresse. Plus d’informations dans Hors de chez vous et amis.

L’app pour vos amis

Rien à configurer : les pages d’invitation et le QR code envoient vos amis télécharger la dernière app sur ownmedia.app. Il faut pour cela le plugin 1.8 ou plus récent ; Jellyfin propose la mise à jour dans Dashboard → Plugins.

Désinstaller OwnMedia

  1. docker compose down dans le dossier du fichier compose, puis docker image rm jellyfin/jellyfin:12.1.
  2. Coupez l’accès depuis Internet : sudo tailscale funnel --https=443 off. Arrêter Jellyfin ne suffit pas : Funnel reste actif dans Tailscale (l’adresse s’ouvre, avec une erreur) tant que vous ne le coupez pas ou que vous ne retirez pas Tailscale et la machine de la liste Machines sur le site de Tailscale.
  3. Supprimez les dossiers de réglages et de cache de Jellyfin. Vos films, musiques et sauvegardes de photos ne sont pas touchés.
  4. Dans OwnMedia sur le téléphone : le menu du serveur ⋮ → supprimer le serveur.