← Zurück zur Übersicht NocoDB mit Docker Compose: Eigene No-Code-Datenbank lokal auf Port 8080 starten

NocoDB mit Docker Compose: Eigene No-Code-Datenbank lokal auf Port 8080 starten

NocoDB mit Docker Compose: Eigene No-Code-Datenbank lokal auf Port 8080 starten

Wenn sich fuer diese Nacht kein starkes, sauber belegtes News-Thema ueber die juengsten Artikel legen laesst, sollte der Ersatz nicht beliebig sein. NocoDB ist hier ein brauchbarer Fallback, weil das Ergebnis sofort sichtbar wird: eine tabellenartige Weboberflaeche im Browser, lokal auf dem eigenen Docker-Host.

Stand: 15. Mai 2026, 00:00 Uhr CEST. Die aktuelle Quellenlage ist klar genug fuer ein reproduzierbares Setup. Die offizielle Self-Hosting-Doku fuehrt den Compose-Weg ueber nocodb/docker-compose/2_pg, die Referenzdatei koppelt NocoDB an PostgreSQL, GitHub markiert 2026.05.0 seit dem 8. Mai 2026 als neueste Release, und Docker Hub fuehrt dazu passend den Tag nocodb/nocodb:2026.05.0. Genau darauf pinne ich dieses Tutorial bewusst, statt latest unkontrolliert mitzuziehen.

Lokal erzeugtes Artikelbild fuer NocoDB mit Docker Compose

Was du am Ende hast

  • NocoDB lokal unter http://127.0.0.1:8080
  • Einen kleinen Compose-Stack mit NocoDB und PostgreSQL
  • Zwei persistente Ordner fuer App-Daten und Datenbank
  • Klare Pruefschritte mit docker compose, Logs und curl

Voraussetzungen

  • Docker Engine und docker compose sind installiert
  • Port 8080 ist auf dem Host frei
  • Du arbeitest in einem neuen Projektordner statt in einem alten Compose-Verzeichnis

Die NocoDB-Doku schreibt an einigen Stellen noch docker-compose. Ich nutze hier das aktuelle Compose-Plugin mit docker compose, weil das auf heutigen Docker-Installationen die saubere Standardform ist.

1. Arbeitsordner anlegen

Sauber anfangen, nicht in irgendeinem bestehenden Stack herumkonfigurieren:

mkdir nocodb-local && cd nocodb-local
mkdir nc-data db-data

Damit liegen App-Daten und PostgreSQL-Daten spaeter sichtbar im Projektordner und nicht in einem schwerer auffindbaren Standardpfad.

2. Passwort fuer PostgreSQL festlegen

NocoDB verbindet sich im offiziellen Compose-Beispiel ueber die Umgebungsvariable NC_DB mit PostgreSQL. Das Passwort muss deshalb an zwei Stellen identisch sein: bei POSTGRES_PASSWORD und im Verbindungsstring.

Ein brauchbarer Startwert laesst sich lokal so erzeugen:

openssl rand -base64 24

Kopiere den erzeugten Wert gleich in die Compose-Datei an die beiden markierten Stellen.

3. Compose-Datei erstellen

Lege jetzt die Datei nocodb-local/compose.yaml an:

services:
  root_db:
    image: postgres:16.6
    container_name: nocodb-postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: root_db
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: change-this-postgres-password
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U \"$${POSTGRES_USER}\" -d \"$${POSTGRES_DB}\""]
      interval: 10s
      timeout: 2s
      retries: 10
    volumes:
      - ./db-data:/var/lib/postgresql/data

  nocodb:
    image: nocodb/nocodb:2026.05.0
    container_name: nocodb
    restart: unless-stopped
    depends_on:
      root_db:
        condition: service_healthy
    environment:
      NC_DB: "pg://root_db:5432?u=postgres&p=change-this-postgres-password&d=root_db"
    ports:
      - "127.0.0.1:8080:8080"
    volumes:
      - ./nc-data:/usr/app/data

