Cómo instalar Linkwarden en Docker | Gestor de marcadores colaborativo autoalojado

Gestor de marcadores autoalojado

Linkwarden: Gestor de marcadores colaborativo autoalojado

Recopila, lee, anota y preserva páginas web con capturas, PDFs y búsqueda de texto completo



Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar Linkwarden: Gestor de marcadores colaborativo autoalojado en el canal GENBYTE:

¿Qué es Linkwarden: Gestor de marcadores colaborativo autoalojado?

Linkwarden es un gestor de marcadores colaborativo, de código abierto y autoalojado diseñado para recopilar, leer, anotar y preservar completamente el contenido web que importa. Su objetivo es organizar páginas web y artículos útiles en un solo lugar y, dado que el contenido en línea puede desaparecer (fenómeno conocido como Link Rot), Linkwarden guarda una copia de cada página como captura de pantalla, PDF y archivo HTML único, garantizando su accesibilidad incluso si el original ya no está disponible. Además de la preservación, ofrece una experiencia de lectura y anotación amigable que combina la simplicidad de una herramienta "read-it-later" con la fiabilidad de un archivo web. Está pensado para la colaboración, permitiendo compartir enlaces públicamente y trabajar en equipo con múltiples usuarios, cada uno con permisos personalizables.

Preservación automática de páginas web como captura, PDF y HTML único, con lector integrado para resaltar y anotar texto, búsqueda de texto completo y aplicaciones nativas móviles.

Características principales

Preservación automática

Captura automática de pantalla, PDF y archivo HTML único (single file) de cada página web guardada.

Lector con anotaciones

Vista de lectura del contenido web con capacidad para resaltar y anotar texto directamente.

Archivo en Wayback Machine

Envío opcional de la página a Wayback Machine (archive.org) para crear una instantánea adicional.

Etiquetado automático con IA local

Etiquetado automático de enlaces basado en su contenido mediante IA local (opcional).

Organización flexible

Organización de enlaces por colecciones, subcolecciones, nombre, descripción y múltiples etiquetas.

Colaboración y permisos

Colaboración en la recopilación de enlaces dentro de una colección con permisos personalizables por miembro.

Compartir públicamente

Compartir enlaces recopilados y formatos preservados con el mundo.

Aplicaciones nativas móviles

Aplicaciones nativas para iOS y Android disponibles en App Store y Google Play.

Búsqueda de texto completo

Búsqueda de texto completo, filtrado y ordenación para recuperación rápida de la información.

Modo oscuro y claro

Soporte para modo oscuro y claro.

Extensión de navegador

Extensión de navegador para guardar enlaces fácilmente (repositorio separado).

Sincronización de navegador

Sincronización de marcadores del navegador mediante Floccus.

Carga desde SingleFile

Carga de archivos generados con SingleFile.

Integración SSO

Integración SSO disponible para usuarios Enterprise y autoalojados.

Accesos directos iOS

Acceso directo de iOS para guardar enlaces en Linkwarden.

Claves API

Generación y uso de claves API para integraciones.

Acciones en lote

Acciones en lote para gestionar múltiples enlaces a la vez.

Administración de usuarios

Gestión de usuarios y roles en la instancia.

Internacionalización

Soporte para múltiples idiomas (i18n) con traducciones gestionadas en Crowdin.

Subida de imágenes y PDFs

Subida directa de archivos de imagen y PDF.

Iconos personalizados

Iconos personalizados para enlaces y colecciones.

Suscripción RSS

Suscripción a feeds RSS para importar contenido automáticamente.

Requisitos del sistema

  • Docker y Docker Compose instalados
  • Archivo .env configurado con variables de entorno requeridas (ver .env.sample)
  • Puerto 3000 disponible para la interfaz web
  • Recursos mínimos recomendados: 2 GB RAM, 2 vCPU, espacio en disco para base de datos, índice de búsqueda y archivos subidos

Instalación con Docker Compose

Clonar el repositorio

Clona el repositorio oficial de Linkwarden en tu servidor.

