Files
Portainer/karakeep

Karakeep

Servicio para guardar, buscar y enriquecer enlaces. Incluye Karakeep, un navegador Chromium para capturas y Meilisearch para indexación.

Arquitectura y propósito

Karakeep guarda el contenido principal en /opt/karakeep/data, delega la búsqueda a karakeep-meilisearch y usa karakeep-chrome para renderizar páginas dinámicas y generar capturas. Sólo la aplicación se une a proxy; Chrome y Meilisearch permanecen en karakeep_internal.

Configuración

  • KARAKEEP_DOMAIN define la URL canónica usada por NextAuth.
  • NEXTAUTH_SECRET firma sesiones; debe ser aleatorio y estable.
  • MEILI_MASTER_KEY protege el índice. Debe coincidir en Karakeep y Meilisearch y nunca contener un valor real en stack.env.
  • DISABLE_SIGNUPS debe permanecer activado tras crear las cuentas necesarias.
  • OCR_LANGS controla los idiomas de reconocimiento.
  • Las variables INFERENCE_*, OPENAI_API_KEY y EMBEDDING_TEXT_MODEL habilitan etiquetado, resumen y embeddings. Si se usa LiteLLM, configura una URL compatible soportada por Karakeep y entrega una clave de LiteLLM, nunca auth.json de Codex.
  • INFERENCE_NUM_WORKERS y los límites de contexto/salida controlan consumo y concurrencia; aumenta estos valores sólo después de medir memoria y cuota.

Chrome se ejecuta con --no-sandbox; por eso no debe exponerse a redes externas.

Requisitos

  • Docker Compose
  • Red externa proxy
  • Un archivo .env local con dominio, secretos de NextAuth y Meilisearch, y la configuración opcional de inferencia
  • Directorios persistentes bajo /opt/karakeep

Despliegue

cd karakeep
docker compose --env-file .env config
docker compose --env-file .env up -d

Operación

docker compose --env-file .env ps
docker compose --env-file .env logs -f karakeep

El registro de usuarios se controla con DISABLE_SIGNUPS en .env.