Solución de la comunidad

Instala una aplicación Docker personalizada en ZimaOS: ejemplo de Subsyncarr

A June 2026 beginner thread about installing Subsyncarr outside the ZimaOS App Store. A community reply explained how Docker image, volumes, environment variables, and SCAN_PATHS map into the manual installer; current Subsyncarr releases now also expose a Web UI on port 3000.

El formulario «Instalar una aplicación personalizada» de ZimaOS es mucho más fácil de usar cuando reconoces que traduce conceptos habituales de Docker Compose a campos. El hilo de origen de junio de 2026 es un buen ejemplo para principiantes porque el usuario ya tenía Jellyfin funcionando, quería añadir Subsyncarr para procesar subtítulos y le preocupaba afectar al servidor multimedia existente.

La respuesta de la comunidad no se limitó a decir «pega el archivo de Compose». Explicó qué valores correspondían a Imagen de Docker, Etiqueta, Red, Volúmenes, Variables de entorno, Dispositivos y Comando del contenedor y, lo más importante, por qué los valores de entorno como SCAN_PATHS deben usar rutas visibles dentro del contenedor.

Lee el formulario de ZimaOS como configuración de Docker

Formulario de aplicación personalizada de ZimaOS que muestra la imagen de Docker, la etiqueta, el título, la interfaz web, la red, los puertos, los volúmenes, las variables de entorno, los dispositivos y el comando
El instalador manual presenta la configuración estándar del contenedor como campos individuales en lugar de YAML de Compose sin procesar.

En el ejemplo de origen, la comunidad asignó aproximadamente así los campos básicos de Compose:

  • Imagen de Docker → mrorbitman/subsyncarr
  • Etiqueta → la etiqueta de versión deseada, históricamente latest
  • Título → un nombre de aplicación descriptivo como Subsyncarr
  • Red → bridge a menos que las instrucciones actuales de la aplicación requieran otra cosa

Usa el ejemplo de Compose original como fuente de verdad

Ejemplo de Docker Compose de Subsyncarr que muestra la imagen, los volúmenes multimedia, la programación de cron, las rutas de escaneo, los directorios excluidos y los motores de sincronización
La tarea correcta es traducir cada configuración de Compose a ZimaOS sin cambiar lo que el contenedor espera internamente.

Subsyncarr ha seguido evolucionando, así que compara cualquier captura de pantalla antigua de la comunidad con la configuración actual del contenedor de Subsyncarr antes de instalarlo.

Los volúmenes son la parte más importante

Un volumen de Docker tiene dos lados:

  • Ruta del host: la carpeta real de ZimaOS que contiene películas, series, anime o datos de la aplicación.
  • Ruta del contenedor: la ruta que Subsyncarr ve dentro de su propio sistema de archivos.

Conceptualmente, una asignación podría verse así:

Host: /DATA/Media/Movies
Contenedor: /movies

La carpeta exacta del host depende de dónde se encuentre realmente tu biblioteca de Jellyfin. No copies la ruta de otro usuario. Comprueba la aplicación Archivos de ZimaOS o inspecciona las asignaciones de volúmenes existentes de Jellyfin para que ambos contenedores apunten al mismo contenido multimedia.

La explicación actual de cómo las carpetas de almacenamiento reales de ZimaOS se convierten en rutas del contenedor resulta útil antes de añadir cualquier aplicación multimedia personalizada.

SCAN_PATHS debe coincidir con la ruta dentro del contenedor

Este era el punto didáctico clave de la respuesta original. Si la carpeta del host está asignada a /movies dentro del contenedor; después, Subsyncarr debería escanear /movies.

Correcto:

SCAN_PATHS=/movies,/tv,/anime

Incorrecto cuando esas son solo rutas del host:

SCAN_PATHS=/DATA/Media/Movies

El contenedor no puede ver rutas arbitrarias del host de ZimaOS a menos que esas carpetas se hayan asignado explícitamente a él.

Traduce las variables de entorno una por una

El ejemplo de Compose original incluía variables como la zona horaria, la programación de cron, las rutas de escaneo, los directorios excluidos y los motores de sincronización. Añade cada una a la sección de Variables de entorno usando la misma semántica de valores que espera la aplicación original.

No «mejores» una expresión de cron ni cambies el nombre de una ruta de contenedor al traducirla. Primero reproduce fielmente la configuración original y, después, haz cambios cuando sepas que la aplicación funciona.

Las versiones actuales de Subsyncarr tienen una interfaz web

La respuesta de la comunidad de 2026 recomendaba dejar vacíos «Interfaz web» y «Puertos», a menos que la documentación indicara que la aplicación exponía alguno. Ese consejo era correcto para una aplicación desconocida, pero las versiones actuales de Subsyncarr ya ofrecen una interfaz web en el puerto 3000 y datos de aplicación persistentes.

Si quieres el panel, publica un puerto del host hacia el puerto 3000 del contenedor y configura el campo de interfaz web de ZimaOS con esa dirección del host. Si el puerto ya está en uso, cambia únicamente el del host, salvo que el proyecto original indique que se puede configurar el puerto interno del servicio.

Conserva los datos propios de la aplicación de Subsyncarr

Las carpetas multimedia no son los únicos volúmenes importantes. La versión actual de Subsyncarr también tiene sus propios datos persistentes. Mantén el estado de la aplicación en una carpeta del host que sobreviva a las actualizaciones del contenedor e inclúyela en las copias de seguridad.

PUID y PGID son importantes cuando es necesario escribir subtítulos

Un procesador de subtítulos necesita más que acceso de lectura. Puede necesitar crear, cambiar de nombre o modificar archivos de subtítulos junto al contenido multimedia. La versión actual de Subsyncarr admite PUID y PGID, así que haz coincidir el usuario del contenedor con el propietario o los permisos de grupo de las carpetas multimedia si los escaneos funcionan pero falla la escritura de subtítulos.

Deja vacíos «Dispositivos» y «Comando del contenedor» salvo que el proyecto original los requiera

La respuesta de la comunidad recomendó correctamente no completar todos los campos solo porque existan. Un mapeo de dispositivos es para hardware, como GPU o dispositivos serie. El comando del contenedor sustituye el comando de inicio predeterminado de la imagen. No debes añadir ninguno de los dos sin un requisito específico del proyecto original.

Por qué esto no debería afectar a Jellyfin

Añadir un contenedor independiente no modifica Jellyfin solo porque ambas aplicaciones lean la misma carpeta multimedia. El mayor riesgo son los permisos: si Subsyncarr puede cambiar nombres o escribir archivos, asegúrate de que su configuración solo afecte a las rutas multimedia y de subtítulos que pretendes usar.

Comienza con una biblioteca de prueba pequeña antes de indicar a la aplicación que procese toda la colección.

Preguntas frecuentes sobre aplicaciones personalizadas de ZimaOS

¿SCAN_PATHS usa la ruta del host o la del contenedor?

Usa las rutas de los contenedores creadas por tus mapeos de volúmenes.

¿Debo completar todos los campos del formulario de aplicaciones personalizadas de ZimaOS?

No. Configura únicamente los puertos, dispositivos, comandos y otros campos que la aplicación realmente necesite.

¿La versión actual de Subsyncarr tiene una interfaz web?

Sí. Las versiones actuales exponen un panel en el puerto 3000.

¿Puede Subsyncarr usar las mismas carpetas multimedia que Jellyfin?

Sí, siempre que ambos contenedores mapeen las mismas carpetas reales del host y sus permisos sean adecuados.