- Contexto y objetivo
- ¿Qué es Karakeep?
- Mi configuración en el homelab
- Configurar un contenedor LXC en Proxmox
- 1) Descargar la plantilla y crear el contenedor
- 2) Activar las funciones LXC para Docker
- 3) Contenedor no privilegiado o privilegiado
- Instalación: Karakeep con Docker en un contenedor LXC de Proxmox
- 1) Preparar el contenedor LXC
- 2) Crear la carpeta del proyecto y los archivos
- 3) Ajustar el archivo .env
- 4) Ajustar docker-compose.yml
- 5) Iniciar y actualizar Karakeep
- Explicación rápida de la configuración
- Guardar vídeos con Karakeep
- Extensiones de navegador y aplicaciones
- Funciones de importación
- Karakeep frente a Linkwarden
- Alternativas
- Copias de seguridad, restauración y migración
- Seguridad y funcionamiento
- Consejos de rendimiento
- Solución de problemas en LXC
- Preguntas frecuentes
- Glosario
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?
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
1) Descargar la plantilla y crear el contenedor
- En el árbol izquierdo de Proxmox, abre el almacenamiento de plantillas y descarga la plantilla estándar de Ubuntu 22.04 en «Plantillas».
- 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.
- Elige el nodo, el ID del contenedor y un nombre de host, por ejemplo
- 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
nestingykeyctl. 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.
- cambiar el contenedor a privilegiado y añadir en
#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
| Ajuste | Efecto | Recursos necesarios |
|---|---|---|
CRAWLER_STORE_SCREENSHOT | Crea una captura de pantalla por página | Medio |
CRAWLER_FULL_PAGE_SCREENSHOT | Captura larga de la página completa; pueden aparecer los avisos de cookies | Alto |
CRAWLER_FULL_PAGE_ARCHIVE | Copia local de la página | Alto |
CRAWLER_VIDEO_DOWNLOAD | Descarga vídeos con yt-dlp | Alto, según el tamaño |
OCR_LANGS | OCR para imágenes y PDF | Consume mucha CPU |
MAX_ASSET_SIZE_MB | Tamaño máximo de archivo subido | Según el valor |
DISABLE_SIGNUPS | Desactiva el registro | Sin 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
- Extensión para Google Chrome: https://chromewebstore.google.com/detail/karakeep/kgcjekpmcjjogibpjebkhaanilehneje
- Complemento para Mozilla Firefox: https://addons.mozilla.org/en-US/firefox/addon/karakeep/
- Android App: https://play.google.com/store/apps/details?id=app.hoarder.hoardermobile
- iOS App: https://apps.apple.com/us/app/karakeep-app/id6479258022
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
jqfusionar e importar en Karakeep. - Linkwarden: hay un importador disponible que facilita la migración.
Karakeep frente a Linkwarden
| Criterio | Karakeep | Linkwarden |
|---|---|---|
| Tipos de datos | Enlaces, notas, imágenes, PDF, archivos de páginas completas y vídeos | Marcadores con archivado avanzado, PDF y capturas de pantalla |
| Búsqueda | Búsqueda de texto completo con Meilisearch | Texto completo y vista de archivo |
| Archivado de vídeos | Integrado mediante variables de entorno | Más bien mediante herramientas externas o flujos de trabajo |
| Móvil | Aplicaciones nativas y complementos del navegador | PWA y aplicaciones comunitarias |
| Funciones de IA | Opcional por OpenAI o localmente con Ollama | Disponible, dependiendo de la versión y configuración |
| Hosting | Docker Compose como opción habitual | Docker Compose como opción habitual |
| Funciones del equipo | Disponibles y en desarrollo | Disponibles 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
./dataguardar - Volumen de Docker
meilisearchguardar - 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
chromeservicio 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
./dataindicada
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
.envarchivo que se aplican a los contenedores durante su ejecución
Este artículo se ha traducido con ayuda de la IA.
















