En Synology DSM 7.x, la forma más cómoda de desplegar Joplin Server es usar la función “Project” de Container Manager. En el fondo es Docker Compose: un contenedor PostgreSQL, un contenedor Joplin Server, y Synology se encarga de descargar imágenes, crear contenedores y gestionar el arranque diario.
Esta es la versión específica para Synology. Se centra en directorios de File Station, proyectos de Container Manager, acceso LAN, sincronización remota y proxy inverso. Si ya escribes docker-compose.yml a mano en servidores Linux, el flujo te resultará familiar. Si usas sobre todo la interfaz gráfica de Synology, también puedes seguirlo paso a paso.
Cuándo tiene sentido
Joplin Server sirve si quieres guardar los datos de sincronización de notas en tu propio dispositivo. Permite que clientes Windows, macOS, iOS, Android y otros sincronicen a través de tu propio servidor, sin depender de una nube de terceros.
Desplegarlo en Synology encaja bien si:
- tu NAS está encendido de forma permanente y puede actuar como servidor personal o doméstico de sincronización;
- solo quieres sincronizar ordenadores y teléfonos dentro de la LAN;
- quieres sincronización remota mediante Tailscale, WireGuard o un proxy inverso;
- prefieres gestionar contenedores desde Container Manager en lugar de usar SSH todo el tiempo.
Si solo estás probando Joplin de forma temporal, no necesitas necesariamente Joplin Server. Joplin también soporta WebDAV, S3, Dropbox y otros métodos de sincronización. Pero para self-hosting a largo plazo, Joplin Server es una opción más completa.
Paso 1: preparar directorios en File Station
Abre File Station en Synology y entra en la carpeta compartida docker.
Crea un directorio:
|
|
Dentro de joplin, crea otro subdirectorio:
|
|
La estructura final debería quedar más o menos así:
|
|
postgres_data sirve para guardar la base de datos PostgreSQL. Los datos de sincronización de Joplin Server viven principalmente en la base de datos, así que este directorio debe persistir. Cuando actualices o recrees contenedores, los datos no desaparecerán mientras este directorio siga existiendo.
Paso 2: crear un proyecto en Container Manager
Abre Container Manager en Synology:
- haz clic en
Projecten la barra izquierda; - haz clic en
Create; - usa
joplin-servercomo nombre del proyecto; - elige la ruta
/docker/joplinque creaste; - selecciona
Create docker-compose.ymlcomo origen.
Pega esta configuración Compose:
|
|
Debes cambiar dos valores:
POSTGRES_PASSWORD: la contraseña de la base de datos. Debe ser idéntica en ambos lugares;APP_BASE_URL: la dirección real que los clientes de Joplin usarán para llegar al servidor.
Si solo lo usas dentro de la LAN, cambia APP_BASE_URL por la IP local de Synology:
|
|
Si ya tienes un proxy inverso HTTPS, escribe directamente el dominio externo:
|
|
No rellenes APP_BASE_URL al azar. La sincronización de clientes, las redirecciones web y los enlaces de adjuntos dependen de ese valor. Debe ser la dirección que realmente vas a usar.
Tras confirmar la configuración, continúa hasta finalizar. Container Manager descargará postgres:16 y joplin/server:latest, y luego iniciará los dos contenedores.
Paso 3: comprobar el estado de los contenedores
Después de crear el proyecto, abre la página del proyecto joplin-server en Container Manager.
Normalmente verás dos contenedores:
joplin-dbjoplin-server
Si ambos están en verde y ejecutándose, puedes continuar.
Si no arrancan correctamente, revisa primero los logs del proyecto. Las causas frecuentes son:
- las dos contraseñas de base de datos no coinciden;
- el directorio
postgres_datatiene problemas de permisos; - el puerto
22300de Synology ya está ocupado por otro servicio; - la indentación YAML se rompió.
Paso 4: primer inicio de sesión en Joplin Server
Abre en el navegador:
|
|
Por ejemplo:
|
|
La cuenta administradora predeterminada es:
|
|
La contraseña predeterminada es:
|
|
Después del primer inicio de sesión, cambia la contraseña del administrador de inmediato. No te saltes este paso, especialmente si planeas configurar acceso remoto.
Si el panel permite cambiar el correo del administrador, también conviene poner tu propio correo para identificar mejor la cuenta.
Paso 5: ¿crear un usuario normal?
Si solo lo usas tú, puedes sincronizar con la cuenta administradora ya actualizada. Pero una práctica más limpia es crear un usuario normal para sincronizar notas, dejando la cuenta administradora solo para gestionar el panel.
En el panel de administración:
- entra en
Users; - haz clic en
Add user; - escribe correo y contraseña;
- guarda.
Si no configuraste SMTP, el sistema dirá que envió un correo de activación, pero no lo recibirás. En ese caso, entra en la página Emails del panel, busca el correo de activación no enviado, copia el enlace de activación y ábrelo en el navegador para activar la cuenta.
Para uso personal, no configurar SMTP no es un problema. Para varios usuarios a largo plazo, conviene añadir SMTP después, porque registro, activación y restablecimiento de contraseña serán menos molestos.
Paso 6: configurar la sincronización del cliente Joplin
Abre el cliente Joplin en tu ordenador o teléfono:
- entra en
Options / Settings; - abre
Synchronization; - elige
Joplin Servercomo destino de sincronización; - en
Joplin Server URL, escribe elAPP_BASE_URLconfigurado antes; - como usuario, escribe el correo del administrador o del usuario normal;
- escribe la contraseña correspondiente;
- pulsa
Check synchronization configuration.
Si la comprobación funciona, guarda y empieza a sincronizar.
Si falla, confirma primero si el cliente puede abrir Joplin Server en el navegador. Muchos problemas de sincronización no vienen de Joplin, sino de un APP_BASE_URL incorrecto, una cuenta sin activar, un certificado roto en el proxy inverso o un teléfono que no está en la misma red.
Opción remota 1: Tailscale o WireGuard
La forma más segura y cómoda de sincronizar desde fuera es conectar el teléfono y el ordenador de vuelta a la red de casa mediante VPN.
Opciones comunes:
- Tailscale;
- WireGuard;
- ZeroTier.
La ventaja es que Joplin Server no necesita exponerse directamente a internet. La URL en el cliente Joplin puede seguir siendo la IP local de Synology, por ejemplo:
|
|
Cuando el teléfono esté fuera, conecta primero Tailscale o WireGuard y luego abre Joplin para sincronizar.
Si no quieres tratar con IP pública, DDNS, certificados y reenvío de puertos, esta es la ruta más estable. La desventaja es que cada dispositivo externo debe conectarse primero a la VPN.
Opción remota 2: proxy inverso HTTPS de Synology
Si quieres que Joplin sincronice directamente desde cualquier red, configura un dominio HTTPS.
El flujo general es:
- prepara un dominio o DDNS;
- reenvía el puerto
443del router a Synology; - en Synology
Control Panel -> Login Portal -> Advanced -> Reverse Proxy, crea una regla nueva; - usa
https://joplin.example.com:443como origen; - usa
http://127.0.0.1:22300ohttp://群晖内网IP:22300como destino; - solicita y asigna un certificado HTTPS para el dominio;
- cambia
APP_BASE_URLen Compose ahttps://joplin.example.com; - redepliega el proyecto en Container Manager.
Al usar proxy inverso, conviene añadir cabeceras reenviadas comunes en los encabezados personalizados:
|
|
Si usas la interfaz de proxy inverso integrada en Synology, los nombres de campos pueden variar ligeramente entre versiones menores de DSM. Añádelos mediante las opciones de “custom header” o relacionadas con “WebSocket” que aparezcan en la interfaz.
Joplin también puede encontrar límites de subida al sincronizar adjuntos grandes. Si usas Nginx Proxy Manager o Nginx manual, configura:
|
|
Si el proxy inverso integrado de Synology no ofrece esa opción, prueba primero la sincronización con adjuntos normales. Si sincronizas archivos grandes con frecuencia, Nginx Proxy Manager o Caddy serán más flexibles.
Redeplegar después de cambiar APP_BASE_URL
Mucha gente prueba primero con una IP local y luego cambia a un dominio HTTPS. Está bien, pero no cambies solo el cliente.
También debes modificar la configuración Compose del proyecto en Container Manager:
|
|
Después redepliega el proyecto para que las variables de entorno del contenedor surtan efecto.
Si APP_BASE_URL sigue apuntando a la dirección antigua, pueden aparecer estos problemas:
- la comprobación de sincronización del cliente falla;
- después de iniciar sesión redirige a una dirección incorrecta;
- los enlaces de adjuntos fallan;
- el protocolo se detecta mal detrás del proxy inverso.
Prioridades de copia de seguridad
En Synology, el directorio más importante es:
|
|
Ahí está la base de datos PostgreSQL, es decir, los datos centrales de sincronización de Joplin Server. Conviene incluirlo en Hyper Backup u otro plan de copia de seguridad.
Una estrategia más sólida:
- hacer copias periódicas de
docker/joplin/postgres_data; - mantener una copia local de las notas en los clientes Joplin;
- exportar notas importantes como JEX de vez en cuando;
- confirmar que la copia funciona antes de actualizar contenedores.
No respaldes solo la imagen o la configuración del contenedor de Joplin Server. Las imágenes se pueden descargar de nuevo; la base de datos es tu información.
Resumen
Instalar Joplin Server en Synology DSM 7.x se reduce a unos pocos pasos:
- preparar
docker/joplin/postgres_dataen File Station; - crear un proyecto Compose en Container Manager;
- configurar bien
POSTGRES_PASSWORDyAPP_BASE_URL; - cambiar la contraseña del administrador tras el primer inicio de sesión;
- elegir Joplin Server como destino de sincronización en el cliente;
- para acceso remoto, priorizar Tailscale / WireGuard, o configurar un proxy inverso HTTPS.
El punto más fácil de romper es APP_BASE_URL. Mientras esa dirección sea correcta y el directorio de base de datos sea persistente, Joplin Server puede funcionar como un servicio privado y estable de sincronización de notas en Synology.