git clone https://github.com/linkwarden/linkwarden.git cd linkwarden

Configurar variables de entorno

Copia el archivo de ejemplo .env.sample a .env y edita los valores según tu entorno (contraseñas, claves secretas, URLs, etc.).

cp .env.sample .env # Edita .env con tu editor preferido

Levantar la pila con Docker Compose

Inicia los servicios (PostgreSQL, Meilisearch y Linkwarden) en segundo plano.

docker compose up -d

Verificar estado de los contenedores

Comprueba que los tres servicios estén en estado healthy o running.

docker compose ps

Acceder al proyecto

Interfaz web

Accede a la aplicación abriendo http://<IP_DEL_SERVIDOR>:3000 en el navegador. La primera vez se mostrará el asistente de configuración inicial para crear la cuenta de administrador.

Casos de uso

  • Archivo personal de artículos, documentación y recursos técnicos con preservación a largo plazo.
  • Equipos de investigación o redacción que necesitan compartir y anotar fuentes web de forma colaborativa.
  • Gestión de conocimiento organizativo con control de permisos y búsqueda de texto completo.
  • Sustitución autoalojada de servicios de marcadores en la nube con privacidad total de los datos.
  • Curación de contenido para boletines, blogs o bases de conocimiento internas.

Configuración avanzada

Configuración de Meilisearch

Meilisearch se usa para la búsqueda de texto completo. La versión fijada en docker-compose.yml es v1.13.3. Las variables de entorno relacionadas se definen en .env (p. ej. MEILI_MASTER_KEY).

# Ejemplo de variables en .env MEILI_MASTER_KEY=una_clave_segura MEILI_HOST=http://meilisearch:7700

Base de datos PostgreSQL

PostgreSQL 16 Alpine es el motor de base de datos. Los datos persisten en el volumen ./pgdata. La cadena de conexión se construye en docker-compose.yml usando POSTGRES_PASSWORD del .env.

# Variables relevantes en .env POSTGRES_PASSWORD=contraseña_segura DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres

Volúmenes persistentes

Tres volúmenes locales almacenan estado: ./pgdata (PostgreSQL), ./meili_data (Meilisearch) y ./data (archivos subidos y datos de la aplicación Linkwarden).

# Estructura de volúmenes en docker-compose.yml volumes: - ./pgdata:/var/lib/postgresql/data - ./meili_data:/meili_data - ./data:/data/data

Actualización de la imagen

Para actualizar a la última versión publicada en ghcr.io/linkwarden/linkwarden:latest, descarga la imagen y reinicia los contenedores.

docker compose pull docker compose up -d

Gestión y mantenimiento

Ver logs de la aplicación

Consulta los logs del servicio Linkwarden para diagnosticar problemas.

docker compose logs -f linkwarden

Ejecutar migraciones de base de datos manualmente

El contenedor ejecuta migraciones automáticamente al inicio (prisma migrate deploy). Si necesitas forzarlas, accede al contenedor y ejecuta el comando.

docker compose exec linkwarden sh -c "cd /data && npx prisma migrate deploy --schema=/data/packages/prisma/schema.prisma"

Backup de volúmenes

Realiza copias de seguridad de los directorios ./pgdata, ./meili_data y ./data para preservar base de datos, índice de búsqueda y archivos subidos.

# Ejemplo de backup con tar tar -czf linkwarden-backup-$(date +%F).tar.gz pgdata meili_data data

Reiniciar servicios

Reinicia todos los servicios o solo uno específico.

docker compose restart # O solo linkwarden docker compose restart linkwarden

Stack técnico

  • TypeScript
  • Next.js (React)
  • Node.js 22
  • PostgreSQL 16
  • Meilisearch (motor de búsqueda)
  • Prisma ORM
  • Playwright (Chromium headless shell) para capturas y PDFs
  • Rust (monolith) para generación de single-file HTML
  • Yarn 4 (Berry) como gestor de paquetes
  • Docker / Docker Compose para despliegue
  • React Native (apps móviles nativas)
  • Tailwind CSS (inferido por ecosistema Next.js)

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.