Instalar y usar Karakeep: gestor de marcadores autoalojado frente a Linkwarden

Contexto y objetivo

Karakeep, antes llamado Hoarder, es un gestor de marcadores autoalojado para enlaces, imágenes, PDF, vídeos y notas. Recopila metadatos automáticamente y, si se desea, crea capturas de pantalla o copias completas de las páginas y permite buscar en su contenido. Explico sus funciones, cómo instalarlo con Docker en un contenedor LXC de Proxmox, en qué se diferencia de Linkwarden y qué alternativas existen. También encontrarás consejos sobre rendimiento, copias de seguridad, seguridad y cómo guardar vídeos de YouTube con Karakeep.

¿Qué es Karakeep?

karakeep-installation-27

karakeep-installation-27

karakeep-installation-29

karakeep-installation-29

karakeep-installation-30

karakeep-installation-30

karakeep-installation-31

karakeep-installation-31

karakeep-installation-33

karakeep-installation-33

En pocas palabras, Karakeep es tu archivo personal de conocimientos. Puedes guardar páginas web, notas, imágenes y PDF, organizarlos en listas y sublistas y añadir etiquetas. La búsqueda se realiza mediante Meilisearch. Opcionalmente, la IA puede asignar etiquetas de forma automática, con OpenAI o con Ollama en local. También ofrece OCR para texto en imágenes, archivado de páginas completas, capturas de pantalla y descarga de vídeos con yt-dlp.

Casos de uso habituales:

  • Investigación para artículos de blog, conferencias o proyectos de clientes
  • Moodboards para ideas de diseño, campañas y diseño web
  • Recogida de instrucciones, fragmentos de código y documentación
  • Revista digital con función para leer más tarde

Mi configuración en el homelab

Ejecuto Karakeep en el siguiente sistema:

Proxmox host

  • Proxmox 8.4.1 en HP ProDesk 400 G7 SFF
  • CPU Intel i5-10500, 48 GB de RAM, 2T NVME SSD

Contenedor LXC

  • Ubuntu 22.04
  • Inicio automático: sí
  • Nesting: sí
  • Keyctl: sí
  • Al principio, 2 núcleos y 2 GB de RAM; después, 6 núcleos y 6 GB de RAM
  • Swap: primero 4 GB, después 8 GB
  • Disco: 96 GB

Consejo práctico: 2 núcleos y 2 GB de RAM bastan para empezar. Si procesas archivos grandes, muchas subidas, varias tareas simultáneas del rastreador u OCR, más núcleos y RAM mejoran notablemente el rendimiento.

Configurar un contenedor LXC en Proxmox

karakeep-installation-02

karakeep-installation-02

karakeep-installation-03

karakeep-installation-03

karakeep-installation-04

karakeep-installation-04

karakeep-installation-05

karakeep-installation-05

karakeep-installation-06

karakeep-installation-06

karakeep-installation-07

karakeep-installation-07

karakeep-installation-08

karakeep-installation-08

karakeep-installation-09

karakeep-installation-09

karakeep-installation-10

karakeep-installation-10

karakeep-installation-12

karakeep-installation-12

1) Descargar la plantilla y crear el contenedor

  1. En el árbol izquierdo de Proxmox, abre el almacenamiento de plantillas y descarga la plantilla estándar de Ubuntu 22.04 en «Plantillas».
  2. Nuevo → Contenedor LXC:
    • Elige el nodo, el ID del contenedor y un nombre de host, por ejemplo karakeep.
    • Ajuste de la contraseña
    • Plantilla: Ubuntu 22.04.
    • Disco raíz: entre 60 y 120 GB en SSD o NVMe.
    • CPU: Comience con 2 núcleos, aumente más tarde si es necesario.
    • RAM: Comience con 2 GB, Swap 4 GB.
    • Red: Puente vmbr0, IPv4 DHCP o IP fija.
    • DNS: automáticamente o por ejemplo 1.1.1.1 y 9.9.9.9.
  3. Marca la opción «Iniciar al arrancar».

2) Activar las funciones LXC para Docker

Después de crearlo, selecciona el contenedor → Opciones:

  • Funciones → activar Keyctl
  • Funciones → activar Nesting

Así, Docker y el servicio Chrome sin interfaz gráfica usado para las capturas de pantalla funcionan de forma más fiable.

3) Contenedor no privilegiado o privilegiado

  • Recomendación: contenedor LXC no privilegiado con las funciones nesting y keyctl. Es una opción más segura.
  • Si Docker presenta problemas en LXC (por ejemplo, con Chrome o cgroups), tienes dos opciones:
    • cambiar el contenedor a privilegiado y añadir en /<CTID>.conf:
    • O usar una pequeña VM con Ubuntu en lugar de LXC. Así evitas algunos casos especiales, aunque consume algo más de recursos.
#nano /etc/pve/lxc/<ctid>.conf

lxc.apparmor.profile: unconfined
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.mount.auto: "proc:rw sys:rw cgroup:rw"

Usa un contenedor privilegiado solo si es necesario y documenta la decisión.

Instalación: Karakeep con Docker en un contenedor LXC de Proxmox

