- Certificate ID
- RV-15
- Published
- 10 Jun 2026
n8n-io / self-hosted-ai-starter-kit
Result: Solid
01 Claim tested
Claims one docker compose up brings up n8n, Qdrant, and Postgres. All three start, the sample agent workflow runs locally, but the demo defaults to OpenAI.
02 Measurements
| Criterion | Recorded |
|---|---|
| Local First | 8 |
| Self Healing | 9 |
| Zero Api Key | 8 |
| Readme Accuracy | 7 |
| Install Experience | 10 |
| Claim held | 10 |
Recorded before the five-criterion scorecard.
03 Environment
- os
- macOS Apple Silicon
- docker
- 28.3.2
- test_user
- balajiloganathan
- ollama_model
- llama3.1:8b
- docker_compose
- v2.38.2
- ollama_location
- host (not Docker)
As reported by the tester.
The version of the repo tested is recorded only if the tester listed it.
04 Observations
The official n8n self-hosted AI starter kit spins up n8n, Qdrant, and PostgreSQL together in one docker compose up. The infrastructure claim holds — all three services start cleanly, the pre-built AI agent workflow runs locally with ollama, and the full stack is production-ready out of the box. One gotcha: the demo workflow ships with OpenAI pre-configured, not Ollama. Swapping takes 2 minutes but is not in the quick start.
What Was Tested
Full stack deployment via Docker Compose on Apple Silicon Mac, with ollama running on host.
Environment:
- macOS Apple Silicon
- Docker 28.3.2 / Docker Compose v2.38.2
- ollama running on host with llama3.1:8b pulled
- balajiloganathan user (Docker available)
Install
git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
cd self-hosted-ai-starter-kit
cp .env.example .env
docker compose up
Three containers started cleanly:
- n8n (port 5678)
- Qdrant vector store
- PostgreSQL
What Worked
One command deployment: docker compose up started all three services without errors. No manual database setup, no volume configuration, no network wiring. Everything pre-configured in docker-compose.yml.
Pre-built AI agent workflow: Navigating to localhost:5678 showed a "Test a simple AI Agent example" option immediately. Pre-built workflow loaded with Chat trigger → Agent → Chat Model already wired.
Ollama integration: Swapped OpenAI node for Ollama Chat Model node. Set credential Base URL to http://host.docker.internal:11434 (ollama running on Mac host, not in Docker). Agent responded to "hi" in 2.432 seconds, 295 tokens. Zero API keys. Fully local.
Persistent storage: PostgreSQL backing n8n means workflows, credentials, and execution history survive container restarts. Production-ready by default.
Qdrant vector store: Qdrant container running and accessible. Ready to use as vector store for RAG workflows via n8n's built-in Qdrant nodes.
Honest Findings
Demo workflow ships with OpenAI, not Ollama: The pre-built "My first AI Agent" workflow has OpenAI Chat Model pre-configured. The setup wizard immediately asks for an OpenAI API key. The README mentions switching to Ollama in the tips section but not in the quick start steps. First-time users following quick start literally will hit a broken workflow before reaching this guidance.
Fix: delete the OpenAI Model node, add Ollama Chat Model node, set Base URL to http://host.docker.internal:11434, select model. Takes 2 minutes once you know.
host.docker.internal required for Mac ollama: When ollama runs on the Mac host (not in Docker), the credential Base URL must be http://host.docker.internal:11434 — not localhost. This is documented in the README for Mac users but easy to miss.
Docker image slightly behind latest n8n: "Critical update available — please update to version 1.121.0 or higher" shown on first login. The starter kit Docker image does not always track the latest n8n release immediately.
What Was Not Tested
- RAG workflows with Qdrant (document ingestion + retrieval)
- Scheduled automations with persistent PostgreSQL storage
- Production hardening (authentication, SSL, backups)
- GPU acceleration (not available on Apple Silicon via Docker)
05 Evidence
Founder's own run.
This review follows RepoVerifier Standard v1.0. Read the standard →