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
| Service | Description | Ports |
|---|---|---|
| db | PostgreSQL 16 — le plan de contrôle et le plan diagramme par défaut | interne |
| app | Le serveur : API tRPC + REST /api/v1 + le websocket Hocuspocus | HTTP 8787, WS 8788 |
| web | La SPA, servie derrière nginx | http://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
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.