NocoBase auf Ubuntu 24.04 mit PostgreSQL selbst hosten

NocoBase auf Ubuntu 24.04 mit PostgreSQL selbst hosten

Atakan Öztarak - Content Engineer @sliplane.ioAtakan Öztarak
13 min

Du willst NocoBase als No-Code Plattform nutzen, aber lieber alles auf deiner eigenen Infrastruktur behalten? Wenn du NocoBase auf Ubuntu 24.04 mit PostgreSQL selbst hostest, bekommst du unlimitierte User, volle Datenkontrolle und keine Per-Seat Gebühren!

Du suchst was Einfacheres? Wenn du lieber auf Server-Management verzichtest und NocoBase in unter 5 Minuten für €9/Monat deployen willst, schau dir unseren Guide zum NocoBase Self-Hosting auf die einfache Art mit Sliplane an.

Was ist NocoBase?

NocoBase ist eine Open-Source No-Code/Low-Code Plattform mit einer Plugin-basierten Architektur. Stell dir WordPress vor, aber für Business Apps. Du kannst CRMs, Projekttracker, Inventarsysteme und so ziemlich jedes interne Tool bauen, ohne eine einzige Zeile Code zu schreiben. Die Community Edition ist komplett kostenlos.

NocoBase offizielle Website

Wofür wird NocoBase verwendet?

Teams nutzen NocoBase, um Custom Business Apps ohne Code zu bauen. Typische Anwendungsfälle:

  • CRM Systeme: Kontakte, Deals und Sales Pipelines verwalten
  • Projektmanagement: Tasks, Meilensteine und Team-Auslastung tracken
  • Inventarverwaltung: Lagerbestände, Bestellungen und Lieferanten überwachen
  • Interne Tools: Approval Workflows, HR Portale und Daten-Dashboards bauen
  • Datenerfassung: Formulare, Umfragen und Dateneingabe-Interfaces erstellen

Wenn dein Team Custom Interne Tools braucht, aber nicht die Developer-Ressourcen hat, um sie von Grund auf zu bauen, ist NocoBase genau dafür gemacht.

NocoBase Pricing: Warum Self-Hosting?

Die meisten No-Code Plattformen berechnen pro User, und das summiert sich schnell. So viel geben Teams typischerweise für No-Code Plattformen aus:

ServiceStartpreisUser inklusiveOpen Source
Retool$10/User/MonatPro SeatNein
Airtable$20/User/MonatPro SeatNein
Budibase Cloud$50/Monat5Ja (OSS)
NocoDB Cloud$20/MonatPro SeatJa (OSS)
Self-hosted~€3-5/MonatUnlimitiertJa

Beim Self-Hosting zahlst du nur für den Server, typischerweise €3-5/Monat bei Hetzner, und bekommst unlimitierte User, unlimitierte Apps und volle Kontrolle über deine Daten.

NocoBase Alternativen

Bevor du dich festlegst, lohnt sich ein Vergleich mit anderen No-Code Plattformen:

  • NocoDB: Spreadsheet-artiges Datenbank-Interface (Airtable Alternative), gut für einfaches Datenmanagement, aber kein App Builder
  • Budibase: Open-Source Low-Code Plattform, gut für interne Tools, aber ohne NocoBase's Plugin-Architektur
  • Retool: Mächtig, aber proprietär und teuer, am besten für Developer-lastige Teams
  • Appsmith: Open-Source, Developer-fokussiert, braucht mehr Coding als NocoBase

NocoBase sticht durch seine WordPress-artige Plugin-Architektur hervor. Statt an ein festes Feature-Set gebunden zu sein, kannst du Plugins installieren oder bauen, um genau das hinzuzufügen, was du brauchst.

Voraussetzungen

Folge diesem Guide, um deine eigene NocoBase Instanz auf Ubuntu 24.04 mit Docker, PostgreSQL und dem Caddy Web Server für automatisches HTTPS zu deployen.

Bevor wir starten, brauchst du:

  • Einen Hetzner Account (oder einen anderen Cloud Provider)
  • Grundlegende SSH-Erfahrung
  • Ein SSH Key Pair auf deinem lokalen Rechner

Step 0: Server auf Hetzner erstellen

Zuerst brauchen wir einen Ubuntu Server. Log dich in deine Hetzner Cloud Console ein und klick auf den Create Resource Button oben rechts.

Hetzner Dashboard - Create ResourceKlick auf "Create Resource" um deinen Server zu erstellen

