Memory of the AI agents as a knowledge graph: Cognee ingests documents and conversations (add), extracts entities and relations with the LLM into a graph (cognify) and answers semantic, graph and GraphRAG searches over it. Each dataset gets its own graph file and vector schema; users, tenants and dataset permissions isolate the spaces. LLM and embedding calls go through the LiteLLM gateway of the platform.
Generated from catalog/services/cognee.yaml: do not edit by hand.
Summary
| |
|---|
| Version | 1.6.6 |
| Use | install and configure, configure and connect |
| Layer | functional (AI catalog) |
| Category | AI memory |
| Subcategory | Knowledge graph and GraphRAG |
| Installation methods | python, podman |
| External connection | no |
| Sandbox only | no |
Licence
| |
|---|
| SPDX identifier | Apache-2.0 |
| Licence policy | core licence (MIT or Apache-2.0) |
| Licence exception | - |
| Licence note | Cognee 1.6.6 (tag v1.6.6, commit df2b4facd7c1, wheel cognee-1.6.6-py3-none-any.whl sha256 bee551bd81c8f619acfc345088a4601b694ff941b80feaee52e4e03a25834408), the UI (cognee-frontend) and the MCP server (cognee-mcp 0.5.7) of the same repository under its Apache-2.0 LICENSE; LadybugDB 0.19.0 (embedded graph engine, fork of Kuzu) is MIT. Every Python dependency of the release is under an OSI licence (MIT, BSD, Apache-2.0, ISC, MPL-2.0, PSF-2.0, Unlicense, LGPL-3.0 with exceptions for psycopg2). Cognee Cloud, the GLiNER demo extractor, Neo4j, Neptune and the cloud recipes of distributed/deploy are neither installed nor configured. |
| Platform component | cognee |
Packages and artifacts
A package the project of the service publishes (its image, its binary archive, its Python or OS package) carries the licence of the service; a third-party package carries the licence written on its row, read from the official upstream metadata.
| Kind | Package | Version | Licence | Details |
|---|
| container image | docker.io/cognee/cognee | 1.6.6 | Apache-2.0 | image key cognee, used by api, digest sha256:e3db1d4d2f4b8f1fa3cc74c7d8e01151f60ac0aa9e63957d277068c89e25970e |
| container image | docker.io/cognee/cognee-ui | 1.6.6 | Apache-2.0 | image key cognee-ui, used by ui, digest sha256:dd569dab8646e5ee6568f2fa9ea4e928937594beda57f316bc243e4514e09e8d |
| container image | docker.io/cognee/cognee-mcp | main-df2b4fa | Apache-2.0 | image key cognee-mcp, used by mcp, digest sha256:7b308820d37b21d8f64b2ec3db2fec6a12aee13c92e442b7ee3b240e027d7bdc |
| Python package | cognee[api,postgres-binary,tracing] | 1.6.6 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | ladybug | 0.19.0 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | gunicorn | 23.0.0 | MIT | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | uvicorn | 0.53.0 | BSD-3-Clause | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | fastapi | 0.141.1 | MIT | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | fastapi-users | 15.0.5 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | litellm | 1.105.0 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | openai | 2.54.0 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | sqlalchemy | 2.0.54 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | alembic | 1.20.0 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | asyncpg | 0.31.0 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | psycopg2-binary | 2.9.13 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | pgvector | 0.3.6 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | opentelemetry-sdk | 1.44.0 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | opentelemetry-exporter-otlp-proto-http | 1.44.0 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | langdetect | 1.0.9 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
| Python package | pixeltable-pgserver | 0.7.1 | Apache-2.0 | interpreters, in order of preference python3.12, python3.11, python3.13 |
Images are pinned by tag in the descriptor, and by digest when the descriptor declares one (the offline bundle then refuses a pulled image that does not carry it); the digest is recorded in the mirror of the Manager when the offline bundle is imported, and every pull or load is checked against it.
Supported systems and architectures
| Method | Operating systems | Architectures |
|---|
python | RHEL family (dnf), Debian family (apt), Arch Linux (pacman) | x86_64, aarch64 (not restricted by the descriptor) |
podman | RHEL family (dnf), Debian family (apt), Arch Linux (pacman) | x86_64, aarch64 (not restricted by the descriptor) |
Certified host systems: RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). The host preflight accepts these systems (other releases of a known family give a warning, end of life releases are refused) and the x86_64 and aarch64 architectures.
Prerequisites
Host
- at least 4096 MB of memory (blocking,
memory).
- at least 8192 MB of memory (warning,
memory_comfort).
- at least 2 CPU (blocking,
cpu).
- at least 10240 MB free for
/var/lib/navin (blocking, disk).
Network and ports
| Component | Port name | Port | Opened in the host firewall |
|---|
api | api | 8420/tcp | yes |
api | api_local | 8420/tcp | no |
ui | ui | 8421/tcp | yes |
mcp | mcp | 8422/tcp | no |
Services and connections needed
Details and resolution: see Dependencies.
Installation methods and modes
| Method | Default | What the method uses |
|---|
python | yes | a Python virtual environment holding the Python packages of the descriptor |
podman | - | the container images of the descriptor, run by Podman under systemd |
Components
| Component | Kind | Installation methods | Ports |
|---|
Cognee API (api) | master | python, podman | 8420/tcp, 8420/tcp |
Cognee UI (ui) | master | podman | 8421/tcp |
Cognee MCP server (mcp) | master | podman | 8422/tcp |
Single server (single) (default)
One API (one gunicorn worker) owning the LadybugDB files of the host, with the optional UI and MCP server next to it.
What the mode deploys:
| Component | Placement |
|---|
api | min 1, max 1 |
ui | min 1, max 1 |
mcp | min 1, max 1 |
Install this service
The install wizard of the Navin Manager plans, validates and runs the installation; you need the services:install permission on the cluster.
-
Open the wizard. In Clusters, choose the row action Install services of the target cluster. The wizard opens on its first step, Service.
-
Choose the service. On the Service step, select Cognee. The card shows the licence Apache-2.0 and the dependencies the installation needs. Pick the Method among python, podman (default python).
-
Choose the hosts and the mode. On the Hosts step, tick the hosts, then choose the Mode: single (default). Each mode deploys the components listed in Installation methods and modes. With several components, place each one on its hosts in Component placement (Suggest placement proposes a placement that respects the cardinalities).
-
Bind the dependencies. On the Bindings step, choose for each dependency (database, llm, otel) Install with the platform or Use an existing connection; an optional dependency can stay on No binding.
-
Configure. On the Configure step, review the parameters (see Configuration parameters). Passwords left empty with a generated default are generated and sealed by the Manager.
-
Review and install. On the Install step the Manager validates the plan and shows the installation order; when it says "The plan is valid. Ready to install.", choose Install. A highly available mode is installed only when its HA checks pass.
-
Verify. The operation ends when the health checks of every instance pass (see Health checks); the service then shows as running in Services. Open the service and choose Run the smoke test in the Checks card: In a dataset of its own (navin-smoke-<nonce>): checks that a call without key and a public registration are refused, adds two texts, runs cognify (LLM graph extraction and embeddings), finds a chunk by semantic search, asks a graph completion, reads the graph of the dataset, then deletes the dataset whatever happened.
Connect an existing service
| |
|---|
| Schemes | https, http |
| Default port | 8000 |
| Authentication | required |
| Health check | /health |
| Authentication method | Fields | Description |
|---|
api_key | api_key | API key of a Cognee user (POST /api/v1/auth/api-keys), sent as X-Api-Key; the server must run with REQUIRE_AUTHENTICATION and ENABLE_BACKEND_ACCESS_CONTROL true. |
Official documentation: https://docs.cognee.ai/http_api
High availability
Topology per mode
| Modes | Highest catalog level | Distribution | Quorum component | Fault domains | Description |
|---|
single | standalone (standalone) | single (single) | - | 1 | One API owning the embedded LadybugDB graph files: its loss stops the memory API until it is restarted or restored; the relational metadata and the vectors stay in PostgreSQL. |
Notes
- Standard profile (PostgreSQL with pgvector and embedded LadybugDB): single instance only. LadybugDB is an embedded engine whose files are locked by one process (the official entrypoint runs one gunicorn worker); two APIs would each hold a different graph. No distributed or replicated mode is offered.
- External graph backends are not offered: Neo4j, Neo4j Aura and Neptune are excluded (licence or cloud service), and the PostgreSQL graph backend of Cognee 1.6.6 (postgres_demo) is a demo the source code calls not production ready. Turso is not a validated backend of the platform.
- With the highly available PostgreSQL service, a lost host is replaced by a reinstall and the restore of the last backup (dump, LadybugDB files and data root taken together).
- The API exposes no metrics endpoint (no Prometheus route in 1.6.6): the observability uses blackbox probes of /health and the authenticated service check; traces go to OpenTelemetry when bound.
Configuration parameters
Network
| Parameter | Type | Default | Allowed values | Required | Secret | Restart | Description |
|---|
API port (port) | port | 8420 | min 1024 | no | no | yes | Port of the REST API (8000 upstream, moved off the ports of vLLM and of the other services). |
API exposure (listen_scope) | enum | network | network, local | no | no | yes | network: the API listens on the private address of the host only (never on every address) and the host firewall opens it to the consumers; local: loopback only, for consumers on the same host. It is never published by a gateway. |
TLS (tls_enabled) | bool | false | - | no | no | yes | Serve the API over TLS (gunicorn --certfile and --keyfile) with the certificate the Manager issues to the host; the binding of the consumers then uses https and the authentication cookie is secure only. |
UI public address (public_url) | string | (empty) | ^(|https?://[A-Za-z0-9.-]+(:[0-9]{1,5})?)$ | no | no | yes | Address the users open for the UI behind the gateway, for example https://cognee.bank.internal: it is the only origin allowed by the CORS rules of the API (credentials included) and, in https, the authentication cookie is secure only. Empty: the address of the UI port of the host. |
Request timeout (request_timeout_s) | int | 3600 | min 60, max 86400, seconds | no | no | yes | Seconds a request may run before gunicorn restarts the worker (--timeout): a synchronous cognify of a large dataset is long. |
Models
| Parameter | Type | Default | Allowed values | Required | Secret | Restart | Description |
|---|
LLM (llm_model) | string | qwen-local | ^[A-Za-z0-9._:/@-]{1,128}$ | no | no | yes | Model name of the gateway used for the graph extraction (JSON structured output), the summaries and the answers; default qwen-local, the default served model name of a vLLM engine bound to LiteLLM (the gateway has no default entry, audit P5B-010). |
LLM answer tokens (llm_max_tokens) | int | 4096 | min 256, max 131072 | no | no | yes | Largest completion of one LLM call (LLM_MAX_COMPLETION_TOKENS, 16384 upstream): keep it within the context of the local model. |
Embedding model (embedding_model) | string | bge-m3 | ^[A-Za-z0-9._:/@-]{1,128}$ | no | no | yes | Embedding model name of the gateway (OpenAI compatible /v1/embeddings, no dimensions parameter sent); default bge-m3, served by a vLLM engine in embedding mode bound to LiteLLM. |
Vector size (embedding_dimensions) | int | 1024 | min 64, max 16000 | no | no | yes | Size of the vectors the embedding model returns (1024 for bge-m3): the vector columns of the datasets are created with it. Changing it needs new datasets (or a restore into an empty installation). |
Embedding input tokens (embedding_max_tokens) | int | 8192 | min 128, max 131072 | no | no | yes | Tokens the embedding model accepts per input (EMBEDDING_MAX_COMPLETION_TOKENS, 8192 for bge-m3): the chunks are limited to it. Token counts use the bundled tiktoken encodings: no tokenizer is downloaded. |
Gateway key (llm_api_key) | password | (empty) | - | no | yes | no | LiteLLM virtual key of Cognee (sk-...), the way to meter and cap its spend; empty, the master key of the bound gateway is used. |
LLM rate limit (llm_requests_per_minute) | int | 0 | min 0, max 100000 | no | no | yes | LLM and embedding calls per minute of the whole installation (LLM_RATE_LIMIT_* and EMBEDDING_RATE_LIMIT_*); 0: no limit of Cognee, the gateway still applies the limits of its key. |
Processing and limits
| Parameter | Type | Default | Allowed values | Required | Secret | Restart | Description |
|---|
Chunk size (chunk_size) | int | 1500 | min 100, max 32000 | no | no | yes | Default size of the chunks cognify cuts the documents into (CHUNK_SIZE, in tokens; a request may give its own chunk_size). |
Chunk overlap (chunk_overlap) | int | 10 | min 0, max 2000 | no | no | yes | Tokens repeated between two consecutive chunks (CHUNK_OVERLAP). |
Concurrent pipelines (max_concurrent_pipelines) | int | 2 | min 1, max 64 | no | no | yes | Datasets processed at once by the dataset queue (DATASET_QUEUE_MAX_CONCURRENT); the others wait. cognify is CPU and memory heavy (parsing, chunking, graph merge in the embedded LadybugDB worker): raise it only with the memory to match. (recommended clamp(floor(host.cpu_count / 4), 1, 16)) |
Graph buffer pool (graph_buffer_pool_mb) | int | 512 | min 64, max 65536, MB | no | no | yes | Buffer pool of each open LadybugDB graph (KUZU_BUFFER_POOL_SIZE): the memory reserved per dataset graph being read or written. |
Automatic feedback (auto_feedback) | bool | false | - | no | no | yes | Analyse every answered search of a session with one more structured LLM call to keep guidance in the session (AUTO_FEEDBACK, on upstream); off by default to halve the LLM cost of the searches. |
API keys per user (max_api_keys_per_user) | int | 10 | min 1, max 100 | no | no | yes | Quota of API keys a user may create (MAX_USER_API_KEYS). |
Storage and retention
| Parameter | Type | Default | Allowed values | Required | Secret | Restart | Description |
|---|
Session retention (session_ttl_days) | int | 7 | min 1, max 3650, days | no | no | yes | Days the question and answer history of a search session is kept in the session cache (SESSION_TTL_SECONDS); the datasets, graphs and vectors are kept until they are deleted through the API. |
UI and MCP
| Parameter | Type | Default | Allowed values | Required | Secret | Restart | Description |
|---|
Web UI (ui_enabled) | bool | false | - | no | no | yes | Run the official UI (cognee-ui, Next.js, method podman only) next to the API: login with the account of the administrator, datasets, graph explorer and searches. The browser calls the API directly, so the API must be reachable from the users (listen_scope network). |
UI port (ui_port) | port | 8421 | min 1024 | no | no | yes | Port of the UI (plain HTTP: publish it through the TLS gateway of the platform). |
MCP server (mcp_enabled) | bool | false | - | no | no | yes | Run the official MCP server (cognee-mcp, method podman only) in API mode with the service API key: tools remember, recall, search and cognify for the agents of the same host. It has no authentication of its own, so it listens on the loopback of the host only. |
MCP port (mcp_port) | port | 8422 | min 1024 | no | no | yes | Port of the streamable HTTP endpoint /mcp of the MCP server, 127.0.0.1 of the host only. |
Security
| Parameter | Type | Default | Allowed values | Required | Secret | Restart | Description |
|---|
Administrator e-mail (admin_email) | string | cognee-admin@navin.internal | ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ | no | no | no | Login of the default user of Cognee (DEFAULT_USER_EMAIL, superuser, owner of the service API key); the default_user@example.com account of the upstream code is never created. |
Administrator password (admin_password) | password | generated | - | no | yes | no | Password of the default user (DEFAULT_USER_PASSWORD), generated at each install: Cognee applies it once, to an account without password; afterwards it is changed in Cognee only (rotation by the administrator). |
Service API key (service_api_key) | password | generated | - | no | yes | no | API key of the default user installed by the launcher at each start (X-Api-Key header, stored hashed), given to the consumers as the api_key secret of the api endpoint and used by the MCP server and the smoke test; rotated by a new value and a restart. |
JWT secret (jwt_secret) | password | generated | - | no | yes | no | FASTAPI_USERS_JWT_SECRET signing the login tokens and cookies; changing it ends every session. |
Password reset secret (reset_password_secret) | password | generated | - | no | yes | no | FASTAPI_USERS_RESET_PASSWORD_TOKEN_SECRET of the password reset tokens. |
Verification secret (verification_secret) | password | generated | - | no | yes | no | FASTAPI_USERS_VERIFICATION_TOKEN_SECRET of the e-mail verification tokens. |
API key salt (api_key_salt) | password | generated | - | no | yes | no | API_KEY_HASH_SALT of the stored API keys (HASH_API_KEY on); changing it invalidates every API key but the service one, which the launcher reinstalls. |
Login lifetime (token_lifetime_minutes) | int | 60 | min 5, max 1440, minutes | no | no | yes | Lifetime of a login token or cookie (JWT_LIFETIME_SECONDS). |
Open registration (allow_registration) | bool | false | - | no | no | yes | Let anyone who reaches the API create an account (POST /api/v1/auth/register, open upstream). Off: the launcher answers 403 unless the request carries the service API key, so the accounts are created by the administrator or by Navin Enterprise. |
Ingestion by URL (allow_url_ingestion) | bool | false | - | no | no | yes | Let add fetch web pages and clone repositories given as URLs (ALLOW_HTTP_REQUESTS; private addresses stay refused by the SSRF protection of Cognee). Off: only uploaded files and texts. |
Cypher queries (allow_cypher) | bool | false | - | no | no | yes | Allow the search type CYPHER (raw graph queries, ALLOW_CYPHER_QUERY, off upstream). |
Observability
| Parameter | Type | Default | Allowed values | Required | Secret | Restart | Description |
|---|
Log level (log_level) | enum | WARNING | ERROR, WARNING, INFO, DEBUG | no | no | no | Verbosity of Cognee and of gunicorn (LOG_LEVEL). |
Tracing (tracing_enabled) | bool | false | - | no | no | yes | Export the OpenTelemetry spans of Cognee (COGNEE_TRACING_ENABLED) to the bound OpenTelemetry collector (OTLP over HTTP, python method only). |
Dependencies
For each active dependency the Manager takes the first of: the binding chosen in the wizard; a service of the same installation that provides it; a service already installed in the cluster; the only connection of the expected type. Otherwise an optional dependency stays unbound, and a required one is added to the installation in its default mode (the column below names the catalog service added).
| Binding | Provided by | Connection type | Endpoint | Optional | When nothing is bound | Description |
|---|
database | postgresql (versions >= 14) | postgresql | sql | no | postgresql is added to the installation | Dedicated database cognee: users, datasets, permissions and pipeline state (alembic migrations) and the pgvector collections of every dataset in its own schema ds_<dataset> of the same database. The provisioning creates the role cognee, owner of this database only (no superuser, no CREATEDB), and the vector extension. |
llm | litellm | - | api | no | litellm is added to the installation | OpenAI compatible gateway of the LLM (graph extraction, summaries, answers) and of the embedding model; the vLLM and Ollama engines of the Manager are reached through it. The launcher refuses to start when the gateway does not list both models. |
otel | otel-collector | - | otlp_http | yes | stays unbound (optional) | OpenTelemetry traces of the pipelines and searches (OTLP over HTTP, python method only: the official image has no OpenTelemetry SDK). |
Checks of the bound endpoints
- the endpoint
/v1/models of the binding llm answers with the status 200 and lists the values of llm_model, embedding_model, checked by the Manager before the installation (blocking, llm_models).
Endpoints
| Endpoint | Scheme | Component | Port | Path | TLS parameter | Binding parameters | Binding secrets | Provisioning command |
|---|
api | http | api | 8420 (port) | /api/v1 | tls_enabled | admin_email, graph_backend, vector_backend, access_control, embedding_dimensions | api_key | - |
Client configuration files
Files rendered for the client configuration download:
cognee.env (client.env.j2)
Commands
| Command | Component | Target | Description |
|---|
Detailed health (health_detailed) | api | first host | Health of every store and of the model gateway as the API sees it (GET /health/detailed: relational, vector, graph, file storage, LLM and embedding). |
Apply the migrations (migrate) | api | first host | Applies the relational migrations (alembic) and the graph and vector revisions of the release (cognee-cli upgrade, also done at every start of the API). Method python; with podman the API applies them at its start. |
Recent logs (logs) | api | chosen host | Last lines of the API journal. |
UI logs (ui_logs) | ui | chosen host | Last lines of the UI journal. |
MCP logs (mcp_logs) | mcp | chosen host | Last lines of the MCP server journal. |
Health checks
Liveness (per instance)
| Component | Check | Details |
|---|
api | HTTP {{ 'https' if config.tls_enabled else 'http' }}://{{ host.fqdn if config.tls_enabled and config.listen_scope == 'network' else ((host.ip or '127.0.0.1') if config.listen_scope == 'network' else '127.0.0.1') }}:{{ config.port }}/health | Expected 200; Expected "status":"ready"; 120 retries; interval 3 s; timeout 10 s |
ui | HTTP http://{{ host.ip or '127.0.0.1' }}:{{ config.ui_port }}/api/runtime-config | Expected 200; 60 retries; interval 2 s; timeout 5 s |
mcp | TCP 127.0.0.1:{{ config.mcp_port }} | 60 retries; interval 2 s; timeout 5 s |
Readiness (service check)
| Check | Details |
|---|
{{ (paths.opt ~ '/venv/bin/python') if service.method == 'python' else '/usr/bin/python3' }} {{ paths.opt }}/app/navin_cognee.py check {{ paths.etc }}/api.env {{ 'https' if config.tls_enabled else 'http' }}://{{ host.fqdn if config.tls_enabled and config.listen_scope == 'network' else ((host.ip or '127.0.0.1') if config.listen_scope == 'network' else '127.0.0.1') }}:{{ config.port }}/api/v1/datasets {{ tls.ca_file if config.tls_enabled else '' }} | 10 retries; interval 3 s; timeout 15 s |
Smoke test
In a dataset of its own (navin-smoke-<nonce>): checks that a call without key and a public registration are refused, adds two texts, runs cognify (LLM graph extraction and embeddings), finds a chunk by semantic search, asks a graph completion, reads the graph of the dataset, then deletes the dataset whatever happened. (api: refused_without_key, no_anonymous_account, add, cognify, semantic_search, graph_completion, graph, cleanup)
Preflight checks
| Check | Type | Meaning | Severity | Components |
|---|
memory | memory_mb {"min": 4096} | at least 4096 MB of memory | blocking | api |
memory_comfort | memory_mb {"min": 8192} | at least 8192 MB of memory | warning | api |
cpu | cpu_count {"min": 2} | at least 2 CPU | blocking | api |
disk | disk_free_mb {"min": 10240} | at least 10240 MB free for /var/lib/navin | blocking | api |
api_port_free | port_free {"param": "port"} | port 8420 free on the host | blocking | api |
ui_port_free | port_free {"param": "ui_port"} | port 8421 free on the host, only when ui_enabled is true | blocking | ui |
mcp_port_free | port_free {"param": "mcp_port"} | port 8422 free on the host, only when mcp_enabled is true | blocking | mcp |
llm_models | http_reachable {"binding": "llm", "path": "/v1/models", "bearer_secret": "token", "contains_params": ["llm_model", "embedding_model"], "timeout_s": 10} | the endpoint /v1/models of the binding llm answers with the status 200 and lists the values of llm_model, embedding_model, checked by the Manager before the installation | blocking | api |
Backup and restore
The API is stopped first (its shutdown checkpoints the write ahead log of every LadybugDB file), then pg_dump (custom format, without owner nor privilege) of the dedicated database (relational metadata and the pgvector schema of every dataset) and tar archives of the system root (LadybugDB graph files, session cache) and of the data root (stored documents), with a manifest of their sha256; the API is started again. verify checks every sha256, reads the table of contents of the dump and every member of both archives. Restore, API stopped: in one transaction DROP OWNED BY the role of Cognee and the objects of the dump (the vector extension stays the one of the provisioning), then both roots are replaced.
| |
|---|
| Format | cognee-pgdump-ladybug |
| Component | api |
| Files | {{ backup.dir }}/cognee.dump, {{ backup.dir }}/system.tar.gz, {{ backup.dir }}/data.tar.gz, {{ backup.dir }}/manifest.json |
| Restore test | yes |
| Instances stopped for the restore | yes |
Upgrade
| |
|---|
| Supported from | |
| Stateful | yes |
| Backup before the upgrade | yes |
| Rollback | no (The migrations of Cognee (alembic and the revisions of the LadybugDB storage format) only go forward and the Manager never downgrades them: the way back is the restore of the backup taken before the upgrade.) |
Uninstall
Paths removed when the data is purged: {{ paths.data }}, {{ paths.log }}.
Quick links
- API reference:
{{ 'https' if config.tls_enabled else 'http' }}://{{ host.fqdn }}:{{ config.port }}/docs
- Cognee UI:
{{ (config.public_url ~ '/dashboard') if config.public_url else ('http://' ~ host.fqdn ~ ':' ~ config.ui_port ~ '/dashboard') }}
Upstream documentation