Dedicated Server: Supabase unter Linux einrichten
Die Anleitung wurde mit folgenden Produkten erstellt:
(Einzelheiten können sich bei Produkten anderer Anbieter unterscheiden, die Grundkonzepte bleiben in der Regel unverändert)
Einführung
Supabase ist eine quelloffene Postgres-Plattform, die eine vollständige Postgres-Datenbank sowie Authentifizierung, sofortige APIs, Realtime und Storage bereitstellt und damit eine Open-Source-Alternative zu Firebase darstellt.
Überlegst du, diesen Dienst selbst zu hosten? Wir führen dich Schritt für Schritt durch die Einrichtung und Konfiguration und nennen alles, was du dabei beachten musst.
Voraussetzungen
Bevor du Supabase installierst, stelle sicher, dass deine Hosting-Umgebung die folgenden Anforderungen erfüllt, um eine reibungslose Installation und optimale Leistung zu gewährleisten.
Hardware | Minimum | ZAP-Hosting Empfehlung |
---|---|---|
CPU | 1 CPU-Kerne | 4 CPU-Kerne |
RAM | 4 GB | 8 GB |
Speicherplatz | 25 GB | 25 GB |
Die Software erfordert, dass alle notwendigen Abhängigkeiten installiert sind und dass ein unterstütztes Betriebssystem verwendet wird. Stelle vor dem Fortfahren sicher, dass dein Server die folgenden Anforderungen erfüllt:
Abhängigkeiten: Git
, Docker (Engine und Compose)
Betriebssystem: Neueste Version von Ubuntu/Debian mit Unterstützung für Docker 2
Stelle sicher, dass alle Abhängigkeiten installiert sind und die richtige Betriebssystemversion verwendet wird, um Kompatibilitätsprobleme während der Installation von Supabase zu vermeiden.
Vorbereitung
Bevor du Supabase einrichtest, musst du dein System vorbereiten. Dazu gehört, dein Betriebssystem auf die neueste Version zu aktualisieren und alle erforderlichen Abhängigkeiten zu installieren. Diese Vorbereitungen sorgen für eine stabile Umgebung und helfen, Probleme während oder nach der Installation zu vermeiden.
System aktualisieren
Damit dein System mit der aktuellsten Software und den neuesten Sicherheitsverbesserungen läuft, solltest du zuerst Systemupdates durchführen. Führe dazu den folgenden Befehl aus:
sudo apt update && sudo apt upgrade -y
So stellst du sicher, dass dein System vor dem Fortfahren die neuesten Sicherheitspatches und Softwareversionen hat.
Abhängigkeiten installieren
Sobald der Aktualisierungsvorgang abgeschlossen ist, kann mit der Installation der Abhängigkeiten fortgefahren werden.
Git
Die Supabase-Daten werden über GitHub bezogen. Dafür muss Git zunächst installiert sein. Führe dazu den folgenden Befehl aus:
sudo apt install git-all
Docker
Supabase wird auf deinem System mithilfe eines Docker-Containers bereitgestellt und ausgeführt. Dafür muss Docker zunächst installiert werden. Führe dazu den folgenden Befehl aus:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
Eine vollständige Anleitung zum Installationsprozess und zur Nutzung von Docker findest du in unserer Docker Anleitung.
Installation
Nun, da alle Anforderungen erfüllt sind und die notwendigen Vorbereitungen abgeschlossen wurden, kannst du mit der Installation der Supabase-Anwendung fortfahren.
Hole das Supabase-Repository, erstelle ein eigenes Projektverzeichnis und kopiere die Docker-Assets sowie die Beispiel-Umgebungsdatei dorthin.
git clone --depth 1 https://github.com/supabase/supabase
mkdir supabase-project
cp -rf supabase/docker/* supabase-project
cp supabase/docker/.env.example supabase-project/.env
Wechsle in das Projektverzeichnis, ziehe die neuesten Container-Images und starte den Stack im Hintergrundmodus.
cd supabase-project
docker compose pull
docker compose up -d
Du kannst nun über http://<deine-ip>:8000
auf Supabase Studio zugreifen. Du wirst nach einem Benutzernamen und Passwort gefragt. Standardmäßig lauten die Zugangsdaten:
- Benutzername:
supabase
- Passwort:
this_password_is_insecure_and_should_be_updated
Deine App läuft jetzt mit Standardzugangsdaten. Sichere deine Dienste so schnell wie möglich gemäß den folgenden Anweisungen.
Konfiguration
Du solltest niemals mit Standard- oder Beispielwerten in Produktion gehen. Ersetze alle Platzhalter durch starke, eindeutige Secrets, überprüfe die Konfiguration im Hinblick auf deine Sicherheitsanforderungen und starte anschließend alle Dienste neu, damit die Änderungen wirksam werden.
Erzeuge sichere API-Keys, bevor du einen Dienst exponierst. Beginne mit der Auswahl eines 40-stelligen JWT-Secrets. Du kannst den bereitgestellten Wert verwenden oder dein eigenes erstellen. Bewahre dieses Secret lokal an einem sicheren Ort auf. Teile es nicht und checke es nicht in die Versionskontrolle ein. Verwende das Secret, um einen JWT zu generieren und daraus die anon- und service-API-Keys abzuleiten, unter Verwendung des in der Supabase-Dokumentation referenzierten Formulars: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys
Führe das Formular zweimal aus, um beide Keys zu erzeugen. Aktualisiere deine ./docker/.env
mit:
ANON_KEY
: anon keySERVICE_ROLE_KEY
: service key
Aktualisiere die erforderlichen Secrets in ./docker/.env
. Diese Werte müssen für eine funktionierende Bereitstellung gesetzt sein:
POSTGRES_PASSWORD
: Passwort für die Rollepostgres
JWT_SECRET
: wird von PostgREST und GoTrue verwendetSITE_URL
: Basis-URL deiner SeiteSMTP_*
: Mailserver-ZugangsdatenPOOLER_TENANT_ID
: Tenant-ID, die vom Supavisor-Pooler verwendet wird
Schütze das Dashboard vor der Nutzung in Produktion mit neuen Zugangsdaten. Bearbeite ./docker/.env
:
DASHBOARD_USERNAME
: Dashboard-BenutzerDASHBOARD_PASSWORD
: Dashboard-Passwort
Du kannst mehrere Dashboard-Benutzer in ./docker/volumes/api/kong.yml
definieren:
basicauth_credentials:
- consumer: DASHBOARD
username: user_one
password: password_one
- consumer: DASHBOARD
username: user_two
password: password_two
Um alle Dashboard-Funktionen außerhalb von localhost
zu aktivieren, setze SUPABASE_PUBLIC_URL
in ./docker/.env
auf die URL oder IP, über die du auf das Dashboard zugreifen wirst.
Wende Konfigurationsänderungen an, indem du den Stack neu startest:
docker compose down
docker compose up -d
Abschluss und weitere Ressourcen
Glückwunsch! Du hast Supabase jetzt erfolgreich auf deinem Dedicated Server installiert und konfiguriert. Wir empfehlen außerdem, einen Blick auf die folgenden Ressourcen zu werfen, die dir zusätzliche Hilfe und Orientierung während deiner Serverkonfiguration bieten können.
- Supabase.com - Offizielle Website
- Supabase.com/docs/guides/self-hosting - Supabase-Dokumentation
Spezifische Fragen, die hier nicht abgedeckt sind? Für weitere Fragen oder Unterstützung wende dich gern an unser Support-Team, das täglich für dich da ist! 🙂