← All Reviews
SOLID

n8n Self-hosted AI Starter Kit

Claim tested

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.

Criteria Scorecard

CriterionScore
local_first8
self_healing9
zero_api_key8
readme_accuracy7
install_experience10
core_claim_verified10

Display this badge

RepoVerifier: SOLID
[![RepoVerifier: SOLID](https://repoverifier.dev/badges/solid.svg)](https://repoverifier.dev/reviews/n8n-io-self-hosted-ai-starter-kit)
<a href="https://repoverifier.dev/reviews/n8n-io-self-hosted-ai-starter-kit"><img src="https://repoverifier.dev/badges/solid.svg" alt="RepoVerifier: SOLID" height="20"></a>

Paste this in your repo’s README. Links back to the full review.

Environment

osmacOS Apple Silicon
docker28.3.2
test_userbalajiloganathan
ollama_modelllama3.1:8b
docker_composev2.38.2
ollama_locationhost (not Docker)

Full Review

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


Editor accessible at http://localhost:5678 within 60 seconds.

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)
This review follows RepoVerifier Standard v1.0. Read the standard →