Techvoyage
Inicio
Sincronización segura de bóvedas de Obsidian entre múltiples dispositivos usando Synch e Ignis dentro de la red privada de Cloudflare Zero Trust

Cómo sincronizar bóvedas de Obsidian entre dispositivos

Sincronice sus bóvedas de Obsidian entre dispositivos y acceda a sus notas en la web de forma segura con Synch e Ignis dentro de Cloudflare Zero Trust.

Sep 15, 2026 - 15 MIN DE LECTURA
Índice de contenidos

Obsidian es una aplicación de gestión de conocimientos que funciona de forma local (local-first). Cada nota es un archivo markdown en su dispositivo y permanece completamente bajo su control. Sin embargo, a menudo queremos tener la misma bóveda (vault) en nuestra computadora portátil, teléfono y otros dispositivos, o poder acceder a ella a través de un navegador web de forma remota.

Existen varias soluciones de sincronización para Obsidian, pero todas implican concesiones en cuanto al manejo de conflictos, el cifrado o la soberanía de los datos. Synch es una aplicación de código abierto que sincroniza su bóveda de Obsidian con cifrado de extremo a extremo y gestión automática de conflictos en un servidor autoalojado.

Aunque el enfoque local de Obsidian funciona perfectamente la mayor parte del tiempo, es posible que en algunas ocasiones necesitemos acceder a nuestra bóveda de forma remota a través de un navegador web. Ignis es una aplicación de código abierto que ejecuta Obsidian dentro de un navegador web en un formato muy cercano al nativo, lo que le permite leer y editar su bóveda desde cualquier lugar.

En esta guía, configuraremos Synch e Ignis en un VPS (Servidor Privado Virtual), alojándolos de forma segura dentro de una red privada de Cloudflare Zero Trust en lugar de exponerlos al internet abierto.

Exposición segura de Hermes Agent a una red privada mediante el túnel Cloudflare Zero Trust y WARP

Guía relacionada

Cómo exponer Hermes Agent de forma privada con Cloudflare WARP

Aprenda a exponer y acceder de forma segura a su Hermes Agent a nivel global utilizando Cloudflare WARP y Zero Trust sin abrir puertos de entrada en el cortafuegos.

8 MIN DE LECTURA

Sincronización segura de bóvedas de Obsidian con Synch

Synch ofrece las siguientes características:

  • Sincroniza su bóveda tan pronto como se detectan cambios
  • Cifra los datos de la bóveda antes de subirlos
  • Permite la restauración desde el historial de versiones
  • Incluye gestión automática de conflictos

Synch genera una clave de bóveda aleatoria de 32 bytes en su dispositivo, que se utiliza para cifrar los datos de su bóveda. Cuando crea una bóveda remota, elige una contraseña de bóveda; esta contraseña se utiliza para proteger la clave de bóveda para que la clave se pueda almacenar de forma segura en el servidor y desbloquearse en otros dispositivos.

Tenga en cuenta que la resolución de conflictos se gestiona en sus dispositivos cliente en lugar de en el servidor. Si dos dispositivos editan la misma nota simultáneamente, el servidor conserva la versión que llegue primero e identifica al otro dispositivo como desactualizado. El dispositivo desactualizado luego fusiona automáticamente la versión más nueva con sus cambios locales antes de subir la nota final fusionada.

Configurar Synch en su VPS

Crear un nombre de dominio

Cree un registro A en Cloudflare y establezca su estado de proxy en Solo DNS (omitir la CDN de Cloudflare).

Instalar Synch Docker en Ubuntu

Clonar el repositorio
git clone https://github.com/hjinco/synch.git       
        
# Navegar a la carpeta de la API
cd synch/apps/api
        
# Copiar el archivo de entorno de ejemplo:
cp .env.example .env
Editar valores de .env
  • PUBLIC_URL=synch.pafor.me: Ingrese el nombre de dominio público de su servidor Synch (el nombre de dominio creado en el paso anterior).
  • BETTER_AUTH_SECRET y SYNC_TOKEN_SECRET: Genere claves seguras utilizando esta herramienta de clave secreta en línea o ejecutando openssl rand -hex 32 dos veces en su terminal.
  • AUTH_ALLOWED_EMAILS: Una lista separada por comas de las direcciones de correo electrónico autorizadas para registrarse y crear cuentas.
Agregar el dominio a Caddyfile

Los detalles de cómo se integra el módulo DNS de Cloudflare con Caddy y se inicia dentro de un contenedor se pueden encontrar en nuestro artículo sobre cómo autoalojar Buzz.

Configuración de Caddy con token de API DNS de Cloudflare para la generación automatizada de certificados SSL/TLS en un espacio de trabajo autoalojado

Guía de autoalojamiento

Cómo autoalojar Buzz de Block: Espacio de trabajo para agentes IA

Aprenda a configurar Caddy para aprovisionar automáticamente certificados SSL/TLS utilizando desafíos DNS de Cloudflare en contenedores Docker.

12 MIN DE LECTURA

Incluya la directiva SYNCH_DOMAIN en su Caddyfile, apuntando al puerto 8787 (el puerto utilizado por el contenedor de Synch):

