NocoDB self-hosted: Airtable-Alternative als No-Code-Datenbank
Was dieser Artikel behandelt
- Was NocoDB ist: Airtable/Open-Source-Alternative als Spreadsheet-Datenbank.
- Docker-Setup und erste Basis.
- REST-API für Automatisierung und KI-Integration.
- n8n-Workflows mit NocoDB und Ollama.
- Wann NocoDB besser ist als Postgres direkt und wann nicht.
Einleitung
NocoDB ist die führende Open-Source-Alternative zu Airtable: eine Datenbank mit Spreadsheet-UI. Du legst Tabellen an wie in Excel, aber es ist eine echte Datenbank (Postgres/MySQL/SQLite drunter) mit REST-API, Views, Filter, Formularen, Webhooks.
Für KI-Workflows ist NocoDB praktisch: strukturierte Daten (Leads, Tickets, Dokumenten-Index) in einer UI pflegen, per API mit n8n/Ollama verbinden, ohne SQL zu schreiben.
Typische Anwendungsszenarien
- Ticket-System leicht: Eingehende Support-Anfragen als Tabelle; KI kategorisiert, n8n eskaliert.
- Content-Kalender: Artikel, Status, Kanäle: KI generiert Drafts in die Tabelle.
- Lead-Verwaltung: Kontakte tracken, KI schreibt Follow-up-Vorschläge.
- Dokumenten-Index: Metadaten zu PDFs/Dokumenten, KI taggt automatisch.
- Mini-CRM: Vor Twenty/dediziertem CRM, für kleine Teams oft ausreichend.
Installation: Docker
services:
nocodb:
image: nocodb/nocodb:latest
ports:
- "127.0.0.1:8081:8080"
environment:
- NC_DB=pg://db:5432?u=postgres&p=geheim&d=nocodb
- NC_AUTH_JWT_SECRET=langer-zufaelliger-string
depends_on: [db]
restart: always
db:
image: postgres:16
environment:
POSTGRES_DB: nocodb
POSTGRES_PASSWORD: geheim
volumes: [pg_data:/var/lib/postgresql/data]
restart: always
volumes:
pg_data:
Oder minimal mit eingebautem SQLite:
services:
nocodb:
image: nocodb/nocodb:latest
ports: ["127.0.0.1:8081:8080"]
volumes: [nc_data:/usr/app/data]
restart: always
volumes:
nc_data:
Erster User beim ersten Aufruf von http://localhost:8081 = Admin.
Grundlagen
- Base = Projekt/Datenbank
- Table = Tabelle mit Spalten-Typen (Text, Number, Date, Single/Multi-Select, Links, Attachments)
- Views: Grid, Kanban, Gallery, Form, pro Tabelle mehrere
- API-Token: Settings → API Tokens, für Automatisierung
- Webhooks: Bei Änderungen HTTP-Call auslösen → n8n
REST-API: Daten programmatisch nutzen
# Token erstellen in der UI, dann:
curl -H "xc-token: DEIN_TOKEN" \
"http://localhost:8081/api/v2/tables/TABLE_ID/records"
# Neuen Datensatz anlegen
curl -X POST -H "xc-token: DEIN_TOKEN" -H "Content-Type: application/json" \
-d '{"Name": "Max", "Status": "Neu"}' \
"http://localhost:8081/api/v2/tables/TABLE_ID/records"
Die API ist vollständig: CRUD, Filter (where=(Status,eq,Neu)), Sortierung, Pagination, alles was n8n oder eigene Skripte brauchen.
n8n-Integration
n8n hat einen nativen NocoDB-Node, aber HTTP-Request geht auch:
Webhook (Formular auf Website)
│
▼
Ollama-Node: Text klassifizieren (Kategorie, Priorität)
│
▼
NocoDB-Node: Datensatz anlegen mit KI-Kategorie
│
▼
Wenn Priorität=hoch → Telegram-Alert an Dich
Das ist der klassische „KI als Daten-Anreicherung”-Workflow: unstrukturierte Eingabe → KI strukturiert → in NocoDB landet sauberes Feld.
Praxisbeispiel: KI-Ticket-Triage
import requests
import ollama
NC = "http://nocodb:8081"
TOKEN = "dein-token"
HEADERS = {"xc-token": TOKEN}
TABLE = "tickets_table_id"
client = ollama.Client(host="http://ollama:11434")
def triage(text):
resp = client.chat(model="llama3.1:8b", messages=[{
"role": "user",
"content": f"Klassifiziere: Kategorie (Bug/Feature/Frage) + "
f"Priorität (niedrig/mittel/hoch). Antworte JSON.\n\n{text}"
}], format="json")
return resp["message"]["content"]
# Neue Tickets aus NocoDB holen (Status=Neu)
tickets = requests.get(f"{NC}/api/v2/tables/{TABLE}/records",
headers=HEADERS, params={"where": "(Status,eq,Neu)"}).json()["list"]
for t in tickets:
result = triage(t["Beschreibung"])
import json as j
data = j.loads(result)
requests.patch(f"{NC}/api/v2/tables/{TABLE}/records",
headers=HEADERS,
json={"Id": t["Id"], "Kategorie": data["kategorie"],
"Prioritaet": data["prioritaet"], "Status": "Triaigiert"})
Sicherheit
- JWT-Secret setzen (
NC_AUTH_JWT_SECRET), sonst unsicher generiert. - API-Tokens: Pro Integration eigenes Token, nicht das Admin-Token teilen.
- Login: Standardmäßig User+Passwort; für Teams SSO/LDAP möglich (Enterprise).
- HTTPS: Bei externem Zugriff Reverse Proxy mit TLS.
NocoDB vs. Alternativen
| Tool | Stärke | Schwäche |
|---|---|---|
| NocoDB | Open Source, REST-API, Airtable-kompatibel | Keine echten Formeln |
| Airtable | Ausgereifter, Formeln | Cloud, teuer, Daten in US |
| Baserow | Ähnlich, auch Open Source | Kleineres Ökosystem |
| Postgres direkt | Mächtiger | Keine UI für Nicht-Techniker |
| Supabase | Postgres + Auth + Realtime | Komplexer, mehr Dev-Tool |
Weiterführende Links
- IRC-Coding.de: Vertiefende Programmier-Tutorials: REST-APIs, Datenmodellierung.
- n8n: Workflow-Automatisierung.
- Nextcloud-Integration: Dateien dazu.
- Supabase: Wenn Du ein echtes Backend brauchst.
- Docker: Container-Grundlagen.
- Ollama: Lokale KI.
Key Takeaways:
- NocoDB = Open-Source-Airtable: Tabellen-UI + echte Datenbank + REST-API.
- Perfekt als strukturierte Datenschicht für KI-Workflows (KI füllt, Mensch prüft).
- Docker-Setup in Minuten, Postgres oder SQLite drunter.
- n8n hat nativen Node; REST-API für eigene Skripte.
- Für komplexe Logik ist Supabase/Postgres mächtiger: NocoDB ist die No-Code-Brücke.
FAQ
NocoDB oder Airtable?
Welche Datenbank dahinter?
Hat NocoDB eine API?
Wie verbinde ich NocoDB mit KI?
Wo sind die Grenzen?
Mehrere Benutzer?
Quellen und weiterführende Literatur
- NocoDB: GitHub.
- NocoDB Docs: Dokumentation.
- IRC-Coding.de: Programmier-Tutorials.


