Self-Hosting mit Docker Compose
Diese Anleitung startet ein in sich geschlossenes SupaCloud — Server, Web-UI und
PostgreSQL — auf einem einzelnen Host über das standalone-Compose-Overlay:
lokales Postgres, Builtin-Auth, Secrets aus einer .env-Datei.
1. Environment-Datei anlegen
Abschnitt betitelt „1. Environment-Datei anlegen“Das Standalone-Overlay liest Secrets aus .env. Beginne mit dem Beispiel:
cp .env.example.standalone .envDie beiden Werte, die du vor jeder Freigabe ändern musst:
| Variable | Warum |
|---|---|
SUPACLOUD_JWT_SECRET |
Signiert Sessions. Muss mindestens 32 Byte zufällig sein. |
POSTGRES_PASSWORD |
Das Datenbankpasswort (und die passende DATABASE_URL). |
Setze außerdem SUPACLOUD_INITIAL_ADMIN_EMAILS auf die E-Mail, die der erste
Owner werden soll. Für einen rein lokalen Test sind die Beispielwerte MODE=dev,
PUBLIC_URL=http://localhost:8080 und AUTH_COOKIE_SECURE=false in Ordnung; für
alles Erreichbare setze eine echte PUBLIC_URL und schalte die Cookie-Sicherheit
ein.
2. Den Stack starten
Abschnitt betitelt „2. Den Stack starten“Die Standalone-Datei ist ein Overlay über der Basis docker-compose.yml —
gib beide an, Basis zuerst:
-
Bauen und im Hintergrund starten:
Terminal window docker compose -f docker-compose.yml -f compose.standalone.yml up -d --build -
Beobachten, bis die Dienste „healthy“ sind:
Terminal window docker compose -f docker-compose.yml -f compose.standalone.yml psPostgres hat einen Health-Check; der Server wartet darauf, bevor er startet, und führt seine Migrationen beim Boot aus.
Der Stack stellt zwei Ports bereit:
| Dienst | URL | Zweck |
|---|---|---|
| Web-UI | http://localhost:3001 |
Die Operator-Konsole zum Anmelden. |
| Server-API | http://localhost:8080 |
Die HTTP- + Management-API, die die UI aufruft. |
3. Als Initial-Admin anmelden
Abschnitt betitelt „3. Als Initial-Admin anmelden“Öffne http://localhost:3001 und melde dich mit der Adresse aus
SUPACLOUD_INITIAL_ADMIN_EMAILS an. Mit Builtin-Auth wird diese E-Mail als Owner
einer persönlichen Organisation und ihres ersten Workspaces angelegt.


Danach folge Dein erster Agent-Run.
4. Den Stack betreiben
Abschnitt betitelt „4. Den Stack betreiben“# Logs verfolgendocker compose -f docker-compose.yml -f compose.standalone.yml logs -f server
# Stoppen (behält das postgres-data-Volume)docker compose -f docker-compose.yml -f compose.standalone.yml down
# Stoppen und Daten löschendocker compose -f docker-compose.yml -f compose.standalone.yml down -vDer Datenbankzustand liegt im postgres-data-Volume; ein einfaches
down/up behält deine Workspaces, Runs und Secrets.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Referenz der Umgebungsvariablen
- Secret-Bereitstellung — Secrets aus
.envheraus in OpenBao verlagern, für größere Deployments.