ForgeFlow
it

Flow

Installare Flow e accedere per la prima volta

Flow · flow@11.1 flowinstalldockerloginfirst start

Eseguirlo con Node.js

Flow ha bisogno solo di Node.js: nessun database, nessun servizio esterno.

git clone https://github.com/totaljs/flow.git
cd flow
npm install
npm run start

npm run start esegue node index.js 8000. La porta è facoltativa sulla riga di comando e il valore predefinito è 8000, quindi apri http://localhost:8000. Aggiungi --release per eseguirlo in modalità release.

Eseguirlo con Docker

docker pull totalplatform/flow
docker run -p 8000:8000 totalplatform/flow

Il docker-compose.yaml del repository mappa la porta 8000 e mantiene due volumi: la cartella databases (impostazioni e utente) e la cartella flowstream (i tuoi flussi). Conserva questi due volumi e potrai sostituire il container a ogni aggiornamento.

Il primo accesso

Al primo avvio Flow crea l’unico utente dell’applicazione con un login e una password casuali. Fino al primo accesso riuscito, la pagina di accesso li mostra in un riquadro (Default account) con un pulsante Fill in the form: fai clic e accedi. Da quel momento Flow cancella dalle sue preferenze la copia in chiaro della password e il riquadro non compare più, quindi apri subito il modulo password dell’applicazione e imposta un login e una password tuoi. Fai il primo accesso appena avvii una nuova installazione, prima che qualcun altro possa raggiungere l’indirizzo.

Alcuni dettagli dell’accesso, letti dal codice sorgente:

  • La password è memorizzata come hash SHA-256 con il cookie_secret dell’installazione come sale, e la sessione è un cookie di un mese cifrato con lo stesso segreto. Flow genera il nome del cookie e il segreto la prima volta e li conserva in databases/config.json.
  • Dopo ripetuti tentativi falliti un indirizzo viene bloccato (il blocco viene azzerato ogni 15 minuti).
  • Quando le impostazioni contengono i token di un OpenPlatform (op_reqtoken, op_restoken), la pagina di accesso è sostituita dall’accesso di quell’OpenPlatform e i permessi Create Flows e Remove Flows controllano chi può creare e rimuovere i flussi.

Dove vivono i dati

CartellaCosa contiene
databases/config.json (nome e segreto del cookie) e memorize_preferences.json (nome, token, l’utente, l’env, gli URL dei componenti)
flowstream/database.json con ogni FlowStream: il suo design, i componenti, le variabili e le note
private/file che i flussi scrivono e che puoi elencare con il token di Flow
public/cdn/cache dei componenti dell’interfaccia che Flow scarica la prima volta che servono

Per spostare Flow su un’altra macchina, copia databases/ e flowstream/.

Aggiornare

Scarica la nuova versione del repository (il file version ti dice quale esegui: 11.1 nella revisione documentata qui) oppure scarica la nuova immagine Docker e avviala con gli stessi volumi.