Zum Hauptinhalt springen

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​

DienstWas es istPorts
dbPostgreSQL 16 — die standardmäßige Steuerungs- und Diagrammebeneintern
appDer Server: tRPC-API + REST /api/v1 + der Hocuspocus-WebsocketHTTP 8787, WS 8788
webDie SPA, ausgeliefert hinter nginxhttp://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
warnung

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.