Docker Compose
Das Repository enthält einen einsatzbereiten Stack unter infra/docker/compose.yaml. Es ist der schnellste Weg, eine funktionsfähige Instanz auf einem einzelnen Host zu erhalten.
Dienste
| Dienst | Was es ist | Ports |
|---|---|---|
| db | PostgreSQL 16 — die standardmäßige Steuerungs- und Diagrammebene | intern |
| app | Der Server: tRPC-API + REST /api/v1 + der Hocuspocus-Websocket | HTTP 8787, WS 8788 |
| web | Die SPA, ausgeliefert hinter nginx | http://localhost:8080 |
Schnellstart
docker compose -f infra/docker/compose.yaml up
Öffnen Sie http://localhost:8080, und Sie haben ein voll funktionsfähiges EntityFlow auf einem einzelnen Host, wobei beide Ebenen im mitgelieferten PostgreSQL residieren.
Die Diagrammebene umleiten
Um Diagramme in Ihrer eigenen Datenbank zu speichern, setzen Sie EF_DIAGRAM_DB_URL. Wenn die Diagrammebene nicht PostgreSQL ist, müssen Sie zusätzlich EF_CONTROL_DB_URL auf eine PostgreSQL-Instanz für die Steuerungsebene setzen:
# Diagrammebene auf Ihrem eigenen Postgres (die Steuerungsebene teilt sich diese)
export EF_DIAGRAM_DB_URL="postgres://user:pass@db.internal:5432/entityflow"
# Diagrammebene auf MySQL — die Steuerungsebene muss weiterhin Postgres sein
export EF_DIAGRAM_DB_URL="mysql://user:pass@mysql.internal:3306/entityflow"
export EF_CONTROL_DB_URL="postgres://user:pass@pg.internal:5432/ef_control"
docker compose -f infra/docker/compose.yaml up
Siehe Eigene Datenbank verwenden für die vollständige Liste der unterstützten Engines und Verbindungszeichenfolgen-Schemata.
Wesentliches für den Produktivbetrieb
Für alles, was über die lokale Evaluierung hinausgeht, setzen Sie ein starkes Auth-Secret:
export EF_AUTH_SECRET="$(openssl rand -base64 48)"
docker compose -f infra/docker/compose.yaml up -d
EF_AUTH_SECRET (32 Zeichen oder mehr) muss für jede nicht lokale Bereitstellung gesetzt sein. Ohne es sind Sitzungen unsicher.
Die Anmeldung ist passwortlos, daher können sich Personen erst anmelden, wenn die Instanz E-Mails versenden kann — richten Sie sie auf Ihren SMTP-Server (oder auf Resend bzw. Mailjet) aus:
export EF_MAIL_FROM="entityflow@acme.com"
export EF_SMTP_HOST="smtp.acme.com"
export EF_SMTP_USER="entityflow"
export EF_SMTP_PASSWORD="<smtp-password>"
Alle E-Mail-Variablen finden Sie unter Konfiguration → E-Mail. Auf einer lokalen Evaluierungsinstanz schreibt EF_MAIL_PROVIDER=log die Anmeldecodes stattdessen in das Serverprotokoll — verwenden Sie dies niemals in der Produktion.
Die vollständige Liste der einstellbaren Parameter — Netzwerk, Authentifizierung, E-Mail, Echtzeit, Observability und mehr — finden Sie in der Konfigurationsreferenz.