Skip to content
BotServBotServ
NocoDBAirtableDatenbankNo-CodeSelf-HostingOpen SourceREST-API

NocoDB self-hosted: Airtable-Alternative als No-Code-Datenbank

NocoDB self-hosten: Airtable-Alternative, Spreadsheet-Datenbank, REST-API, n8n-Integration und KI-Anbindung für strukturierte Daten.

S

schutzgeist

3 min read
NocoDB self-hosted

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

ToolStärkeSchwäche
NocoDBOpen Source, REST-API, Airtable-kompatibelKeine echten Formeln
AirtableAusgereifter, FormelnCloud, teuer, Daten in US
BaserowÄhnlich, auch Open SourceKleineres Ökosystem
Postgres direktMächtigerKeine UI für Nicht-Techniker
SupabasePostgres + Auth + RealtimeKomplexer, mehr Dev-Tool

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?

NocoDB wenn Du self-hosten willst und Datenschutz zählt: Open Source, eigene Datenbank, kostenlos. Airtable ist ausgereifter (Formeln, Automations) aber Cloud und teuer.

Welche Datenbank dahinter?

NocoDB nutzt Postgres, MySQL oder SQLite als Speicher. Für kleine Setups reicht eingebautes SQLite; für Teams Postgres im gleichen Compose-Stack.

Hat NocoDB eine API?

Ja, vollständige REST-API (v2) mit CRUD, Filtern, Sortierung. Plus Webhooks für Änderungen. Das macht es zum idealen Daten-Hub für Automatisierung.

Wie verbinde ich NocoDB mit KI?

Typisch: n8n oder eigenes Skript holt Datensätze per API → Ollama klassifiziert/summarizes → schreibt Ergebnis zurück in NocoDB-Felder. KI als Daten-Anreicherer.

Wo sind die Grenzen?

Keine echten Formel-Spalten wie Airtable, keine komplexe Business-Logik. Für das brauchst Du Supabase/Postgres mit eigenem Code oder ein CRM wie Twenty.

Mehrere Benutzer?

Ja: Benutzer und Rollen (Owner, Creator, Editor, Viewer). Für kleine Teams komplett ausreichend; SSO/LDAP gibt’s in der Enterprise-Version.

Quellen und weiterführende Literatur

Zurück zum KI Blog
Share:

Ähnliche Beiträge