1) Preparar el contenedor LXC

En Proxmox, selecciona Ubuntu 22.04 para el contenedor LXC y activa Nesting y Keyctl. Después, dentro del contenedor:

sudo apt update
sudo apt upgrade -y
sudo apt install -y zip bzip2 gzip unzip htop git wget curl nano

Instala Docker:

sudo apt update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# falls du einen anderen Benutzer als root verwendest
# sudo groupadd docker
# sudo usermod -aG docker $USER

2) Crear la carpeta del proyecto y los archivos

mkdir karakeep && cd karakeep
wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml
wget -O .env https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/.env.sample

3) Ajustar el archivo .env

También puedes generar en línea claves secretas para el archivo de configuración: randomkeygen.com

Configura como mínimo:

KARAKEEP_VERSION=release
DATA_DIR=/data
MEILI_ADDR=http://127.0.0.1:7700
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=<openssl rand -base64 36>
MEILI_MASTER_KEY=<openssl rand -base64 36 | tr -dc 'A-Za-z0-9'>

Mis ajustes adicionales para medios, OCR y vídeo:

MAX_ASSET_SIZE_MB=200
CRAWLER_ENABLE_ADBLOCKER=true
# wird fuer den YouTube Video Download benoetigt
CRAWLER_VIDEO_DOWNLOAD=true
CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE=5000000
CRAWLER_VIDEO_DOWNLOAD_TIMEOUT_SEC=7200

DISABLE_SIGNUPS=true #deaktiviert die Registrierung in Karakeep

CRAWLER_DOWNLOAD_BANNER_IMAGE=true
CRAWLER_STORE_SCREENSHOT=true
CRAWLER_FULL_PAGE_SCREENSHOT=true
CRAWLER_FULL_PAGE_ARCHIVE=true
OCR_LANGS=deu,eng #Deutsch und Englisch

4) Ajustar docker-compose.yml

Guardo los datos en una subcarpeta ./data junto al archivo Compose. Así es más fácil hacer copias de seguridad y acceder directamente a los archivos si surge un problema.

services:
  web:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    restart: unless-stopped
    volumes:
      - ./data:/data # Bind Mount angepasst

5) Iniciar y actualizar Karakeep

docker compose up -d

Interfaz web: http://<deine-ip>:3000.
Estrategia de actualización: aumenta la versión en .env o mantente en el canal de publicación y reinicia tras descargar las imágenes nuevas. Antes de actualizar, haz una copia de seguridad de la ./data carpeta y del volumen de Meilisearch.

Explicación rápida de la configuración

AjusteEfectoRecursos necesarios
CRAWLER_STORE_SCREENSHOTCrea una captura de pantalla por páginaMedio
CRAWLER_FULL_PAGE_SCREENSHOTCaptura larga de la página completa; pueden aparecer los avisos de cookiesAlto
CRAWLER_FULL_PAGE_ARCHIVECopia local de la páginaAlto
CRAWLER_VIDEO_DOWNLOADDescarga vídeos con yt-dlpAlto, según el tamaño
OCR_LANGSOCR para imágenes y PDFConsume mucha CPU
MAX_ASSET_SIZE_MBTamaño máximo de archivo subidoSegún el valor
DISABLE_SIGNUPSDesactiva el registroSin efecto

Guardar vídeos con Karakeep

Esta función utiliza yt-dlp. Actívala con CRAWLER_VIDEO_DOWNLOAD=true y establece límites razonables con CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE y CRAWLER_VIDEO_DOWNLOAD_TIMEOUT_SEC. Consulta las condiciones de uso de cada plataforma. Para vídeos largos necesitas suficiente almacenamiento y un tiempo de espera amplio.

Extensiones de navegador y aplicaciones

Los complementos guardan la página actual con un clic, incluidas las etiquetas y la lista de destino.

Funciones de importación

  • Chrome y Firefox: Exportar marcadores como HTML e importarlos en configuraciones de Karakeep.
  • Pocket: Importar CSV de exportación.
  • Omnivore: Exportar JSONs, opcionalmente con jq fusionar e importar en Karakeep.
  • Linkwarden: hay un importador disponible que facilita la migración.

Karakeep frente a Linkwarden

CriterioKarakeepLinkwarden
Tipos de datosEnlaces, notas, imágenes, PDF, archivos de páginas completas y vídeosMarcadores con archivado avanzado, PDF y capturas de pantalla
BúsquedaBúsqueda de texto completo con MeilisearchTexto completo y vista de archivo
Archivado de vídeosIntegrado mediante variables de entornoMás bien mediante herramientas externas o flujos de trabajo
MóvilAplicaciones nativas y complementos del navegadorPWA y aplicaciones comunitarias
Funciones de IAOpcional por OpenAI o localmente con OllamaDisponible, dependiendo de la versión y configuración
HostingDocker Compose como opción habitualDocker Compose como opción habitual
Funciones del equipoDisponibles y en desarrolloDisponibles y probadas

En resumen, Karakeep es muy versátil y, además de marcadores, gestiona archivos multimedia y notas. Linkwarden destaca por su vista de archivo especialmente cuidada y su PWA. Si guardas muchos vídeos y capturas de pantalla, las opciones integradas de Karakeep te resultarán útiles.

