Joplin es una popularaplicación de código abierto para tomar notas,muy apreciada por quienes se preocupan por la privacidad y los gurús de la productividad. Es fácil sincronizar tusnotas en todos los dispositivos, pero si quieres mantener tus datos totalmente seguros y en tus manos, puedes configurar tu propio servidor Joplin.
Veamos cómo hacerlo paso a paso. Comenzaremos preparando su servidor y configurándolo para que se adapte a sus necesidades. Ya sea que desee aumentar la seguridad, ahorrar dinero o hacerlo exclusivo para sus necesidades,el alojamiento propio en Joplines la mejor opción.
¿Joplin es la alternativa perfecta a OneNote? Esto es lo que debes saber antes de decidirte
Esta alternativa de código abierto a OneNote está teniendo un gran éxito
Primer paso: instalar Docker en tu Raspberry Pi
Comenzaremos suponiendo que ya tienes instalada y funcionando tu Raspberry Pi. Lo estoy haciendo en una Raspberry Pi 5 con el sistema operativo Raspberry Pi (64 bits, fecha de lanzamiento 22 de octubre de 2024). Primero, debes actualizar y mejorar tu distribución con los paquetes más recientes.
- Abra una sesión de terminal en su Raspberry Pi.
- Actualice el administrador de paquetes apt para asegurarse de que su base de datos esté actualizada:
actualización de sudo apt
- A continuación, actualice todos los paquetes que aún no se hayan actualizado:
sudo apt upgrade -y
A continuación, deberá instalar y configurar Docker si aún no lo tiene instalado. Docker le permite ejecutar aplicaciones y servidores en contenedores aislados, por lo que no tiene que preocuparse por los conflictos entre distintos programas de software.
- Primero, descargue e instale los últimos paquetes de Docker:
sudo apt-get install docker-ce docker-ce-cli contenedord.io complemento docker-buildx complemento docker-compose
- Asegúrese de que Docker esté instalado correctamente ejecutando este comando, que descargará una imagen de prueba y la ejecutará en un contenedor:
sudo docker run hola-mundo
Cuando el contenedor se ejecuta, muestra un mensaje de confirmación y luego sale. - A continuación, agregue su usuario actual al grupo Docker para evitar tener que usar privilegios de root:
sudo user mod -aG docker $USER
- Por último, salga de su sesión de Terminal y abra una nueva para actualizar sus permisos de usuario.
Instalaremos docker-compose para finalizar y facilitar la creación de nuevos contenedores Docker.
- Primero, instale los requisitos previos necesarios para docker-compose.
sudo apt install -y libffi-dev libssl-dev python3-dev python3-pip
- Ahora puedes instalar docker-compose con este comando:
sudo pip3 install docker-compose
- Si recibe un error que indica que el entorno está administrado externamente, emita este comando en su lugar:
sudo apt install complemento docker-compose
Instalar un servidor web y un certificado autofirmado
Una vez que Docker esté instalado, ya casi estará listo para instalarsu servidor Joplin. Primero, debemos asegurarnos de que tenga un servidor web y un certificado SSL para mantenerlo seguro.
También es posible que desees configurar tu nombre de dominio y DNS dinámico para permitir el acceso remoto al servidor Joplin. Estos pasos están fuera del alcance de este artículo, ya que la configuración de DNS dinámico varía ampliamente de un enrutador a otro. Sin embargo, sin esto, solo puedes sincronizar tus notas cuando estés en la misma red que el servidor Joplin.
Pasemos a configurar el servidor web que utilizará para su servidor Joplin.
- Primero, instale el servidor web nginx:
sudo apt install -y nginx
- Para configurar SSL, cree la clave privada de su autoridad de certificación (CA). Cuando le soliciten una frase de contraseña, es una buena idea utilizar una para evitar posibles infracciones de seguridad. Simplemente utilice este comando y siga las instrucciones a medida que aparecen:
sudo openssl genrsa -aes256 -out /etc/ssl/private/local_ca.key 4096
- A continuación, debe crear un certificado. Crearemos un certificado de CA válido durante cinco años (1826 días) con el siguiente comando. Cuando se le solicite una frase de contraseña, utilice la que creó anteriormente en el paso 2.
sudo openssl req -x509 -new -nodes -key /etc/ssl/private/local_ca.key -sha256 -days 1826 -out /etc/ssl/certs/local_ca.crt
Se le pedirá que proporcione información adicional, pero puede omitir cualquiera de los campos utilizando el punto (.).
Después de crear su CA y los certificados autofirmados, nginx necesitará su propio certificado para el servidor web.
Primero, cree un certificado autofirmado para el servicio nginx:
sudo openssl req -new -nodes -out /etc/ssl/certs/nginx.csr -newkey rsa:4096 -keyout /etc/ssl/private/nginx.key -subj '/CN=Servicio Nginx'
El servidor web necesita un archivo de extensión para configurar los ajustes del certificado, como el nombre de host y la dirección IP. Copie el siguiente texto en la Terminal y cambie los valores de DNS.1 e IP.1 por el nombre de host y la dirección IP de su Raspberry Pi:
gato > nginx.ext << EOF
AuthorityKeyIdentifier=identificador de clave,emisor
Restricciones básicas=CA:FALSO
keyUsage = firmadigital, no repudio, cifrado de clave, cifrado de datos
subjectAltName = @alt_names
[nombres alternativos]
DNS.1 = [Escriba aquí el nombre de host de Raspberry]
IP.1 = [Escriba aquí la dirección IP de Raspberry]
fin de año
Verifique que el contenido sea correcto utilizando:
gato nginx.ext
Finalmente, firme el certificado para nginx con este comando:
sudo openssl x509 -req -in /etc/ssl/certs/nginx.csr -CA /etc/ssl/certs/local_ca.crt -CAkey /etc/ssl/private/local_ca.key -CAcreateserial -out /etc/ssl/certs/nginx.crt -days 3650 -sha256 -extfile nginx.ext
Bien, ya casi estamos listos para instalar el servidor Joplin. Sin embargo, antes de hacerlo, debemos crear una nueva configuración de nginx para el servidor Joplin. Cree un nuevo archivo de configuración usando nano en su sesión de terminal:
sudo nano /etc/nginx/sites-enabled/joplin
Copie y pegue la siguiente información, asegurándose de editarserver_namepara que coincida con su configuración:
servidor {
escuchar 443 ssl http2;
nombre_servidor raspberrypi.local;
certificado_ssl /etc/ssl/certs/nginx.crt;
clave de certificado ssl /etc/ssl/private/nginx.key;
Ubicación /joplin/ {
proxy_redirect desactivado;
contraseña_proxy http://127.0.0.1:22300;
reescribir ^/joplin/(.*)$ /$1 break;
proxy_set_header X-Host reenviado $host;
encabezado_conjunto_proxy Anfitrión $host;
encabezado_conjunto_proxy X-Real-IP $dirección_remota;
proxy_set_header X-Reenviado-Para $proxy_add_x_reenviado_para;
proxy_set_header Proto reenviado X $scheme;
}
}
Guarde y salga usandoCtrl+X,[Y]yEnter/Return.
Por último, reinicie nginx para aplicar la nueva configuración del servidor:
sudo systemctl restart nginx.service
Configuración de su servidor Joplin autoalojado
Una vez que ya hemos hecho los preparativos, es hora de instalar y configurar el servidor Joplin. Docker hará la mayor parte del trabajo por nosotros, siguiendo las recetas de los repositorios de Docker. Para empezar, tendrás que crear un nuevo archivo docker-compose.yml. En la terminal, ejecuta este comando:
nano docker-compose.yml
A continuación, copie y pegue el texto a continuación en el archivo, luego guarde el archivo y salga de nano.
versión: '3'
servicios:
base de datos:
reiniciar: a menos que se detenga
imagen: postgres:13.1
puertos:
- "5432:5432"
volúmenes:
- /datos/joplin-data:/var/lib/postgresql/data
ambiente:
- POSTGRES_PASSWORD=[Ingrese aquí la contraseña de postgres]
- POSTGRES_USER=[Ingrese el nombre de usuario de postgres aquí]
- POSTGRES_DB=[Ingrese aquí el nombre de la base de datos postgres]
aplicación:
ambiente:
- APP_BASE_URL=https://[nombre de host de Raspberry aquí]/joplin
- PUERTO_APLICACIÓN=22300
- POSTGRES_PASSWORD=[Ingrese aquí la contraseña de postgres]
- POSTGRES_DATABASE=[Ingrese aquí el nombre de la base de datos postgres]
- POSTGRES_USER=[Ingrese el nombre de usuario de postgres aquí]
- PUERTO_POSTGRES=5432
- POSTGRES_HOST=base de datos
- DB_CLIENTE=pg
reiniciar: a menos que se detenga
imagen: etechonomy/joplin-server:latest
puertos:
- "127.0.0.1:22300:22300"
depende_de:
- base de datos
A continuación, utilizará el archivo de configuración para descargar e instalar las imágenes de Docker necesarias:
docker componer -d
Por último, prueba que el servidor esté funcionando abriendo una nueva ventana del navegador web y navegando a:
https://[nombre de host].local/joplin
Reemplaceel nombre de hostpor el nombre de host que configuró para Raspberry Pi. Es probable que reciba advertencias sobre el certificado, pero puede aceptarlas haciendo clic enAvanzado -> Aceptar el riesgo y continuar.
Deberías ver la página de inicio de sesión de Joplin Server. El nombre de usuario predeterminado esadmin@localhosty la contraseña predeterminada esadmin. Asegúrate de cambiarlas de inmediato para mantener tu seguridad.
Conecte sus dispositivos al servidor JoplinUna vez que la configuración del servidor esté completa, puede comenzar a sincronizar la aplicación Joplin con su servidor alojado en sus dispositivos. Es posible que deba importar el certificado de seguridad que creó a los dispositivos que desea conectar. Mediante correo electrónico, SCP o cualquier otro método, transfiera una copia del certificado CA que se encuentra en su Raspberry Pi en/etc/ssl/certs/local_ca.crta esos dispositivos.
El servidor Joplin está listo para funcionar
Eso es todo. Es un proceso largo, pero si seguiste las instrucciones correctamente, deberías estar listo para comenzar. Por supuesto, el siguiente paso puede ser hacer que tu servidor Joplin esté disponible en línea en algún momento. Como se mencionó anteriormente, esto requerirá registrar tu propio nombre de dominio y usar DNS dinámico para exponer tu servidor Joplin de Raspberry Pi al mundo exterior, así que asegúrate de proteger completamente tu Pi antes de hacerlo.