Instalar o Flow e iniciar sessão pela primeira vez
Executá-lo com Node.js
O Flow só precisa de Node.js: nem base de dados nem serviço externo.
git clone https://github.com/totaljs/flow.git
cd flow
npm install
npm run startnpm run start executa node index.js 8000. A porta é opcional na linha de comandos e o valor predefinido é 8000, por isso abre http://localhost:8000. Acrescente --release para o executar em modo release.
Executá-lo com Docker
docker pull totalplatform/flow
docker run -p 8000:8000 totalplatform/flowO docker-compose.yaml do repositório mapeia a porta 8000 e mantém dois volumes: a pasta databases (definições e utilizador) e a pasta flowstream (os seus fluxos). Mantenha esses dois volumes e poderá substituir o contentor sempre que atualizar.
O primeiro início de sessão
No primeiro arranque o Flow cria o único utilizador da aplicação com um login e uma palavra-passe aleatórios. Até ao primeiro início de sessão bem-sucedido, a página de acesso mostra-os numa caixa (Default account) com um botão Fill in the form: clique nele e inicie sessão. A partir desse momento o Flow apaga das suas preferências a cópia em claro da palavra-passe e a caixa deixa de aparecer, por isso abra logo o formulário de palavra-passe da aplicação e defina um login e uma palavra-passe seus. Faça o primeiro início de sessão assim que arrancar uma instalação nova, antes de mais alguém poder aceder ao endereço.
Alguns detalhes do início de sessão, lidos do código-fonte:
- A palavra-passe é guardada como hash SHA-256 com o
cookie_secretda instalação como sal, e a sessão é um cookie de um mês cifrado com o mesmo segredo. O Flow gera o nome do cookie e o segredo da primeira vez e guarda-os emdatabases/config.json. - Após várias tentativas falhadas um endereço é bloqueado (o bloqueio é limpo a cada 15 minutos).
- Quando as definições contêm os tokens de um OpenPlatform (
op_reqtoken,op_restoken), a página de acesso é substituída pelo início de sessão desse OpenPlatform e as permissões Create Flows e Remove Flows controlam quem pode criar e remover fluxos.
Onde vivem os dados
| Pasta | O que contém |
|---|---|
databases/ | config.json (nome e segredo do cookie) e memorize_preferences.json (nome, tokens, o utilizador, o env, os URL dos componentes) |
flowstream/ | database.json com cada FlowStream: o seu design, componentes, variáveis e notas |
private/ | ficheiros que os fluxos escrevem e que pode listar com o token do Flow |
public/cdn/ | cache dos componentes da interface que o Flow descarrega na primeira vez que são precisos |
Para mover o Flow para outra máquina, copie databases/ e flowstream/.
Atualizar
Descarregue a nova versão do repositório (o ficheiro version diz-lhe qual executa: 11.1 na revisão documentada aqui) ou obtenha a nova imagem Docker e inicie-a com os mesmos volumes.