Alternativas

  • Raindrop Servicio en la nube con hermosa interfaz y muchas integraciones
  • Instapaper – Servicio clásico para leer más tarde
  • wallabag, LinkAce, Linkding, Shaarli Fuente abierta para el auto hospedaje
  • Pocket – Servicio descontinuado o en proceso de cierre: exporta tus datos y migra
  • Linkwarden Administrador de marcadores auto hospedados

Copias de seguridad, restauración y migración

Copia de seguridad

  • Carpeta ./data guardar
  • Volumen de Docker meilisearch guardar
  • Copia de seguridad o instantáneas opcionales en el host Proxmox

Restauración

  • Detener los contenedores
  • Restaurar la carpeta de datos y el volumen
  • Iniciar los contenedores

Migración

  • Exportar datos de Pocket, Omnivore, Linkwarden o el navegador
  • Importar a Karakeep a través de la configuración

Seguridad y funcionamiento

  • Colocar Karakeep detrás de un proxy inverso con HTTPS
  • DISABLE_SIGNUPS=true, si solo tú utilizas el servicio
  • Conexión OAuth opcional para SSO
  • Actualizaciones regulares y copias de seguridad
  • Vigilar el espacio de almacenamiento, sobre todo para páginas completas y vídeos
  • Para LXC: usar una versión reciente de Proxmox y activar Nesting y Keyctl

Consejos de rendimiento

  • Más núcleos de CPU aceleran el rastreador, el OCR y el procesamiento de vídeos
  • Utilice SSD o NVMe para el directorio de datos
  • CRAWLER_FULL_PAGE_* Activar sólo donde realmente lo necesitas
  • Prever un disco separado o almacenamiento de objetos para grandes archivos multimedia

Solución de problemas en LXC

  • Iniciar el contenedor con Nesting y Keyctl
  • Si Docker falla en un contenedor LXC no privilegiado, cambiar a uno privilegiado, ajustar las reglas de AppArmor o, como último recurso, desinstalar AppArmor
  • Comprobar que el chrome servicio está en ejecución, ya que Karakeep lo utiliza para capturas de pantalla y rastreo sin interfaz gráfica
  • Puertos 3000 y 9222 no bloqueados por cortafuegos
  • Si hay problemas de permisos, comprobar los permisos de la ruta ./data indicada

Preguntas frecuentes

¿Karakeep es libre y de código abierto?
Sí. Karakeep es de código abierto y está diseñado para el autoalojamiento.

¿Necesito OpenAI para buscar o etiquetar?
No. La búsqueda funciona en local con Meilisearch. El etiquetado mediante IA es opcional y puede usar OpenAI u Ollama en local.

¿Puedo guardar videos de YouTube?
Sí, con CRAWLER_VIDEO_DOWNLOAD=true Karakeep utiliza yt-dlp. Ten en cuenta el límite de tamaño de archivo, el tiempo de espera y el marco legal.

¿Cómo actualizo Karakeep?
Haz una copia de seguridad, aumenta la versión o descarga imágenes nuevas y después docker compose up -d ejecuta. Alternativamente, también puede respaldar el LXC en Proxmox, ya sea manual o regularmente por cron.

¿Dónde conviene guardar los datos?
O en ./data en el host o en un almacenamiento de objetos compatible con S3. Es importante hacer copias periódicas.

Glosario

  • Karakeep – Gestor de marcadores autoalojado, antes llamado Hoarder
  • Linkwarden – Alternativa autoalojada para marcadores con una excelente vista de archivo
  • Meilisearch – búsqueda de texto completo delgado, utilizado por Karakeep
  • OCR Reconocimiento de texto para imágenes y PDF escaneados
  • yt-dlp – Herramienta de descarga que Karakeep usa para archivar vídeos
  • Monolith – Herramienta que crea archivos HTML en un solo fichero para archivar páginas completas
  • Ollama – Servidor de IA local que permite crear etiquetas y resúmenes sin recurrir a la nube
  • Almacenamiento S3 Almacenamiento de objetos como MinIO o servicios en la nube, adecuado para datos de medios grandes
  • PWA – Aplicación web progresiva que puede instalarse como una aplicación y se ejecuta en el navegador
  • Docker Compose – Define servicios con varios contenedores en un archivo YAML
  • LXC Contenedores ligeros en Proxmox, buen rendimiento con baja sobrecarga
  • Privilegiado LXC – Contenedor con permisos ampliados, necesario para algunas configuraciones de Docker
  • AppArmor – Módulo de seguridad Linux, se puede personalizar en entornos LXC
  • Proxy inverso – Servidor web intermedio, como Nginx o Traefik, que gestiona HTTPS, el enrutamiento y las cabeceras
  • NextAuth Secret – Clave secreta para la capa de autenticación en Karakeep
  • Variables ENV – Valores de configuración de .env archivo que se aplican a los contenedores durante su ejecución

Este artículo se ha traducido con ayuda de la IA.

Durchschnittliche Bewertung 0 / 5. Bewertungen: 0

Leave a Comment

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

Scroll to Top