Karakeep: Aplicación autohospedada para guardar marcadores, notas e imágenes con IA

Publicado por


karakeep
Self-hosted · Bookmark Manager · AGPL-3.0

Karakeep: Aplicación autohospedada para guardar marcadores, notas e imágenes con IA

Guarda enlaces, notas, imágenes y PDFs con etiquetado automático mediante LLM, búsqueda de texto completo y archivado de páginas completas.

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar Karakeep: Aplicación autohospedada para guardar marcadores, notas e imágenes con IA en el canal GENBYTE:

¿Qué es Karakeep: Aplicación autohospedada para guardar marcadores, notas e imágenes con IA?

Karakeep (anteriormente Hoarder) es una aplicación de código abierto diseñada para autohospedarse que permite guardar todo tipo de contenido: enlaces, notas simples, imágenes y archivos PDF. Incluye funciones de inteligencia artificial para etiquetado y resumen automáticos, compatibles con modelos locales a través de Ollama, búsqueda semántica y de texto completo mediante Meilisearch, y archivado completo de páginas web usando Monolith y de vídeos con yt-dlp. Ofrece aplicaciones móviles nativas para iOS y Android, extensiones de navegador para Chrome, Firefox y Safari, y una API REST para integraciones. El proyecto está licenciado bajo AGPL-3.0 y desarrollado principalmente en TypeScript con Next.js.

Combina gestión de marcadores, lectura diferida y archivado permanente con IA local opcional, todo en una única instancia autohospedada.

Características principales

Guardado multipropósito

Permite guardar enlaces, notas, imágenes y PDFs con obtención automática de títulos, descripciones e imágenes de los enlaces.

Organización y colaboración

Ordena marcadores en listas y colabora con otros usuarios en listas compartidas.

Búsqueda avanzada

Búsqueda de texto completo y semántica sobre todo el contenido almacenado gracias a Meilisearch.

Etiquetado y resumen con IA

Etiquetado y resumen automáticos basados en LLM, con soporte para modelos locales mediante Ollama.

Motor de reglas

Motor basado en reglas para gestión personalizada automatizada de los elementos guardados.

OCR y resaltados

Extracción de texto de imágenes mediante OCR y posibilidad de marcar y guardar resaltados del contenido archivado.

Archivado permanente

Archivado de página completa con Monolith para proteger contra rotura de enlaces y archivado automático de vídeos con yt-dlp.

Clientes multiplataforma

Aplicaciones nativas para iOS y Android con lectura sin conexión, extensiones para Chrome, Firefox y Safari, y CLI para agentes LLM.

Importación y sincronización

Importadores desde Chrome, Pocket, Linkwarden, Omnivore, Tab Session Manager y sincronización automática con marcadores del navegador vía Floccus.

Autenticación y seguridad

Soporte SSO, modo oscuro, licencia AGPL-3.0 y consideraciones de seguridad documentadas.

Requisitos del sistema

  • Docker y Docker Compose
  • Servidor con arquitectura compatible (amd64/arm64)
  • Mínimo 2 GB de RAM recomendados para Meilisearch y trabajadores
  • Base de datos PostgreSQL (gestionada internamente por Drizzle)
  • Meilisearch para búsqueda de texto completo
  • Opcional: GPU o CPU con soporte para Ollama si se usan modelos locales

Instalación con Docker Compose

Clonar el repositorio y preparar variables de entorno

Clona el repositorio oficial y copia el archivo de ejemplo de variables de entorno para configurar la instancia.

git clone https://github.com/karakeep-app/karakeep.git
cd karakeep
cp .env.sample .env

Configurar variables de entorno

Edita el archivo .env con tus valores: claves de API (OpenAI, etc.), configuración de base de datos, Meilisearch, OAuth/SSO, y opciones de IA local (Ollama). Consulta la documentación oficial para la lista completa de variables.

# Edita .env con tu editor preferido
nano .env

Levantar la pila con Docker Compose

La instalación oficial se realiza mediante Docker Compose. El repositorio incluye la configuración necesaria; consulta la guía de instalación en la documentación para la versión más actualizada del archivo compose y los perfiles de despliegue.

docker compose up -d

Ejecutar migraciones de base de datos

Tras el primer arranque, aplica las migraciones de Drizzle para inicializar el esquema de la base de datos.

docker compose exec web pnpm db:migrate

Acceder al proyecto

Interfaz web

