Mit Supabase ist eine Postgres-Entwicklungsplattform. Starte dein Projekt mit einer Postgres-Datenbank, Authentifizierung, sofort einsatzbereiten APIs, Edge-Funktionen, Echtzeit-Abonnements, Speicherplatz und Vektor-Einbettungen.
Ich bin aktuell daran, meine seit Jahren für meine Leistungserfassungs- und Mandatsverwaltung verwendete PostgreSQL-Datenbank auf Supabase zu migrieren, um die Entwicklung meiner Anwendung sowie von Tools für den Zugriff von unterwegs zu vereinfachen und die Datenbankverwaltung zu zentralisieren.
1. Grundvoraussetzungen
- Docker und Docker Compose und Debian/Ubuntu
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
2. Ordner anlegen
Im ersten Schritt legen wir uns ein Verzeichnis an und wählen dieses aus.
mkdir -p /opt/containers/supabase
cd /opt/containers/supabase
3. Supabase installieren
Nun installieren wir supabase gemäss der Anleitung für das Self-Hosting.
# Get the code
git clone --depth 1 https://github.com/supabase/supabase
# Make your new supabase project directory
mkdir supabase-project
# Tree should look like this
# .
# ├── supabase
# └── supabase-project
# Copy the compose files over to your project
cp -rf supabase/docker/* supabase-project
# Copy the fake env vars
cp supabase/docker/.env.example supabase-project/.env
# Switch to your project directory
cd supabase-project
# Pull the latest images
docker compose pullCode-Sprache: PHP (php)
Damit haben wir im eigentlichen Container-Ordner /opt/containers/supabase zwei Unterordner, den einen mit supabase von GIT und den anderen mit unserem eigenen Supabase-Projekt (alle weiteren Arbeiten erfolgen in diesem Ordner /opt/containers/supabase/supabase-project).
Wichtig ist hier, dass du unter keinen Umständen schon ein docker compose up ausführst, bevor du alle Anpassungen (insbesondere Passwörter und Keys) in den Einstellungen konfiguriert hast. Dadurch vermeiden wir Probleme, bei denen das Postgres-Passwort festgelegt wird und die Volumes wieder entfernt werden müssen und wir nochmals von vorne beginnen müssen.
