Solución de Discord

Obsidian LiveSync CouchDB falla en CasaOS: qué configurar

A CasaOS user repeatedly failed to install or start an Obsidian LiveSync CouchDB app, while replies disagreed on whether the BigBear image itself was broken.

Conclusión clave: no consideres que la imagen está dañada basándote únicamente en el error de instalación. LiveSync autoalojado necesita credenciales de CouchDB válidas, almacenamiento persistente con permisos de escritura, inicialización, CORS y un punto de conexión accesible. Una plantilla de aplicación de un solo clic aún puede requerir esos valores.

Captura de pantalla del fallo de instalación de CouchDB de Obsidian LiveSync en CasaOS
Usa la configuración generada del contenedor y los registros para identificar la capa que falla.
Error del contenedor de CouchDB en una configuración de Obsidian LiveSync en CasaOS
El error exacto del contenedor determina si debes corregir las credenciales, el almacenamiento, la inicialización o la red.

Establece las variables necesarias de CouchDB

Las variables de CouchDB de LiveSync actuales del proyecto original requieren credenciales de administrador y un nombre de base de datos:

COUCHDB_USER=admin
COUCHDB_PASSWORD=strong-random-password
COUCHDB_DATABASE=obsidiannotes

Lee los registros del contenedor antes de editar cosas al azar

docker ps -a | grep -i couch
docker logs --tail 200 <container-name>

Busca variables faltantes, errores de permisos, fallos en los montajes de configuración, fallos de inicialización o conflictos de puertos.

El almacenamiento persistente debe permitir la escritura

La configuración de almacenamiento de CouchDB del proyecto original indica que los directorios de datos y configuración pueden pertenecer al UID 5984. Una propiedad incorrecta puede impedir que el contenedor se inicie.

Verifica CouchDB antes de Obsidian

curl -u admin:YOUR_PASSWORD http://SERVER_IP:5984/_up

El comprobador del estado de CouchDB del proyecto original espera un estado saludable antes de configurar el complemento.

Inicializa la base de datos de LiveSync

Un proceso de CouchDB en ejecución no constituye toda la configuración. Ejecuta la ruta de inicialización actual del proyecto original para que existan los valores necesarios de base de datos y configuración antes de conectar el complemento de Obsidian.

La sincronización remota necesita una ruta HTTPS segura

El proyecto original ahora ofrece perfiles de Caddy, Tailscale y Cloudflare. Usa HTTP sin cifrado solo para pruebas locales; la sincronización remota o móvil debe usar una ruta HTTPS compatible.

BigBear actualmente ofrece un paquete de Obsidian LiveSync basado en CouchDB. Compara la composición generada con las variables del proyecto original en lugar de asumir que una de las dos partes es correcta.

El catálogo de aplicaciones de ZimaOS incluye cargas de trabajo relacionadas con Obsidian, y la configuración de Docker de CasaOS ayuda a explicar las diferencias entre la plantilla y la configuración en tiempo de ejecución.

ZimaBoard 2 es suficiente para esta carga de trabajo de base de datos ligera; la durabilidad del almacenamiento importa más que la potencia de cálculo bruta.

Compara la plantilla con el compose actual del proyecto

El compose actual del proyecto inicia CouchDB con las variables obligatorias de nombre de usuario y contraseña, datos persistentes y un archivo de configuración dedicado para LiveSync. Si una plantilla de la comunidad difiere, identifica la diferencia antes de etiquetar la imagen del contenedor como defectuosa. La imagen, la plantilla de compose y la configuración de la aplicación son tres capas independientes.

No fuerces casualmente el usuario del contenedor de CouchDB

El compose actual del proyecto advierte explícitamente contra la configuración de un valor fijo usuario: valor porque el punto de entrada de CouchDB se inicia con privilegios suficientes para escribir su configuración y luego cambia al UID de CouchDB. Una plantilla que sobrescriba este comportamiento puede provocar errores de permisos durante el inicio.

Comprueba CORS después de que funcione el endpoint de estado.

Un estado saludable /_up la respuesta demuestra que CouchDB está en ejecución, no que los clientes de Obsidian puedan usarlo. Prueba los encabezados de respuesta con un origen de Obsidian y confirma que la configuración de LiveSync permite los orígenes de escritorio/móvil esperados.

Mantén la base de datos fuera de la Internet pública

El puerto 5984 de CouchDB es un endpoint de base de datos, no una página para compartir con consumidores. Para la sincronización remota, prioriza los patrones HTTPS compatibles con el proyecto, como Caddy, Tailscale o Cloudflare, en lugar de reenviar directamente el router al puerto 5984.

Sigue este orden de resolución de problemas

  1. El contenedor permanece en ejecución.
  2. /_up devuelve un estado saludable con las credenciales.
  3. Los datos persistentes sobreviven al reinicio.
  4. La inicialización se completa.
  5. CORS está configurado correctamente.
  6. El endpoint HTTPS funciona de forma remota.
  7. El URI, el usuario, la contraseña y la base de datos del complemento de Obsidian coinciden con los valores del servidor.

Saltar directamente a la configuración del complemento antes de completar los pasos 1–5 dificulta mucho más la resolución de problemas.

Preguntas frecuentes

¿La imagen de BigBear es definitivamente defectuosa?

La discusión original no lo demostró. Compara primero su compose con los requisitos actuales del proyecto.

¿Por qué CouchDB puede ejecutarse mientras Obsidian falla?

La inicialización de la base de datos, CORS, las credenciales, el nombre de la base de datos y la URL del endpoint aún deben coincidir.