{
  acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}

{$SYNCH_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:8787
}

Inicie el contenedor:

docker compose up -d

Ejecute el siguiente comando curl para verificar su disponibilidad:

curl https://synch.pafor.me/health

Conectar Obsidian a su servidor Synch

Instalar el complemento Synch en Obsidian

Abra la configuración de Obsidian, navegue a Community plugins (Complementos de la comunidad) y haga clic en el botón 'Browse' (Examinar):

Busque e instale 'Synchrun':

Una vez instalado 'Synchrun', abra la configuración del complemento y habilite 'Use a self-hosted server' (Usar un servidor autoalojado). Luego, ingrese https://synch.pafor.me en el campo 'Server URL' (URL del servidor) y haga clic en 'Save' (Guardar).

Haga clic en el botón 'Sign in on this device' (Iniciar sesión en este dispositivo) debajo de 'Account' (Cuenta). A continuación, regístrese para obtener una cuenta utilizando la dirección de correo electrónico que especificó en su lista AUTH_ALLOWED_EMAILS; luego será redirigido a la siguiente página de autorización:

Haga clic en el botón 'Allow Obsidian sign-in' (Permitir inicio de sesión en Obsidian):

Haga clic en el botón 'Return to Obsidian' (Volver a Obsidian) y luego haga clic en 'Create vault' (Crear bóveda):

Ingrese un nombre y una contraseña segura para crear su bóveda remota.

El proceso de sincronización comenzará de inmediato y puede llevar un tiempo según el tamaño de su bóveda. Una vez completado, se mostrará su uso total de almacenamiento.

Acceso a Obsidian basado en navegador con Ignis

Ignis reemplaza las API Electron de Obsidian con API web, lo que permite que el código JavaScript de Obsidian se ejecute directamente en un navegador web estándar. Todos sus archivos markdown y archivos adjuntos se almacenan directamente en el sistema de archivos del servidor host.

Sin embargo, existen algunas limitaciones en comparación con la aplicación de escritorio independiente de Obsidian. Ciertas características o complementos que requieren las API Electron o Node.js, que no tienen un equivalente directo en un entorno de navegador, no funcionarán. Consulte las guías de Limitaciones y Compatibilidad de complementos de Ignis para obtener listados de compatibilidad detallados.

Configuración de Ignis

Instalaremos Ignis en nuestro VPS usando Docker, montándolo en la carpeta local ./vaults. Este directorio de bóveda se sincronizará utilizando la CLI de Synch para extraer las actualizaciones de notas de la bóveda remota que configuramos anteriormente.

Dado que Ignis no tiene autenticación integrada, debe protegerse detrás de una red privada de Cloudflare Zero Trust.

Crear registro DNS

Agregar el dominio a Caddyfile

Agregue obsidian.pafor.me a su Caddyfile de la misma manera que synch.pafor.me:

{$OBSIDIAN_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:9898
}

Iniciar Ignis usando Docker

Guarde el siguiente archivo docker compose yml como ignis-docker-compose.yml en el VPS:

services:
  ignis:
    image: nobbe/ignis:latest
    ports:
      - "9898:8080"
    environment:
      # coincidir con su usuario host (ejecutar: id)
      - PUID=1000
      - PGID=1000
      - WS_ORIGINS=https://obsidian.pafor.me
    volumes:
      - ./vaults:/vaults
      - ./data:/app/data
      - obsidian-app:/app/obsidian-app
    restart: unless-stopped

volumes:
  obsidian-app:
  • Utilice el puerto 9898 en el host, ya que el 8080 suele ser utilizado por otros servicios.
  • Ejecute el comando id en su VPS para verificar el UID y el GID de su usuario host para garantizar los permisos correctos del sistema de archivos.
  • Establezca WS_ORIGINS para permitir únicamente conexiones WebSocket originadas desde su nombre de dominio específico.

Inicie el contenedor de Ignis:

docker compose -f ignis-docker-compose.yml up -d

Cuando navegue a su dominio en un navegador web, aparecerá el 'Vault Manager' (Administrador de bóvedas). Estará vacío ya que aún no se ha configurado ninguna bóveda. Configuraremos la 'Synch CLI' en la siguiente sección para sincronizar los contenidos de nuestra bóveda remota.

Problema con el cortafuegos

Por defecto, Docker inserta automáticamente sus propias reglas DNAT y FORWARD, que enrutan el tráfico público directamente a los contenedores activos. Esto elude la cadena INPUT estándar de UFW/iptables de Ubuntu. Para bloquear el tráfico público externo y mantener los contenedores privados, agregue manualmente las siguientes reglas a iptables:

# Bloquear todo el tráfico público externo
sudo iptables -I DOCKER-USER -i ext_if -j DROP 

# Permitir tráfico únicamente desde la IP privada de su cliente Cloudflare WARP
sudo iptables -I DOCKER-USER -i ext_if -s 100.96.0.10 -j ACCEPT

Configuración de la CLI de Synch

La CLI de Synch es una herramienta sin cabecera (headless) que permite sincronizar un directorio de bóveda de Obsidian directamente en servidores remotos sin necesidad de instalar la aplicación de escritorio completa.

