ForgeFlow
fr

Flow

Installer Flow et se connecter la première fois

Flow · flow@11.1 flowinstalldockerloginfirst start

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 start

npm 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/flow

Le 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_secret de 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 dans databases/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

DossierCe 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.