Warum genau diese Werte?

  • nocodb/nocodb:2026.05.0 pinnt auf die aktuell verifizierte Release statt auf ein bewegliches latest
  • postgres:16.6 uebernimmt den Datenbankstand aus der offiziellen Compose-Referenz
  • 127.0.0.1:8080:8080 haelt den Dienst lokal, bis du ihn bewusst ueber Reverse Proxy oder Heimnetz freigibst
  • ./nc-data und ./db-data sorgen dafuer, dass App-Zustand und Datenbank Neustarts ueberleben

4. Stack starten

Jetzt Images ziehen und den Stack im Hintergrund hochfahren:

docker compose pull
docker compose up -d

Beim ersten Lauf braucht PostgreSQL ein paar Sekunden, bis der Healthcheck gruen wird und NocoDB startet.

5. Funktion pruefen

Bevor du im Browser klickst, pruefst du einmal sauber den Zustand:

docker compose ps
docker compose logs --tail=100 root_db
docker compose logs --tail=100 nocodb
curl -I http://127.0.0.1:8080

Wenn alles passt, siehst du zwei laufende Dienste und bei curl eine erfolgreiche HTTP-Antwort oder einen Redirect. Genau das ist hier der sinnvolle Verifikationspunkt: Der Stack laeuft nicht nur als Containerliste, sondern antwortet bereits im Browserpfad.

6. Erster Start im Browser

Oeffne jetzt:

http://127.0.0.1:8080

Damit landest du direkt in der Weboberflaeche. Das sichtbare Ergebnis ist nicht bloss ein Admin-Login ohne Nutzwert, sondern eine echte Arbeitsoberflaeche fuer Tabellen, Felder und spaetere Datenquellen.

Fuer einen ersten Funktionstest reichen drei kurze Schritte:

  1. Workspace oder Projekt anlegen.
  2. Eine erste Tabelle erstellen.
  3. Zwei bis drei Felder wie Name, Status und Faelligkeit hinzufuegen.

Danach ist die Kernidee von NocoDB sofort greifbar: du arbeitest im Browser mit einer no-code-orientierten Tabellenoberflaeche, aber in der eigenen Infrastruktur.

7. Warum NocoDB als Compose-Fallback taugt

Viele Docker-Tutorials enden bei "Container laeuft". NocoDB ist staerker, weil der praktische Nutzen unmittelbar sichtbar wird:

  • du bekommst eine nutzbare Oberflaeche statt nur ein Technikgeruest
  • PostgreSQL liegt bereits im Stack und nicht in einer spaeteren To-do-Liste
  • die lokale Bindung auf 127.0.0.1 verhindert unnoetig offene Ports
  • du kannst spaeter immer noch Reverse Proxy, Domain oder externe Datenquellen ergaenzen

Gerade fuer kleine interne Tools, Redaktionslisten, Inventar, CRM-Skizzen oder Projekttracking ist das deutlich brauchbarer als noch ein abstrakter Compose-Grundlagenpost.

8. Wichtiger Lizenzhinweis

Die offizielle Self-Hosting-Doku weist darauf hin, dass NocoDB fuer interne Self-Hosting-Nutzung gedacht ist, waehrend das Anbieten als gehosteter Dienst fuer Dritte oder die Einbettung in ein kommerzielles SaaS-Angebot gesonderte Lizenzfragen ausloesen kann. Fuer private oder interne Nutzung ist das hier unkritisch, fuer Weiterverkauf oder Reselling solltest du die Lizenzbedingungen vorher sauber lesen.

9. Sinnvolle Alltagsbefehle

Fuer Logs, Updates und Stoppen brauchst du am Anfang nur diese Kommandos:

docker compose logs -f nocodb
docker compose logs -f root_db
docker compose pull
docker compose up -d
docker compose down

Die Daten bleiben dabei in ./nc-data und ./db-data erhalten.

Fazit

Wenn aktuelle News in dieser Nacht nicht sauber genug tragen, sollte der Ersatz wenigstens ein echtes Ergebnis liefern. Genau das schafft NocoDB: ein kleiner Compose-Stack, klare Datenhaltung, gepinnte Version und eine sichtbare Tabellenoberflaeche im Browser nach wenigen Minuten.

Fuer einen Docker-Compose-Fallback am 15. Mai 2026 ist das deutlich brauchbarer als der naechste generische Container-Text ohne konkrete Anwendung.

Quellen