Aller au contenu principal

Docker Compose

Le dépôt fournit une pile prête à l’emploi dans infra/docker/compose.yaml. C’est le moyen le plus rapide d’obtenir une instance fonctionnelle sur un hôte unique.

Services​

ServiceDescriptionPorts
dbPostgreSQL 16 — le plan de contrôle et le plan diagramme par défautinterne
appLe serveur : API tRPC + REST /api/v1 + le websocket HocuspocusHTTP 8787, WS 8788
webLa SPA, servie derrière nginxhttp://localhost:8080

Démarrage rapide​

docker compose -f infra/docker/compose.yaml up

Ouvrez http://localhost:8080 et vous disposez d’un EntityFlow mono-hôte pleinement fonctionnel, les deux plans résidant dans le PostgreSQL intégré.

Rediriger le plan diagramme​

Pour stocker les diagrammes dans votre propre base de données, définissez EF_DIAGRAM_DB_URL. Lorsque le plan diagramme n’est pas PostgreSQL, vous devez également définir EF_CONTROL_DB_URL vers une instance PostgreSQL pour le plan de contrôle :

# Plan diagramme sur votre propre Postgres (le plan de contrôle le partage)
export EF_DIAGRAM_DB_URL="postgres://user:pass@db.internal:5432/entityflow"

# Plan diagramme sur MySQL — le plan de contrôle doit toujours être Postgres
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

Consultez Utiliser votre propre base de données pour la liste complète des moteurs pris en charge et des schémas de chaîne de connexion.

Indispensables en production​

Pour tout usage dépassant l’évaluation locale, définissez un secret d’authentification robuste :

export EF_AUTH_SECRET="$(openssl rand -base64 48)"
docker compose -f infra/docker/compose.yaml up -d
attention

EF_AUTH_SECRET (32 caractères ou plus) doit être défini pour tout déploiement non local. Sans lui, les sessions ne sont pas sécurisées.

La connexion se fait sans mot de passe : les utilisateurs ne peuvent donc se connecter qu’une fois que l’instance sait envoyer des e-mails. Faites-la pointer vers votre serveur SMTP (ou vers Resend ou Mailjet) :

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>"

Consultez Configuration → E-mail pour toutes les variables d’e-mail. Sur une instance d’évaluation locale, EF_MAIL_PROVIDER=log écrit plutôt les codes de connexion dans le journal du serveur — ne l’utilisez jamais en production.

Pour la liste complète des paramètres réglables — réseau, authentification, e-mail, temps réel, observabilité, et plus encore — consultez la Référence de configuration.