Compile la CLI de Synch desde su repositorio synch clonado. La compilación requiere Node.js >= 22.5 (ya que la CLI depende de node:sqlite y de API de navegador globales como fetch, WebSocket y WebCrypto) y pnpm (dado que el repositorio está estructurado como un espacio de trabajo de pnpm que utiliza la versión 10.33.0):

# Verificar versiones
node --version   # debe ser >= 22.5
pnpm --version

# En la raíz del repositorio
pnpm install

# Compilar el paquete de la CLI
pnpm -C apps/cli build

# Después de una compilación exitosa, tendrá `apps/cli/dist/synch.js`. Hágalo ejecutable y colóquelo en su PATH
chmod +x apps/cli/dist/synch.js
ln -sf "$PWD/apps/cli/dist/synch.js" "$HOME/.local/bin/synch"

# Verificación
synch --help

Dado que la CLI de Synch se está ejecutando en el mismo VPS que su bóveda remota de Synch, puede conectarse directamente al servidor de la API local. Si está configurando un servidor diferente, ejecute synch login --api-url <url-api-synch-remota> para definir su endpoint de API de destino.

Ejecute synch login en su terminal y recibirá una URL de autenticación:

Inicie sesión a través de la página web utilizando la misma dirección de correo electrónico registrada con el complemento Synchrun de su aplicación de escritorio Obsidian.

Ejecute synch vault connect --vault ~/vaults/<nombreboveda> --vault-id asadqe-7b29-4677-fsad-234asdafasd para vincular su directorio de bóveda local en el VPS a la bóveda remota.

El ID de la bóveda remota se puede encontrar dentro de la configuración del complemento Synchrun haciendo clic en 'Manage remote vaults' (Administrar bóvedas remotas). Esto mostrará una página web con una lista de sus bóvedas remotas, cada una identificada por un GUID único (por ejemplo, 123e4567-e89b-12d3-a456-426614174000):

Ingrese la contraseña de su bóveda cuando se le solicite para establecer el vínculo. Una vez conectado, ejecute synch sync --vault ~/vaults/<nombre-boveda> para realizar su sincronización inicial. Esta primera ejecución puede llevar algún tiempo según el tamaño de su bóveda.

Para automatizar esto, configure y habilite un servicio systemd para ejecutar synch watch de forma continua, asegurando que los cambios se sincronicen instantáneamente al arrancar:

sudo tee /etc/systemd/system/synch-watch.service <<'EOF'
[Unit]
Description=Synch vault watcher
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=<username>
ExecStart=/home/<username>/.local/bin/synch watch --vault /home/<username>/vaults/<vault-name>
WorkingDirectory=/home/<username>/vaults
Environment="PATH=/home/<username>/.local/bin:/home/<username>/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Environment="HOME=/home/<username>"
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now synch-watch.service

Abra obsidian.pafor.me en su navegador web. Encontrará que la interfaz de usuario y el diseño son prácticamente idénticos a los de la aplicación de escritorio:

Hacer clic en el icono de configuración revela que casi todas las configuraciones principales están intactas, aunque sus complementos de la comunidad deberán reinstalarse:

Para probar la configuración, puede agregar una nueva nota a través de la interfaz web:

La nota se sincroniza inmediatamente con su aplicación de escritorio Obsidian. Tenga en cuenta que las carpetas vacías no aparecen en Ignis.

Visualización de obsidian.pafor.me en un navegador web móvil:

Cuando elimina una nota en Ignis, se mueve de manera segura a la carpeta ~/vaults/<nombre-boveda>/.trash de su bóveda local.

Reflexiones finales sobre las bóvedas autoalojadas

Juntos, Synch e Ignis hacen que su bóveda principal de Obsidian esté disponible sin problemas en todos sus dispositivos, alojada por completo en una infraestructura bajo su control directo. Ubicar estos servicios dentro de una red privada de Cloudflare Zero Trust garantiza que sus notas personales estén completamente protegidas del internet público.

Ignis no está diseñado para reemplazar por completo la aplicación nativa de escritorio de Obsidian. En cambio, sirve como un cliente web ligero y temporal para acceder y editar su bóveda cuando está lejos de su computadora principal. Para la escritura diaria y la gestión exhaustiva de bóvedas, la aplicación nativa de Obsidian sigue siendo la opción más cómoda.

Debido a que Synch utiliza cifrado de extremo a extremo, la contraseña de su bóveda remota debe ser altamente segura para protegerla contra ataques de adivinación por fuerza bruta. Es fundamental que nunca pierda esta contraseña: el servidor no almacena la clave de la bóveda sin cifrar y, si la olvida, sus datos serán completamente irrecuperables. Además, asegúrese de que su instancia de VPS, junto con cualquier instantánea o copia de seguridad automatizada, esté debidamente protegida y mantenida.

Aunque el historial de versiones cifrado de Synch y las herramientas de recuperación de archivos eliminados cubren la mayoría de las pérdidas accidentales, se sigue recomendando realizar una copia de seguridad independiente y separada de su bóveda de Obsidian.

Referencias

Artículos relacionados