642 - Sincronizar Obsidian
sincronizar #obisidian en #linux y #android utilizando #webdav #couchdb o #minio para poder trabajar en cualquier dispositivo y en movilidad
Llevo prácticamente tres mese utilizando Obsidian como gestor de documentos, pero lo cierto es que todavía tengo que realizar determinados ajustes para encontrarme todo lo cómodo que me gustaría. Algunos ajustes no son realmente importantes, pero a pesar de ello me molesta no tenerlo completamente resuelto. Es como esa piedrecita que tienes en el zapato, que no te impide caminar, pero te molesta, mas que nada porque sabes que está ahí. Sin embargo, hay sobre todo una cuestión, que realmente me preocupa, y que espero tener resuelta ya. Y es la sincronización de Obsidian. Es decir como tener Obsidian sincronizado en todos los dispositivos. Así, en este episodio del podcast te voy a hablar sobre Sincronizar Obsidian.
Sincronizar Obsidian
Una vista atrás
Uno de los objetivos y de las razones para la tableta Android, era simple y llanamente poder hacer uso de la terraza. Y tengo que decirte que este objetivo todavía no lo he conseguido. Está siendo un absoluto fracaso, la verdad.
Y no solo esto, la cuestión mas importante, es que a pesar de haberme llevado la tablet de viaje, ni con esas, le he sacado provecho.
Sin embargo, lo que si que estaba haciendo era utilizar el móvil para capturar todos los enlaces, mientras navego por internet, para investigarlos posteriormente. Esto es algo que hago con habitualmente, para revisar con mayor velocidad todas las noticias y documentos que caen entre mis manos.
La cuestión es que recientemente me he dado cuenta que la sincronización en la que yo confiaba ciegamente, no se estaba realizando, o se realizaba de forma defectuosa.
Esto me ha llevado, en los últimos días a investigar otras opciones, y buscar una mejor alternativa, que me permitiera subirme definitivamente al carro de Obisidan.
Lo que he probado
Estas son las cuatro soluciones que he probado hasta el momento,
- Webdav. Este parecía que iba a funcionar perfectamente, pero en un momento concreto, por alguna razón que desconozco dejó de funcionar. Este era el que mas me gustaba, porque me permitía tener mis archivos accesibles directamente por Webdav, y en cualquier caso podía hacer uso de él.
- Git. Otra opción que me resultaba muy interesante era utilizar el control de versiones para realizar la sincronización. En el equipo de escritorio funciona muy bien, pero realmente tanto en la tablet como en el móvil no termina de funcionar. Ahora mismo lo voy a utlilizar mas como sistema de copia de seguridad que como otra cuestión.
- Obsidian LiveSync. Este sistema utilizas CouchDB o Minio para realizar la sincronización entre los distintos dispositivos. Inicialmente probé con Minio, pero no me dió el resultado que esperaba y al final me decanté por CouchDB y funciona bastante bien, y es con lo que me he quedado.
Tanto Minio como CouchDB los he instalado en el VPS utilizando Docker, y es realmente sencillo de configurar. A continuación te dejo los docker-compose.yml
por si quieres utilizarlos. En breve los subiré al proyecto de self hosted para que estén allí disponibles también.
Minio
services:
minio:
image: minio/minio
container_name: minio
init: true
restart: unless-stopped
environment:
MINIO_ROOT_USER: "USUARIO"
MINIO_ROOT_PASSWORD: "CONTRASEÑA"
command: server /data --console-address ":9001"
volumes:
- data:/data
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.minio.rule=Host(`minio.tuservidor.es`)
- traefik.http.routers.minio.service=minio
- traefik.http.services.minio.loadbalancer.server.port=9000
- traefik.http.routers.minioadmin.rule=Host(`minioadmin.tuservidor.es`)
- traefik.http.routers.minioadmin.service=minioadmin
- traefik.http.services.minioadmin.loadbalancer.server.port=9001
volumes:
data: {}
networks:
proxy:
external: true
CouchDB
La siguiente opción que he probado
services:
couchdb:
image: couchdb
container_name: couchdb
restart: unless-stopped
environment:
COUCHDB_USER: "usuario"
COUCHDB_PASSWORD: "contraseña"
networks:
- proxy
volumes:
- data:/opt/couchdb/data
labels:
- traefik.enable=true
- traefik.http.services.couchdb.loadbalancer.server.port=5984
- traefik.http.routers.couchdb.rule=Host(`couchdb.tuservidor.es`)
volumes:
data: {}
networks:
proxy:
external: true
Para configurar CouchDB, he tenido que ejecutar los siguientes comandos una vez levantado el servidor Docker,
curl -X PUT http://usuario:contraseña@127.0.0.1:5984/_users
curl -X PUT http://usuario:contraseña@127.0.0.1:5984/_replicator
curl -X PUT http://usuario:contraseña@127.0.0.1:5984/_global_changes
Una vez tienes la configuración básica, el siguiente paso es crear la base de datos para Obsidian, que básicamente la haces de la misma forma,
curl -X PUT http://usuario:contraseña@127.0.0.1:5984/obsidian
Una vez configurado CouchDB, el siguiente paso es conifgurar el complemento en los distintos dispositivos. Realmente, solo es necesario configurarlo en el primero, y posteriormente, utilizar la opción copy setup URI
en el resto de dispositivos, y listo.