E0861: Migrando Plex de instalación nativa a Docker

Un movimiento más fácil de lo que esperaba.

E0861: Migrando Plex de instalación nativa a Docker

A raiz del comentario de un oyente en Mastodon, me animé a intentar la migración de mi servidor de contenidos Plex desde la instalación nativa en Synology a Docker. Un movimiento al que le tenía mucho miedo, pero que ha acabado siendo bastante fácil de hacer.

Docker Compose utilizado:

  plex:
    image: linuxserver/plex:latest
    container_name: Plex
    hostname: Plex
    network_mode: host
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    environment:
      - PUID=XXXX #usuario plex
      - PGID=XXXX
      - UMASK=022
      - VERSION=docker
      - TZ=Europe/Madrid
      - PLEX_CLAIM= #Código claim, sólo para la primera vez (ir a plex.tv/claim)
    volumes:
      - /volume1/docker/plex:/config:rw
      - /volume1/docker/plex/transcode:/transcode:rw
      - /volume1/Multimedia:/volume1/Multimedia
    devices:
      - /dev/dri:/dev/dri #Driver para el transcoding HW
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://<IP de Plex>:32400/web

Pasos a seguir:

  1. Configurar en el Compose el mismo usuario que estamos usando para ejecutar Plex nativo.
  2. Configurar en el Compose exactamente las mismas rutas que antes para los archivos multimedia:
      • Plex en Docker tiene que ver las mismas rutas que veía el nativo.
      • Esto hace que no se desconfiguren las carpetas de las bibliotecas.
  3. Si tenemos un NAS que permite transcoding por HW:
      • Añadir el "device" correspondiente y darle permisos 777.
      • Programar un script para que se le den estos permisos cada vez que arranca el NAS porque no es un cambio persistente: "sudo chmod 777 /dev/dri /dev/dri/card0 /dev/dri/renderD128"
  4. Levantar el contenedor Plex como si quisiésemos levantar un Plex nuevo de cero:
      • Realizar la breve configuración inicial.
      • Esto hará que Plex cree las carpetas que necesita en su directorio de Docker.
  5. Migrar los metadatos de Plex nativo a Docker:
      1. Parar el nuevo contenedor Docker.
      2. Parar la instalación nativa de Plex (se puede hacer desde el centro de paquetes de Synology).
      3. Borrar completamente la carpeta 'Plex Media Server' que se encuentra dentro de:/volume1/docker/plex/Library/Application Support
      • Copiar la carpeta 'Plex Media Server' de la instalación nativa a la de Docker. Es decir:
        • De /volume1/PlexMediaServer/AppData
        • /volume1/docker/plex/Library/Application Support
          • Es mejor copiar que cortar porque si hay algún problema, siempre podemos volver atrás rápidamente.
          • Serán varios gigas de metadatos, así que le llevará un buen rato.
  6. Arrancar de nuevo el contenedor de Plex y ya estaría todo funcionando de nuevo.
  7. Verificar que no haya ningún problema de permisos y que los archivos se reproduzcan correctamente. Probar también la transcodificación por HW.
  8. Tras un par de días verificando que todo funciona correctamente, ya podremos:
      • Desinstalar Plex nativo desde el centro de paquetes de Synology.
      • Eliminar la carpeta compartida /volume1/PlexMediaServer del NAS.