Installer Flow et se connecter la première fois
L’exécuter avec Node.js
Flow n’a besoin que de Node.js : ni base de données, ni service externe.
git clone https://github.com/totaljs/flow.git
cd flow
npm install
npm run startnpm run start exécute node index.js 8000. Le port est facultatif en ligne de commande et la valeur par défaut est 8000 ; vous ouvrez donc http://localhost:8000. Ajoutez --release pour l’exécuter en mode release.
L’exécuter avec Docker
docker pull totalplatform/flow
docker run -p 8000:8000 totalplatform/flowLe docker-compose.yaml du dépôt associe le port 8000 et conserve deux volumes : le dossier databases (réglages et utilisateur) et le dossier flowstream (vos flux). Gardez ces deux volumes et vous pourrez remplacer le conteneur à chaque mise à jour.
La première connexion
Au premier démarrage, Flow crée l’unique utilisateur de l’application avec un identifiant et un mot de passe aléatoires. Jusqu’à la première connexion réussie, la page de connexion les affiche dans un cadre (Default account) avec un bouton Fill in the form : cliquez dessus et connectez-vous. À partir de là, Flow supprime la copie en clair du mot de passe de ses préférences et le cadre n’apparaît plus ; ouvrez donc tout de suite le formulaire de mot de passe de l’application et définissez votre propre identifiant et mot de passe. Faites la première connexion dès que vous démarrez une nouvelle installation, avant que quelqu’un d’autre puisse atteindre l’adresse.
Quelques détails de la connexion, lus dans le code source :
- Le mot de passe est stocké sous forme de hachage SHA-256 avec le
cookie_secretde l’installation comme sel, et la session est un cookie d’un mois chiffré avec le même secret. Flow génère le nom du cookie et le secret la première fois et les conserve dansdatabases/config.json. - Après plusieurs tentatives échouées, une adresse est bloquée (le blocage est levé toutes les 15 minutes).
- Quand les réglages contiennent les jetons d’un OpenPlatform (
op_reqtoken,op_restoken), la page de connexion est remplacée par la connexion de cet OpenPlatform et les permissions Create Flows et Remove Flows contrôlent qui peut créer et supprimer des flux.
Où vivent les données
| Dossier | Ce qu’il contient |
|---|---|
databases/ | config.json (nom et secret du cookie) et memorize_preferences.json (nom, jetons, l’utilisateur, le env, les URL des composants) |
flowstream/ | database.json avec chaque FlowStream : son design, ses composants, ses variables et ses notes |
private/ | fichiers que les flux écrivent et que vous pouvez lister avec le jeton de Flow |
public/cdn/ | cache des composants de l’interface que Flow télécharge la première fois qu’ils sont nécessaires |
Pour déplacer Flow vers une autre machine, copiez databases/ et flowstream/.
Mettre à jour
Téléchargez la nouvelle version du dépôt (le fichier version indique celle que vous exécutez : 11.1 dans la révision documentée ici) ou récupérez la nouvelle image Docker et démarrez-la avec les mêmes volumes.