2025–01–26
La aplicacion preferida para tomar notas, en todas mis sistemas que uso, es Joplin. Hasta unos meses, para la syncronizacion de mis notas en la nube, usaba el protocolo WebDav y mi cuenta de Koofr, pero al final decidi a montar me un servidor y haci beneficiarme con algunas extras que explicare mas abajo.
Lo primero, y mas importante es la velocidad. Con el servidor todas mis notas se syncronizan mucho mas rapido, y esto tambien trae menos fallos. Hantes cada dos por tres, tenia notas marcadas como conflicto debido a la syncronizacion, porque la velocidad no era buena. Otras ventajas son la opcion de compartir notas via enlaces, o compartir notas con usuarios del propio servidor, manejar usuarios.
He probado varias aplicaciones para la toma de notas, entre ellas son Notesnook, Standard Notes, tambien he usado por mucho tiempo notas desde Emacs. Pero siempre he preferido y he vuelto a usar Joplin por los seguientes motivos.
Vamos a instalar el servidor, que nos permitirá sincronizar notas desde la aplicación de escritorio y las aplicaciones de teléfono móvil para que pueda ver, editar o añadir notas en cualquier lugar.
$ mkdir -p ~/Docker/Joplin
$ cd ~/Docker/Joplin
$ mkdir data
Copiar lo seguiente en docker-compose.yaml
:
version: '3'
services:
db:
image: postgres:13
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DATABASE}
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "22300:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=${APP_BASE_URL}
- DB_CLIENT=pg
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DATABASE=${POSTGRES_DATABASE}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PORT=${POSTGRES_PORT}
- POSTGRES_HOST=db
Creamos el archivo .env
, ahi ponemos:
APP_BASE_URL=https://notas.nombre-de-dominio.com
APP_PORT=22300
DB_CLIENT=pg
POSTGRES_PASSWORD=contraseñaparapostgres
POSTGRES_DATABASE=joplindb
POSTGRES_USER=joplin
POSTGRES_PORT=5432
POSTGRES_HOST=db
Ahi donde POSTGRES_PASSWORD=
ponemos una contraseña, usaremos por ejemplo el comando openssl rand -base64 36
para generar la.
Reemplezamos APP_BASE_URL=
apuntando el subdominio que usaremos para el servidor.
El resto de parametros podemos dejar los asi como estan.
$ docker-compose up -d
Listo, ya tenemos el servidor en marcha.
Despues configuro un subdominio proxy para poder sincronizar notas de forma remota.
Para esto yo uso Caddy, editando /etc/Caddy/Caddyfile
asi.
Ejemplo:
notas.dominio.com {
reverse_proxy IP:22300
}
Reemplezar IP
con la IP de su servidor, tambien notas.dominio.com
con el subdominio que quieres usar.
$ sudo systemctl restart caddy
Por defecto, el servidor de Joplin se configurará con un usuario admin con email admin@localhost
y contraseña admin
. Por razones de seguridad, las credenciales del usuario admin deben ser cambiadas. En la página de administración, inicie sesión como usuario administrador. En la parte superior derecha, seleccione el botón Perfil actualizar la contraseña de administrador
Navegar hasta la pagina de Usuarios y crear ahi los usuarios que van a tener cuentas. Puedes especificar cuanto almacenamiento va a usar este usuario, contraseñas, correo electronico, si podra compartir notebooks (libretas) .
Para conectar Joplin Desktop o la aplicacion movil al servidor Joplin, busca en “Opciones” => “Sincronización” => Joplin Server (Beta) e introduzca la dirección del servidor, ejemplo notas.dominio.com, el correo electrónico y la contraseña que utilizó al configurar el usuario.
Tienes la opcion, “Comprueba la configuración de sincronización” para ver si la conexión funciona. Si no lo hace, alguna de las opciones anteriores es incorrecta. Si todo es correcto, verá "¡Exito!.
Recomiendo tambien, activar la opcion de encriptacion, de este modo las notas seran encriptadas cuando se suban al servidor.
Para saber mas sobre la instalacion recomiendo dar un paseo por el README.