topoteretes/cognee · Archived

cognee-docker

Use when the user wants to run cognee with Docker or docker compose — trying it out from the prebuilt image, starting the API server in a container, or bringing up the full stack (UI, MCP, Postgres, Neo4j) with compose profiles.

First seen Aug 18, 2026

Installation

$ npx skills add topoteretes/cognee --skill cognee-docker

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from topoteretes/cognee.

npx skills add topoteretes/cognee

Browse all from topoteretes/cognee

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 30.6K
License licenses
Default branch main
Open issues 219
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,648 B
  • docs SUMMARY.md 251 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 20 installs

SKILL.md

Start cognee from the Docker image

Fastest path: prebuilt image, one file

For a local try-out, do NOT clone or build anything. Follow docs/minimal-docker-compose.md: save this as docker-compose.yml in an empty directory:

services:
  cognee:
    image: cognee/cognee:main
    ports:
      - "8000:8000"
    environment:
      LLM_API_KEY: ${LLM_API_KEY:?set LLM_API_KEY to your OpenAI API key}
      # Single-user try-out: no auth, shared local databases.
      ENABLE_BACKEND_ACCESS_CONTROL: "false"

Then:

export LLM_API_KEY="sk-..."   # OpenAI key (default LLM + embedding provider)
docker compose up
curl http://localhost:8000/health

Interactive API reference: http://localhost:8000/docs. First requests:

echo "Cognee turns documents into AI memory." > note.txt
# remember = ingest + build the graph in one call (multipart form)
curl -X POST http://localhost:8000/api/v1/remember -F "[email protected]" -F "datasetName=main_dataset"
# recall = query it (JSON)
curl -X POST http://localhost:8000/api/v1/recall -H "Content-Type: application/json" \
  -d '{"query": "What does Cognee do?", "datasets": ["main_dataset"]}'

/api/v1/recall takes the question as query. It defaults searchtype to GRAPHCOMPLETION for backward compatibility — pass "searchtype": null to opt into auto-routing (the SDK recall() default). The difference is real: {"query": "Why does X?"} answers with GRAPHCOMPLETION, while the same query with "searchtype": null routes to GRAPHCOMPLETION_COT.

Request DTOs accept both snakecase and camelCase for every field (aliasgenerator=tocamel + populatebyname in cognee/api/DTO.py), so searchtype and searchType are equally valid.

The legacy /api/v1/add + /api/v1/cognify + /api/v1/search endpoints still exist and are what remember/recall call underneath; use them only when you need a single stage on its own. /api/v1/improve and /api/v1/forget complete the memory API.

Data lives inside the container by default. To persist it, set DATAROOTDIRECTORY=/cognee-data/data and SYSTEMROOTDIRECTORY=/cognee-data/system and mount a named volume at /cognee-data (full example in docs/minimal-docker-compose.md).

Full stack from the repo

The repository's docker-compose.yml builds from source and adds opt-in profiles. From the repo root (needs a .env with at least LLMAPIKEY; copy .env.template):

docker compose up                                  # API server only, port 8000
docker compose --profile ui up                     # + frontend on port 3000
docker compose --profile mcp up                    # + MCP server on port 8001
docker compose --profile postgres --profile neo4j up   # + databases

Postgres profile: pgvector/pg17, user/password/db cognee/cognee/cogneedb on 5432. Neo4j profile: neo4j/pleaseletmein on 7474/7687. When cognee runs in a container and the database on the host, use DBHOST=host.docker.internal.

Gotchas

  • With ENABLEBACKENDACCESS_CONTROL unset (defaults to true), every API

call requires authentication — the single-user try-out sets it to false.

  • The image defaults to OpenAI for both LLM and embeddings; configuring only

one of them leaves the other on OpenAI, so keep a valid OpenAI key or configure both (see the cognee-integrations skill).