Cómo crear su propio administrador de marcadores con enlaces
Linkding es un administrador de marcadores basado en web simple pero flexible para Linux. Al igual que los administradores de marcadores sin conexión, le permite crear y anotar los enlaces web que ha acumulado con el tiempo.
Este artículo le mostrará cómo puede instalar Linkding en una máquina Ubuntu 22.04 usando Docker y Docker Compose. También resaltará cómo puede crear y administrar un usuario no administrador dentro de su nueva instancia de Linkding.
¿Por qué alojar su propio administrador de marcadores utilizando Linkding?
Uno de los mayores puntos de venta de Linkding es que puede implementarlo rápidamente en un servidor existente y usarlo en unos minutos. Esto significa que no necesita aprovisionar una nueva máquina, física o de otro tipo, para alojar su propio administrador de marcadores.
Linkding también amplía las funciones básicas que se encuentran en la mayoría de los administradores de marcadores para incluir el uso compartido de enlaces y el modo multiusuario. Esto lo hace ideal para usuarios que desean crear una plataforma colaborativa privada para compartir enlaces entre un grupo.
Obtención de Linkding y Docker Compose
Para implementar Linkding, primero debe instalar Docker junto con su componente Docker Compose. Puede hacerlo obteniendo la clave de firma del programa en el sitio web del desarrollador:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Cree un nuevo archivo de repositorio para su instalación de Docker:
sudo nano /etc/apt/sources.list.d/docker.list
Pegue la siguiente línea de código dentro de su nuevo archivo de repositorio:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Vuelva a cargar los repositorios de paquetes de su sistema ejecutando el siguiente comando:
sudo apt update && sudo apt upgradesudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Obtención e implementación del contenedor Docker Linkding
Cree una nueva carpeta para Linkding dentro de su directorio de inicio y acceda a ella:
mkdir ~/linkding && cd ~/linkding
Utilice su editor de texto favorito para crear un archivo “docker-compose.yml” vacío:
nano. /docker-compose.yml
Pegue el siguiente bloque de código dentro de su nuevo archivo de redacción:
---
version: "3"
services:
linkding:
container_name: ${LD_CONTAINER_NAME:-linkding}
image: sissbruecker/linkding:latest
ports:
- ${LD_HOST_PORT:-9090}:9090
volumes:
- ${LD_HOST_DATA_DIR:-./data}:/etc/linkding/data
env_file:
-. env
restart: unless-stopped
Guarde su nuevo docker-compose.yml y luego cree un archivo de entorno para su instancia. Esto contendrá todas las variables personalizadas para su nueva instalación:
nano ~/linkding/.env
Pegue el siguiente bloque de código dentro de su nuevo archivo de entorno:
LD_CONTAINER_NAME="linkding"LD_HOST_PORT="9090"LD_HOST_DATA_DIR="./data"LD_SUPERUSER_NAME="linkding"# CHANGE WITH A SECURE USERNAMELD_SUPERUSER_PASSWORD="linkding"# CHANGE WITH A SECURE PASSWORDLD_DISABLE_BACKGROUND_TASKS="False"LD_DISABLE_URL_VALIDATION="False"LD_ENABLE_AUTH_PROXY="False"LD_CSRF_TRUSTED_ORIGINS="https://linkding.your-domain-name.here"
Por último, cree su nuevo contenedor Docker ejecutando el siguiente comando:
docker compose up -d
Crear un proxy inverso Nginx para SSL
En este punto, ahora tiene una instancia funcional de Linkding ejecutándose en el puerto 9090. Sin embargo, para poder acceder a ella públicamente, necesita crear un proxy inverso que proteja las conexiones entrantes mediante SSL.
Cree un nuevo archivo de configuración del sitio para su instancia:
sudo nano /etc/nginx/sites-available/linkding
Pegue el siguiente bloque de código dentro de su nuevo archivo de sitio:
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name linkding.your-domain-name.here;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:9090;
}}
Elimine el archivo de configuración del sitio predeterminado y cree un enlace simbólico para su nuevo archivo de configuración a “/etc/nginx/sites-enabled”:
sudo rm /etc/nginx/default
sudo ln -s /etc/nginx/sites-available/linkding /etc/nginx/sites-enabled/linkding
Inicie y habilite su demonio Nginx para aplicar su nueva configuración:
sudo systemctl restart nginx
sudo systemctl enable --now nginx
Habilitación de SSL para su instancia de enlace
Asegúrese de que su máquina tenga el binario core snap más reciente:
sudo snap install core
Instale el paquete instantáneo Certbot de Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
Pruebe si la instalación de su certbot funciona correctamente registrándola en la EFF:
sudo certbot register --agree-tos -m ramces@email.invalid
Solicite un certificado SSL para su instancia ejecutando el siguiente comando:
sudo certbot --nginx -d linkding.your-domain-name.here
Pruebe si su nueva instancia es segura y funciona cargando su dirección en un navegador web.
Crear un nuevo usuario en Linkding
Inicie sesión en su nueva instancia de Linkding utilizando las credenciales de superusuario que proporcionó en su archivo «.env».
Haga clic en el enlace «Configuración» en la esquina superior derecha de la página.
Haga clic en la pestaña «Administrador» en la página de configuración de Linkding. Esto abrirá el Panel de administrador de Linkding.
Para agregar un nuevo usuario, haga clic en el enlace «Agregar» al lado de la fila Usuarios en la categoría «Autenticación y autorización».
Proporcione un nombre de usuario y una contraseña para su nuevo usuario de Linkding, luego haga clic en «Guardar» para activar su nuevo usuario.
Pruebe si su nuevo usuario está funcionando correctamente iniciando sesión en él a través de una sesión de navegador diferente.
Deshabilitar un usuario existente en Linkding
Para deshabilitar un usuario existente en Linkding, vaya al panel de administrador de su instancia, luego seleccione el enlace «Usuarios» en la categoría «Autenticación y autorización».
Haga clic en el nombre de usuario que desea desactivar. Esto cargará el perfil de ese usuario en particular.
Desplácese hacia abajo hasta la categoría «Permisos», luego desmarque la casilla de verificación junto a la etiqueta «Activo».
Desplácese hasta el final de la página y luego haga clic en «Guardar» para desactivar completamente al usuario.
Preguntas frecuentes
¿Puedes instalar Linkding sin usar Docker?
No. Los desarrolladores de Linkding lo diseñaron para funcionar únicamente con contenedores Docker. Esto se debe a que el programa tiene una serie de codependencias que deben implementarse en un orden específico y de una manera específica para que funcione correctamente.
¿Es posible importar marcadores existentes a Linkding?
Sí. Es posible importar una lista de marcadores de otros administradores de marcadores externos. Por ejemplo, puede copiar sus marcadores de Google Chrome y Microsoft Edge directamente a Linkding.
¿Es posible hacer una copia de seguridad de la base de datos de Linkding fuera de Docker?
Sí. Hay dos formas de hacer una copia de seguridad de una base de datos Linkding desde su contenedor Docker. Primero, puede ir a la página Configuración y luego ir a la categoría «Exportar» en la pestaña «General». Debajo, haga clic en el botón «Descargar» para hacer una copia de seguridad de los marcadores del usuario actual.
En segundo lugar, puede iniciar sesión en su servidor Linkding y copiar el archivo “db.sqlite3″ en el directorio “~/linkding/data”. La ventaja de este enfoque sobre el primero es que el archivo “db.sqlite3″ contiene toda la base de datos de marcadores para toda la instancia.
Crédito de la imagen: Lauren Mancke a través de Unsplash (fondo) Vinculando Github (logotipo). Todas las modificaciones y capturas de pantalla realizadas por Ramces Red.
Deja una respuesta