Guías / Docker

OwnMedia con Docker

Para una máquina Linux o cualquier NAS que ejecute Docker Compose. En Synology, sigue mejor la guía paso a paso de Synology.

Los menús de Jellyfin y de la app aparecen en inglés, como se llaman en la interfaz en inglés.

1. Jellyfin

Crea carpetas para los ajustes y la caché de Jellyfin, y otra para las fotos copiadas desde los teléfonos. Después, un docker-compose.yml; cambia las rutas a la izquierda de los dos puntos por las tuyas:

services:
  jellyfin:
    image: jellyfin/jellyfin:12.1
    container_name: jellyfin
    # La red del propio equipo: los teléfonos de la Wi-Fi encuentran el servidor solos ("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

Arráncalo con docker compose up -d. :ro deja tus películas y tu música en solo lectura; la carpeta de fotos tiene que admitir escritura, porque allí llegan las copias del teléfono.

El plugin de OwnMedia necesita Jellyfin 12.1 o posterior. network_mode: host permite que los teléfonos encuentren el servidor en tu Wi-Fi (puerto UDP 7359). Si hay un cortafuegos activo, permite TCP 8096 y UDP 7359.

2. Primera configuración

Abre http://<dirección del servidor>:8096 en un navegador, crea un usuario (nombre y contraseña para el teléfono) y añade bibliotecas: Movies → /media/video, Music → /media/music, y Photos → /media/photos si quieres.

3. El plugin de OwnMedia

En Jellyfin: Dashboard → Plugins → Manage Repositories → +, nombre OwnMedia, URL:

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

Después Plugins → filtro All → Homeplay Backup → Install, y reinicia Jellyfin desde la página principal del Dashboard. En los ajustes del plugin, pon como carpeta de fotos /media/photos.

4. El teléfono

En OwnMedia, toca Add your server; en la misma Wi-Fi se encuentra solo, si no, escribe <dirección del servidor>:8096. Una página con código QR para teléfonos: http://<dirección del servidor>:8096/Homeplay/Phone.

5. Acceso desde internet

Instala Tailscale en el equipo, inicia sesión y abre el puerto de Jellyfin con Funnel:

sudo tailscale funnel --bg 8096

Muestra la dirección, https://<máquina>.<tu tailnet>.ts.net/. La primera vez, Tailscale puede pedirte que actives Funnel en el navegador. Solo se abre el puerto 8096; en el router no cambia nada. Después, en OwnMedia: el menú del servidor ⋮ → Share with friends → I have an address already → esta dirección.

¿Ya llegas al servidor de otra forma, con tu propio dominio y un proxy inverso o una VPN? Usa esa dirección. Más en Fuera de casa y amigos.

La app para tus amigos

No hay nada que configurar: las páginas de invitación y el código QR llevan a tus amigos a descargar la app más reciente desde ownmedia.app. Hace falta el plugin 1.8 o posterior; Jellyfin ofrece la actualización en Dashboard → Plugins.

Quitar OwnMedia

  1. docker compose down en la carpeta del archivo compose, y después docker image rm jellyfin/jellyfin:12.1.
  2. Desactiva el acceso desde internet: sudo tailscale funnel --https=443 off. Parar Jellyfin no basta: Funnel sigue activo en Tailscale (la dirección se abre, con un error) hasta que lo desactives o quites Tailscale y borres la máquina de la lista Machines en la web de Tailscale.
  3. Borra las carpetas de ajustes y caché de Jellyfin. Tus películas, tu música y las copias de fotos no se tocan.
  4. En OwnMedia, en el teléfono: el menú del servidor ⋮ → quitar el servidor.