---
title: "n8n Setup-Guide: Von Light bis Pro (SQLite, PostgreSQL, Supabase)"
description: "Ein umfassender Guide für n8n-Installationen – von SQLite-Einstieg bis zur PostgreSQL-Konfiguration mit Supabase."
author: "Sascha Seniuk"
category: "Praxis"
published: 2025-05-06
updated: 2025-05-06
language: de-DE
canonical_url: https://aiscream.de/magazin/n8n-sqlite-postgres-supabase
---

# n8n Setup-Guide: Von Light bis Pro (SQLite, PostgreSQL, Supabase)

n8n ist ein leistungsstarkes Werkzeug für Workflow-Automation, aber die Installation kann komplex erscheinen. Deshalb haben wir bei AIscream den Setup-Prozess in drei Varianten aufbereitet.

Vom einfachen SQLite-Setup für erste Schritte bis zur PostgreSQL-Installation für produktive Umgebungen. Welche Variante für Sie passt, hängt von Ihrem aktuellen Bedarf und Ihren Wachstumsplänen ab.

## Voraussetzungen

Für alle Varianten benötigen Sie:
- Einen [Hetzner Cloud Server](https://hetzner.cloud/?ref=Lida7iRJJoDc) (Mindestens CPX11, für produktive Umgebungen besser CPX21)
- Ubuntu 20.04 LTS oder neuer
- Docker und Docker Compose
- Eine Domain mit DNS-Konfiguration

Der Einrichtungsaufwand ist überschaubar und der Nutzen erheblich.

## Variante 1: Die SQLite-Edition (Für Einsteiger)

Diese Variante ist die einfachste Option: Zuverlässig, wartungsarm, aber nicht für hohe Lasten ausgelegt.

### Komponenten
- **n8n**: Das Workflow-Werkzeug (im Container)
- **Caddy**: Sorgt für HTTPS-Verschlüsselung (im Container)
- **SQLite**: Datenbank direkt im n8n-Container

### Verzeichnisstruktur
```text
/opt/n8n/
├── data/                 # Datenspeicher
│   ├── caddy_config/     # Caddy-Konfiguration
│   │   └── Caddyfile     # Reverse-Proxy-Konfiguration
│   └── local_files/      # Dateien für n8n-Workflows
└── docker-compose.yml    # Container-Konfiguration
└── .env                  # Umgebungsvariablen
```

### Installation

**1. Verzeichnisse anlegen:**
```bash
mkdir -p /opt/n8n/data/caddy_config
mkdir -p /opt/n8n/data/local_files
```

**2. Docker Volumes erstellen:**
```bash
docker volume create caddy_data
docker volume create n8n_data
```

**3. Konfigurationsdateien erstellen:**

Erstellen Sie zunächst die Docker-Compose-Datei:

```yaml
services:
  caddy:
    container_name: caddy
    image: caddy:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - caddy_data:/data
      - ${DATA_FOLDER}/caddy_config:/config
      - ${DATA_FOLDER}/caddy_config/Caddyfile:/etc/caddy/Caddyfile
    networks:
      - n8n-network

  n8n:
    container_name: n8n
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - 5678:5678
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
      - N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
      - N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
    volumes:
      - n8n_data:/home/node/.n8n
      - ${DATA_FOLDER}/local_files:/files
    networks:
      - n8n-network

volumes:
  caddy_data:
    external: true
  n8n_data:
    external: true

networks:
  n8n-network:
    driver: bridge
```

Die **.env**-Datei für die Konfiguration:

```ini
DOMAIN_NAME=aiscream.de           # Ihre Domain
SUBDOMAIN=demo                    # Ihre Subdomain für n8n
DATA_FOLDER=/opt/n8n/data         # Speicherort der Daten
GENERIC_TIMEZONE=Europe/Berlin    # Zeitzone
N8N_BASIC_AUTH_ACTIVE=true        # Zugriffskontrolle aktivieren
N8N_BASIC_AUTH_USER=admin         # Benutzername
N8N_BASIC_AUTH_PASSWORD=****      # Sicheres Passwort wählen
N8N_ENCRYPTION_KEY=****           # Verschlüsselungsschlüssel (mindestens 32 Zeichen)
```

Die **Caddyfile**:

```nginx
demo.aiscream.de {
    reverse_proxy n8n:5678 {
      flush_interval -1
    }
}
```

**4. Container starten:**
```bash
cd /opt/n8n
docker compose up -d
```

Nach dem Start erreichen Sie n8n unter https://demo.aiscream.de (bzw. Ihrer konfigurierten Domain).

### Limitierungen der SQLite-Version

Diese Version eignet sich für den Einstieg und kleinere Workloads:

- Bis zu 5.000-10.000 tägliche Workflow-Ausführungen
- 10-15 gleichzeitige Workflows
- Datenbank sollte unter 5 GB bleiben
- SQLite ist nicht für viele gleichzeitige Schreibvorgänge optimiert

## Variante 2: Die PostgreSQL-Edition (Für wachsende Unternehmen)

Wenn Ihr Bedarf wächst, bietet PostgreSQL mehr Leistung und Zuverlässigkeit.

### Was ist neu?
Statt SQLite kommt PostgreSQL zum Einsatz – eine vollwertige Datenbank, die mit Ihrem Unternehmen skaliert.

### Installation:

**1. Verzeichnisse und Volumes anlegen:**
```bash
mkdir -p /opt/n8n/data/caddy_config
mkdir -p /opt/n8n/data/local_files
cd /opt/n8n

docker volume create caddy_data
docker volume create n8n_data
docker volume create postgres_data
```

**2. Die Docker-Compose-Datei:**

```yaml
services:
  caddy:
    container_name: caddy
    image: caddy:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - caddy_data:/data
      - ${DATA_FOLDER}/caddy_config:/config
      - ${DATA_FOLDER}/caddy_config/Caddyfile:/etc/caddy/Caddyfile
    networks:
      - n8n-network

  n8n:
    container_name: n8n
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - 5678:5678
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
      - N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
      - N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      # PostgreSQL-Konfiguration
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=${DB_POSTGRESDB_DATABASE}
      - DB_POSTGRESDB_USER=${DB_POSTGRESDB_USER}
      - DB_POSTGRESDB_PASSWORD=${DB_POSTGRESDB_PASSWORD}
    volumes:
      - n8n_data:/home/node/.n8n
      - ${DATA_FOLDER}/local_files:/files
    depends_on:
      - postgres
    networks:
      - n8n-network

  postgres:
    container_name: postgres
    image: postgres:13
    restart: always
    environment:
      - POSTGRES_USER=${DB_POSTGRESDB_USER}
      - POSTGRES_PASSWORD=${DB_POSTGRESDB_PASSWORD}
      - POSTGRES_DB=${DB_POSTGRESDB_DATABASE}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - n8n-network

volumes:
  caddy_data:
    external: true
  n8n_data:
    external: true
  postgres_data:
    external: true

networks:
  n8n-network:
    driver: bridge
```

**3. .env-Datei erweitern:**

```ini
DOMAIN_NAME=aiscream.de
SUBDOMAIN=demo
DATA_FOLDER=/opt/n8n/data
GENERIC_TIMEZONE=Europe/Berlin

# Authentifizierung
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=****    # Sicheres Passwort wählen
N8N_ENCRYPTION_KEY=****         # Mindestens 32 Zeichen, komplex und einzigartig

# PostgreSQL-Konfiguration
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=****     # Separates DB-Passwort, ebenfalls sicher wählen
DB_POSTGRESDB_DATABASE=n8n
```

**Vorteile der PostgreSQL-Edition:**
- Bessere Unterstützung für gleichzeitige Zugriffe
- Höhere Zuverlässigkeit bei umfangreichen Datenmengen
- Bessere Performance bei hohen Workloads
- Unterstützung für Team-Funktionen (mehrere Nutzer)
- Verarbeitet bis zu 50.000 tägliche Workflows

## Variante 3: Die Supabase-Edition (Managed Database)

Wenn Sie sich nicht um die Datenbankverwaltung kümmern möchten, übernimmt Supabase dies als Managed Service.

**Wichtig:** Aktivieren Sie die automatischen Backups im Supabase-Dashboard unter „Project Settings" → „Database" → „Backups".

## Welche Version passt zu Ihrem Unternehmen?

| **Variante** | **Für wen?** | **Workload** | **Vorteile** | **Nachteile** |
|--------------|--------------|--------------|--------------|---------------|
| **SQLite** | Einsteiger, Kleinunternehmen | Bis 10k Workflows/Tag | Einfach, schnell eingerichtet | Begrenzte Skalierbarkeit |
| **PostgreSQL** | Wachsende Unternehmen | Bis 50k Workflows/Tag | Zuverlässiger bei hoher Last, teamfähig | Höherer Ressourcenbedarf |
| **Supabase** | Unternehmen ohne DB-Expertise | Bis 50k Workflows/Tag | Keine DB-Wartung nötig, managed Service | Externe Abhängigkeit, Kosten |

## Wartung: Updates und Pflege

**Container aktualisieren (für alle Varianten):**
```bash
cd /opt/n8n
docker compose pull
docker compose down
docker compose up -d
```

**Logs überwachen:**
```bash
# Alle Container-Logs
docker compose logs

# Nur n8n-Logs
docker compose logs n8n

# Nur Caddy-Logs
docker compose logs caddy
```

## Fazit: Skalierbare Automatisierung

Welche Variante Sie heute wählen, hängt von Ihrem aktuellen Bedarf ab – dieser wird sich voraussichtlich ändern. Mit diesen Anleitungen können Sie jederzeit upgraden. n8n wächst mit Ihrem Unternehmen.

Der SQLite-Start ist die einfachste Variante zum Ausprobieren. Sobald Ihre Automatisierungen produktiv werden, empfehlen wir PostgreSQL. Wenn Sie keine Datenbank-Administration übernehmen möchten, ist Supabase eine Alternative – mit den entsprechenden externen Abhängigkeiten und Kosten.

## Häufig gestellte Fragen

**Welche n8n-Variante eignet sich für den Einstieg?**

Für erste Schritte empfiehlt sich die SQLite-Edition. Sie ist am einfachsten einzurichten, zuverlässig und wartungsarm, aber nicht für hohe Lasten ausgelegt. Als Richtwert gelten 5.000 bis 10.000 tägliche Workflow-Ausführungen.

**Wann sollte ich auf PostgreSQL umsteigen?**

Sobald Ihre Automatisierungen produktiv werden oder die Last steigt. PostgreSQL unterstützt gleichzeitige Zugriffe besser, ist zuverlässiger bei umfangreichen Datenmengen und ermöglicht Team-Funktionen mit mehreren Nutzern. Die Variante verarbeitet bis zu 50.000 tägliche Workflows.

**Was ist der Vorteil von Supabase?**

Supabase übernimmt die Datenbankverwaltung als Managed Service, sodass Sie sich nicht selbst um die Datenbank kümmern müssen. Dem stehen eine externe Abhängigkeit und zusätzliche Kosten gegenüber. Wichtig ist, die automatischen Backups im Supabase-Dashboard zu aktivieren.

**Welche Voraussetzungen brauche ich für die Installation?**

Sie benötigen einen Cloud-Server, zum Beispiel bei Hetzner mit mindestens CPX11, für produktive Umgebungen besser CPX21. Dazu kommen Ubuntu 20.04 LTS oder neuer, Docker mit Docker Compose sowie eine Domain mit DNS-Konfiguration.

**Wie halte ich meine n8n-Installation aktuell?**

Für alle Varianten gilt: Sie laden die neuen Container-Images herunter, stoppen die laufenden Container und starten sie anschließend neu. Über die Container-Logs können Sie n8n und Caddy zudem gezielt überwachen.

---

*Sie benötigen Unterstützung bei der n8n-Einrichtung oder möchten Ihre Automatisierungsstrategie besprechen? [Sprechen Sie mit uns](https://aiscream.de/kontakt) über Ihre Anforderungen.*
