Synology
KumoYami en un NAS Synology con Container Manager.
En un Synology, KumoYami corre en Container Manager (el paquete de Docker de DSM 7.2 y posteriores; en versiones anteriores se llamaba Docker). Puede publicar directamente las carpetas compartidas del NAS.
Qué modelos sirven
Hace falta un modelo que admita Container Manager: en general, las series «+», «xs» y similares. Comprueba el procesador de tu modelo en la ficha técnica de Synology.
ARM: próximamente
La imagen de KumoYami todavía es solo para procesadores x86_64 (Intel y AMD). La versión para ARM (arm64: Raspberry Pi, Mac con Apple Silicon, VPS y NAS con ARM) llegará en una próxima versión; esta guía se actualizará entonces.
Los modelos con procesador ARM (muchos de las series «j» y «value») tendrán que esperar a esa versión.
Instalar
Prepara las carpetas
En File Station, crea una carpeta para KumoYami dentro de la carpeta compartida docker (Container Manager la crea
al instalarse), por ejemplo docker/kumoyami, y dentro de ella otra llamada datos.
Inicia sesión en el registro y descarga la imagen
La imagen de KumoYami está en un registro privado. En Synology, ese inicio de sesión tiene que hacerlo root:
- La pestaña Registro de Container Manager no sirve para registros privados con token (como este): da «No se
puede conectar al registro» y el proyecto falla después con
unauthorized. No la uses. docker loginguarda la sesión en la carpeta del usuario que lo ejecuta. Un login por SSH con tu usuario sinsudono le sirve a root; consudo, o en una tarea de root, queda en/root/.docker/config.json, que es el que vale.
Sin SSH, con una tarea de root: Panel de control → Programador de tareas → Crear → Tarea programada → Script
definido por el usuario. En General, usuario root; en Configuración de tareas, este script con tu
identificador y tu clave:
echo 'KY1.TU-CLAVE-ENTERA' | /usr/local/bin/docker login registry.kumoyami.com -u lic_xxxxxxxxxxxx --password-stdin
/usr/local/bin/docker pull registry.kumoyami.com/kumoyami:latest
chown 1000:1000 /volume1/docker/kumoyami/datosGuárdala, selecciónala y pulsa Ejecutar. Cuando termine (la descarga tarda unos minutos), borra la tarea: lleva tu clave escrita.
Con SSH (actívalo en Panel de control → Terminal y SNMP y entra con un administrador), lo mismo con sudo:
sudo docker login registry.kumoyami.com -u lic_xxxxxxxxxxxx # contraseña: la clave KY1.… entera
sudo docker pull registry.kumoyami.com/kumoyami:latest
sudo chown 1000:1000 /volume1/docker/kumoyami/datosEl chown deja la carpeta datos escribible para el usuario del contenedor (uid 1000). Cambia volume1 si tu carpeta
docker está en otro volumen.
Crea el proyecto
En Container Manager → Proyecto → Crear:
- Nombre:
kumoyami. - Ruta: la carpeta
docker/kumoyami. - Origen: crear un
docker-compose.ymly pegar este contenido (la versión autónoma, con las rutas del NAS):
services:
web:
image: registry.kumoyami.com/kumoyami:latest
restart: unless-stopped
environment:
DATA_DIR: /app/datos
volumes:
- /volume1/docker/kumoyami/datos:/app/datos
# Carpetas compartidas que quieras publicar (:ro = solo lectura):
# - /volume1/fotos:/data/fotos:ro
ports:
- "4890:3000"Si el asistente ofrece configurar un portal web (Web Station), puedes omitirlo. Como la imagen ya está descargada, el proyecto arranca con ella sin tener que entrar en el registro.
Por SSH también vale, siempre con sudo y desde la carpeta del proyecto (después aparece igualmente en Container
Manager, para ver los registros, parar y arrancar):
cd /volume1/docker/kumoyami
sudo docker compose up -dAbre el panel
Visita http://IP-DEL-NAS:4890/admin. El asistente pide el código de configuración: está en los registros del
contenedor (Container Manager → Contenedor → kumoyami-web-1 → Registro, busca «Código») o por SSH:
sudo docker logs kumoyami-web-1 2>&1 | grep -i códigoSigue con el asistente.
HTTPS con el proxy inverso de DSM
DSM incluye un proxy inverso y certificados de Let's Encrypt, así que no necesitas Caddy ni Nginx:
- Apunta tu dominio (por ejemplo
nube.example.com) a la IP pública de tu casa y abre en el router los puertos 80 y 443 hacia el NAS. - Pide el certificado en Panel de control → Seguridad → Certificado.
- Crea la regla de proxy inverso: busca Proxy inverso en el Panel de control (en DSM 7 está en las opciones
avanzadas del Portal de inicio de sesión). Origen:
HTTPS, tu dominio, puerto443. Destino:HTTP,localhost, puerto4890. - Asigna el certificado al dominio en Seguridad → Certificado → Configuración.
Si tu conexión no permite abrir puertos (CGNAT, router del operador), usa Cloudflare Tunnel.
Actualizar
No cuentes con que Container Manager descargue la imagen nueva: necesita el registro privado y la sesión de root.
Actualiza con una tarea de root, que puede repetirse sola (por ejemplo, cada día a las 4:00): Programador de tareas →
Crear → Tarea programada → Script definido por el usuario, usuario root, con:
cd /volume1/docker/kumoyami && /usr/local/bin/docker compose pull && /usr/local/bin/docker compose up -d && /usr/local/bin/docker image prune -fPor SSH es lo mismo: cd /volume1/docker/kumoyami && sudo docker compose pull && sudo docker compose up -d. La web se
reinicia unos segundos y tus datos no cambian. Si tu periodo de actualizaciones terminó, el registro solo deja bajar las
versiones que cubre: mira Actualizar.
El nombre del contenedor
Container Manager nombra el contenedor a partir del proyecto y el servicio: con el proyecto kumoyami será
kumoyami-web-1. Si eliges otro nombre, cámbialo en los comandos.