Joplin, tu propio anotador sincronizado

Joplin, tu propio anotador sincronizado

En la seguidilla de servicios libres autoalojados que empecé a tener y que quiero dejar de estar ligado a servicios de terceros me topé con Joplin, un servicio/aplicación/servidor de notas el cual es multiplataforma y sobre todo open source.

Joplin tiene 2 formas de uso:
1 - Autoalojar el servidor, instalarse la aplicación y usarlo tanto desde la PC como del móvil
2 - Instalarse la aplicación y usar Joplin Cloud, un servicio propio de la gente de Joplin (con pago mensual o anual de por medio) el cual te ahorra instalarte localmente el servidor y no depender de eso.

La segunda opción es la más fácil ya que si bien estás usando un servicio open source no hace falta levantarse el servidor y tener que mantenerlo sino que pagando una módica suma el servicio funciona muy bien pero dependiendo obviamente de terceros, en éste caso, el mismo servidor de Joplin.

Los planes de Joplin por si querés pagarlo

Pero claro, la primera opción es por la que venimos hoy y sería armarte tu propio servidor de Joplin y poder utilizar el servicio en los equipos que quieras sincronizando todo.

Utilizando Docker Compose

Lo que vamos a hacer para levantar el servidor es simplemente usando 2 servicios en el contenedor que vamos a crear, uno es Joplin Server, propiamente dicho y el otro es Postgres, el cual es una base de datos donde se guardará todo lo que pongamos en nuestro servidor.

Para eso vamos a armar nuestro archivo docker-compose.yml de la siguiente manera:

services:
   db:
       image: postgres:16
       container_name: joplin_db
       volumes:
           - ./data/postgres:/var/lib/postgresql/data
       ports:
           - "5432:5432"
       restart: unless-stopped
       environment:
           - POSTGRES_PASSWORD=password  -- Poner contraseña que quieras
           - POSTGRES_USER=db_user
           - POSTGRES_DB=post_db
   app:
       image: joplin/server:3.3.13
       container_name: joplin_server
       depends_on:
           - db
       ports:
           - "22300:22300"
       restart: unless-stopped
       environment:
           - APP_PORT=22300
           - APP_BASE_URL=https://tudominio.com
           - DB_CLIENT=pg
           - POSTGRES_PASSWORD=misma_contraseña_que_en_db
           - POSTGRES_DATABASE=post_db
           - POSTGRES_USER=db_user
           - POSTGRES_PORT=5432
           - POSTGRES_HOST=db
           - MAILER_ENABLED=0

Algunas consideraciones en las variables de entorno:
APP_PORT por defecto va el 22300, si no lo tenés ocupado, seguramente no, podés usarlo sin problemas.
Las variables POSTGRE_loquesea son la configuración de la base de datos que vamos a usar, asegurate de tener la misma información sobre todo en el servicio app ya que es el que se conecta a la base que hacés con Postgres.
La variable MAILER_ENABLED se setea en 0 porque sino Joplin lo que hace es querer enviar un email para confirmar el seteo de la cuenta de administrador pero no llega nunca (a menos que te armes un servidor de email) por lo que se usa esa variable para saltear esa parte y se registre el usuario sin confirmación via email.

Una vez que tenemos armado docker-compose.yml basta con hacer un simple:

docker compose up -d Y ya está!! Nuestro servidor Joplin estará activo

ACLARACIÓN: Lo que acabamos de crear es el servidor de Joplin, no se levantó una aplicación para usar sino que el servidor que se creó será el que se encargará de hacer la sincronización en las aplicaciones (clientes oficiales de Joplin) donde tendremos nuestras notas.

Solo resta instalar el cliente de Joplin para conectarnos a nuestro servidor por lo que, por ejemplo en Debian haremos lo siguiente:

wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash

Y con éste comando instalaremos el cliente. Para los usuarios de Windows, Mac y Android, en la web de Joplin están sus respectivos instaladores.

Ahora solo resta configurar la conexión de Joplin con nuestro servidor y listo, ya tendremos nuestro gestor de notas totalmente independiente de cualquier servicio externo al cual podamos estar atados.

Si, puede ser que Joplin tenga ya tiempo conocido entre los usuarios pero creo que es una muy buena alternativa para presentarle a aquellos que no conocen éste tipo de servicios más allá de las notas de Google o de Samsung o incluso de iOS.

¡Nos estamos leyendo!

Joplin en su máxima expresión