Server Typ auswählen

Wähl Shared Resources und dann Cost-Optimized. Für NocoBase ist der CX23 Server (2 vCPU, 4GB RAM, 40GB SSD) eine solide Wahl für nur €2.99/Monat. NocoBase mit PostgreSQL läuft auf 4GB RAM komfortabel.

Server Typ auswählenWähl Cost-Optimized und den CX23 Server Typ

Standort und OS auswählen

Wähl einen Standort nah an deinen Usern (z.B. Nürnberg für die EU) und wähl Ubuntu 24.04 als Betriebssystem.

Standort und Ubuntu auswählenWähl deinen bevorzugten Standort und Ubuntu 24.04

SSH Key hinzufügen

Du musst deinen öffentlichen SSH Key hinzufügen, um auf den Server zugreifen zu können. Auf deinem lokalen Rechner kopier deinen Public Key:

# Auf macOS
pbcopy < ~/.ssh/id_ed25519.pub

# Auf Linux
cat ~/.ssh/id_ed25519.pub
# Dann die Ausgabe kopieren

SSH Key kopierenKopier deinen öffentlichen SSH Key

In der Hetzner Console klick auf Add SSH Key und füg deinen Public Key ein. Gib ihm einen erkennbaren Namen.

SSH Key in Hetzner hinzufügenFüg deinen SSH Key ein und gib ihm einen Namen

Server erstellen

Gib deinem Server einen Namen und klick auf Create & Buy now.

Server erstellenBenenn deinen Server und klick auf Create & Buy now

Server IP holen

Sobald erstellt, siehst du die IP-Adresse deines Servers in der Übersicht. Kopier diese IP - du brauchst sie für die SSH-Verbindung.

Server IP AdresseKopier die IP-Adresse deines Servers

Per SSH verbinden

Verbinde dich jetzt per SSH mit deinem Server:

ssh root@DEINE_SERVER_IP

SSH LoginErfolgreich mit deinem Ubuntu Server verbunden

Step 1: Server updaten

Sobald eingeloggt, update das System, damit die neuesten Security Patches und Updates installiert sind.

sudo apt-get update
sudo apt-get upgrade -y

Danach ist dein Server bereit für die Software-Installation.

Step 2: UFW Firewall installieren und konfigurieren

Halt nur die nötigen Ports offen: SSH (22), HTTP (80), HTTPS (443).

Installier UFW und konfigurer die Firewall:

sudo apt install ufw -y
sudo ufw allow 22    # SSH
sudo ufw allow 80    # HTTP
sudo ufw allow 443   # HTTPS
sudo ufw enable

Prüf deine Firewall-Konfiguration:

sudo ufw status verbose

Hinweis: Docker kann manchmal UFW-Regeln ignorieren. Um das zu lösen, prüf die zusätzlichen Einstellungen wie hier erklärt.

Step 3: Docker Installation

Docker ist das Container-System, in dem NocoBase läuft. Installier Docker mit diesen Befehlen:

Dependencies und Docker's GPG Key einrichten:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Docker Repository hinzufügen:

echo \
  "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

Docker Engine und Compose-Plugin installieren:

sudo apt-get install docker-ce docker-ce-cli \
containerd.io docker-buildx-plugin docker-compose-plugin -y

Installation prüfen:

sudo docker run hello-world

Wenn du die "Hello from Docker!" Nachricht siehst, ist Docker bereit.

Step 4: Caddy für automatisches HTTPS installieren

Caddy vereinfacht die HTTPS-Konfiguration, weil es SSL-Zertifikate automatisch von Let's Encrypt holt.

Wichtig: Bevor du Caddy mit deiner Domain konfigurierst, achte drauf, dass du den A Record (für IPv4) und AAAA Record (für IPv6) deiner Domain auf die IP-Adressen deines Servers zeigen lässt. Ohne korrekte DNS-Konfiguration kann Caddy keine SSL-Zertifikate ausstellen.

Caddy installieren:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
| sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
| sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy -y

Caddyfile konfigurieren:

sudo nano /etc/caddy/Caddyfile

Ersetze den Inhalt mit deinem Domain-Namen für automatisches HTTPS:

Caddyfile
deinedomain.com {
    reverse_proxy localhost:3000
}

Speicher die Datei (Ctrl+O, Enter, Ctrl+X) und starte Caddy neu:

sudo systemctl restart caddy

Step 5: NocoBase mit Docker Compose starten