Accede a la aplicación en http://localhost:3000 (o el puerto/dominio configurado). En el primer acceso se crea la cuenta de administrador.

Aplicaciones móviles

Descarga la app de iOS desde App Store (karakeep-app) o Android desde Google Play (app.hoarder.hoardermobile) e inicia sesión con la URL de tu instancia y credenciales.

Extensiones de navegador

Instala la extensión oficial para Chrome, Firefox o Safari y configúrala apuntando a tu instancia autohospedada.

API REST y CLI

La API REST está disponible en la misma URL base; la CLI para agentes LLM se instala vía npm y se autentica con token personal.

Casos de uso

  • Lectura diferida personal con archivado permanente de artículos y vídeos.
  • Base de conocimiento personal con etiquetado automático y búsqueda semántica.
  • Colaboración en listas de marcadores compartidas entre equipos o familia.
  • Sustituto autohospedado de Pocket, Raindrop.io o MyMind con control total de datos.
  • Integración con flujos de trabajo de IA mediante agentes (OpenClaw, Hermes) y CLI.
  • Captura rápida desde móvil y navegador con sincronización bidireccional de marcadores.

Configuración avanzada

Modelos de IA locales con Ollama

Configura OLLAMA_BASE_URL y modelos en .env para ejecutar etiquetado y resumen sin claves externas. Requiere instancia Ollama accesible desde los contenedores.

OLLAMA_BASE_URL=http://ollama:11434
OLLAMA_MODEL=llama3.1:8b

Autenticación SSO

Habilita proveedores OAuth (Google, GitHub, Microsoft, OIDC genérico) configurando client ID, secret y callback URL en .env según la documentación de Better Auth.

AUTH_GOOGLE_ID=…
AUTH_GOOGLE_SECRET=…
AUTH_GITHUB_ID=…
AUTH_GITHUB_SECRET=…

Motor de reglas personalizado

Define reglas en la interfaz web para automatizar acciones: etiquetar, mover a listas, archivar, según condiciones sobre URL, contenido, etiquetas existentes, etc.

# Configuración vía UI en Ajustes > Reglas
# Ejemplo: si URL contiene 'github.com' -> etiqueta 'desarrollo', lista 'código'

Archivado selectivo y yt-dlp

Activa archivado automático de páginas completas y vídeos. Requiere binarios de Monolith y yt-dlp disponibles en el contenedor worker (incluidos en la imagen oficial).

ENABLE_FULL_PAGE_ARCHIVE=true
ENABLE_VIDEO_ARCHIVE=true

Gestión y mantenimiento

Actualizar a la última versión

Descarga los cambios, actualiza imágenes y vuelve a levantar la pila. Ejecuta migraciones si la versión lo requiere.

cd karakeep
git pull
docker compose pull
docker compose up -d
docker compose exec web pnpm db:migrate

Copias de seguridad

Realiza backup de la base de datos PostgreSQL (volumen de datos) y de los volúmenes de Meilisearch y archivos subidos. Usa pg_dump para la base de datos y copia de volúmenes Docker.

docker exec -t <postgres_container> pg_dump -U karakeep karakeep > backup_$(date +%F).sql
# Backup de volúmenes: docker run –rm -v karakeep_meilisearch:/data -v $(pwd):/backup alpine tar czf /backup/meilisearch_$(date +%F).tar.gz -C /data .

Limpieza de trabajadores y colas

Reinicia trabajadores si se acumulan tareas pendientes. Las migraciones de cola tienen comando dedicado.

docker compose restart worker
docker compose exec worker pnpm db:migrate:queue

Logs y monitorización

Consulta logs de cada servicio con docker compose logs. La aplicación expone métricas y healthchecks estándar para integración con Prometheus/Grafana.

docker compose logs -f web
# Healthcheck: GET /api/health

Stack técnico

  • Next.js (App Router) – Aplicación web
  • TypeScript – Lenguaje principal
  • Drizzle ORM – Base de datos y migraciones (PostgreSQL)
  • Better Auth – Autenticación y SSO
  • tRPC – Comunicación cliente-servidor tipada
  • Puppeteer – Rastreo y captura de enlaces
  • Meilisearch – Búsqueda de texto completo y semántica
  • OpenAI / Ollama – Modelos LLM para etiquetado y resumen
  • Monolith – Archivado de página completa
  • yt-dlp – Archivado de vídeo
  • React Native – Aplicaciones móviles iOS/Android
  • pnpm + Turborepo – Gestión de monorepo y build

Referencias oficiales

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *