Cómo instalar Linkwarden en Docker | Gestor de marcadores colaborativo 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.
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.
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.).
Levantar la pila con Docker Compose
Inicia los servicios (PostgreSQL, Meilisearch y Linkwarden) en segundo plano.
Verificar estado de los contenedores
Comprueba que los tres servicios estén en estado healthy o running.
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).
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.
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).
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.
Gestión y mantenimiento
Ver logs de la aplicación
Consulta los logs del servicio Linkwarden para diagnosticar problemas.
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.
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.
Reiniciar servicios
Reinicia todos los servicios o solo uno específico.
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)
Referencias oficiales
- Repositorio oficial en GitHub: https://github.com/linkwarden/linkwarden
- Sitio web oficial: https://linkwarden.app
- Documentación de autoalojamiento: https://docs.linkwarden.app/self-hosting/installation
- Demo en línea: https://demo.linkwarden.app
- Extensión de navegador: https://github.com/linkwarden/browser-extension
- Comunidad en Discord: https://discord.com/invite/CtuYV47nuJ
- Traducciones en Crowdin: https://crowdin.com/project/linkwarden
- Licencia AGPL-3.0: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md
Comentarios
Publicar un comentario