Wir verwenden Docker Compose mit PostgreSQL als Datenbank. Erstell zuerst ein Verzeichnis für NocoBase:

mkdir ~/nocobase
cd ~/nocobase

Erstell compose.yml:

nano compose.yml

Füg folgenden Inhalt ein:

compose.yml
networks:
  nocobase:
    driver: bridge

services:
  app:
    image: nocobase/nocobase:latest-full
    restart: always
    networks:
      - nocobase
    depends_on:
      - postgres
    environment:
      # Der Secret Key der Anwendung, wird für User Tokens etc. verwendet.
      # Wenn APP_KEY geändert wird, werden alte Tokens ungültig.
      # Kann ein beliebiger zufälliger String sein, achte drauf, ihn nicht preiszugeben.
      - APP_KEY=AENDER_MICH_ZU_EINEM_ZUFAELLIGEN_SECRET
      # Datenbanktyp, unterstützt postgres, mysql, mariadb
      - DB_DIALECT=postgres
      # Datenbank Host
      - DB_HOST=postgres
      # Datenbank Port
      - DB_PORT=5432
      # Datenbankname
      - DB_DATABASE=nocobase
      # Datenbank User
      - DB_USER=nocobase
      # Datenbank Passwort
      - DB_PASSWORD=AENDER_MICH_ZU_EINEM_SICHEREN_PASSWORT
      # Zeitzone
      - TZ=UTC
    volumes:
      - ./storage:/app/nocobase/storage
    ports:
      - "3000:80"

  postgres:
    image: postgres:16
    restart: always
    command: postgres -c wal_level=logical
    environment:
      POSTGRES_USER: nocobase
      POSTGRES_DB: nocobase
      POSTGRES_PASSWORD: AENDER_MICH_ZU_EINEM_SICHEREN_PASSWORT
    volumes:
      - ./storage/db/postgres:/var/lib/postgresql/data
    networks:
      - nocobase

Achte drauf, die Platzhalter anzupassen:

  • APP_KEY: generier einen zufälligen String (mindestens 16 Zeichen) für die Session-Sicherheit
  • AENDER_MICH_ZU_EINEM_SICHEREN_PASSWORT: verwende ein starkes Passwort in beiden Services (app und postgres)

Speicher die Datei und deploy NocoBase:

sudo docker compose up -d

Docker pullt die NocoBase und PostgreSQL Images und startet sie im Hintergrund. NocoBase braucht beim ersten Start ein paar Minuten, weil die Datenbank initialisiert wird.

Du kannst den Startvorgang beobachten mit:

sudo docker compose logs -f nocobase

Warte, bis die Anwendung gestartet ist, bevor du weitermachst.

Step 6: Auf deine NocoBase Instanz zugreifen

Öffne deine Domain (oder Server IP) im Browser. Deine NocoBase Instanz sollte jetzt laden.

NocoBase nutzt beim ersten Start Standard-Login-Daten: admin@nocobase.com mit dem Passwort admin123. Änder die unbedingt direkt nach dem ersten Login!

Nach dem Login siehst du das NocoBase Admin Interface, wo du anfangen kannst, deine Anwendungen zu bauen, Plugins zu installieren und Datenmodelle zu erstellen!

Security Empfehlungen

Öffentliche Server sollten immer abgesichert sein. Folgende Praktiken werden empfohlen:

  • Regelmäßig Updates und Security Patches einspielen.
  • Starke Passwörter setzen und User-Zugriff kontrollieren.
  • Server Logs auf verdächtige Aktivitäten überwachen.
  • Docker Images aktuell halten.
  • Regelmäßige Backups deines PostgreSQL Volumes einrichten. Schau dir unseren Guide zu 4 einfache Wege, Docker Volumes zu sichern für Backup-Strategien an.

NocoBase updaten

Da wir den latest Tag verwenden, ist das Update unkompliziert:

cd ~/nocobase
sudo docker compose pull
sudo docker compose up -d

Docker lädt die neue Version herunter und ersetzt deinen aktuellen Container. Deine Daten sind sicher in den PostgreSQL und Storage Volumes.

Tipp: Wenn du mehr Kontrolle über Updates willst, kannst du einen spezifischen Version Tag (z.B. 2.0.1-full) statt latest verwenden. Prüf NocoBase's DockerHub Seite für verfügbare Versionen.

Kostenvergleich mit No-Code Plattformen

NocoBase selbst zu hosten bringt massive Einsparungen im Vergleich zu Cloud No-Code Plattformen:

ServiceMonatliche KostenUser inklusiveSelf-HostableDatenstandort
Retool$10/User/Mo+Pro SeatNur kostenpflichtigVendor Server
Airtable$20/User/Mo+Pro SeatNeinUS Server
Budibase Cloud$50+5Ja (OSS)EU/US Server
Hetzner (self-hosted)~€3-5UnlimitiertJaDeine Server

Kostenvergleich mit Managed Hosting Plattformen

Wenn du Managed Hosting dem Self-Hosting vorziehst, hier der Kostenvergleich:

ProvidervCPU CoresRAMDiskGeschätzte monatliche Kosten
Render.com12 GB40 GB~€35-€45
Fly.io22 GB40 GB~€20-€25
Railway22 GB40 GB~€15-€66*
sliplane.io22 GB40 GB~€9/Monat flat

*Hinweis: Railway berechnet nach tatsächlich genutztem Speicher und CPU-Zeit. €66 ist der Maximalpreis, der tatsächliche Preis kann variieren.

Beim Self-Hosting auf Hetzner (wie in diesem Guide gezeigt) bekommst du vergleichbare Specs für nur ~€3/Monat, aber du bist für das komplette Setup und die Wartung verantwortlich. Managed Plattformen übernehmen das für dich zu einem höheren Preis.

Troubleshooting

NocoBase Container startet nicht

Prüf die Logs auf Fehler:

sudo docker compose logs nocobase

Häufige Probleme sind falsche Datenbank-Credentials und zu wenig Speicher. Achte drauf, dass die Passwörter in beiden Services (NocoBase und PostgreSQL) übereinstimmen.

Kann NocoBase nicht im Browser aufrufen

  1. Achte drauf, dass deine Firewall die Ports 80 und 443 erlaubt
  2. Prüf ob Caddy läuft: sudo systemctl status caddy
  3. Prüf ob NocoBase läuft: sudo docker compose ps
  4. Achte drauf, dass dein DNS auf die IP deines Servers zeigt
  5. Gib NocoBase ein paar Minuten zum Hochfahren. Der erste Start kann etwas dauern

SSL-Zertifikat Probleme

Caddy handelt SSL-Zertifikate automatisch, aber wenn du Probleme hast:

  1. Achte drauf, dass dein Domain DNS korrekt konfiguriert ist
  2. Prüf die Caddy Logs: sudo journalctl -u caddy
  3. Achte drauf, dass die Ports 80 und 443 offen und nicht von deinem Hosting Provider blockiert sind

FAQ

Ist NocoBase dasselbe wie NocoDB?

Nein! Das sind komplett unterschiedliche Projekte. NocoDB ist ein Spreadsheet-artiges Datenbank-Interface (eine Airtable Alternative). NocoBase ist eine vollständige No-Code/Low-Code Plattform mit einer Plugin-basierten Architektur zum Bauen von Business Apps, CRMs, Workflows und mehr.

Kann ich Plugins auf self-hosted NocoBase installieren?

Ja! Die Community Edition unterstützt alle Open-Source Plugins. Du kannst sie direkt über das Admin-Interface aus dem NocoBase Plugin Marketplace installieren oder deine eigenen Custom Plugins bauen.

Ist NocoBase kostenlos?

Ja! Die Community Edition ist komplett kostenlos zum Selbst-Hosten. Du zahlst nur für die Server-Infrastruktur. NocoBase bietet auch kommerzielle Plugins und Enterprise Support für Teams, die zusätzliche Features brauchen.

Kann ich MySQL statt PostgreSQL verwenden?

NocoBase unterstützt sowohl PostgreSQL als auch MySQL. Um MySQL zu verwenden, änder DB_DIALECT auf mysql und pass die Datenbank-Verbindungsdetails entsprechend an. PostgreSQL ist allerdings die empfohlene Option für Produktionsumgebungen.


Jetzt hast du deine eigene NocoBase Instanz auf Ubuntu 24.04 mit PostgreSQL am Laufen! Fang an, deine Business Apps, CRMs und internen Tools zu bauen.

Wenn dir die Verwaltung und Absicherung deines eigenen Servers zu viel ist, schau dir an, wie einfach es ist, eine managed NocoBase Instanz auf Sliplane zu deployen - das dauert nur 5 Minuten!

Cheers, Atakan

NocoBase selbst hosten - So einfach geht's!

Sliplane gibt dir alles, was du brauchst, um NocoBase einfach selbst zu hosten.