44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
cd karakeep
|
|
docker compose --env-file .env config
|
|
docker compose --env-file .env up -d
|
|
```
|
|
|
|
## Operación
|
|
|
|
```bash
|
|
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`.
|