ForgeFlow
es

Flow

Instalar Flow e iniciar sesión por primera vez

Flow · flow@11.1 flowinstalldockerloginfirst start

Ejecutarlo con Node.js

Flow solo necesita Node.js: ni base de datos ni servicio externo.

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

npm run start ejecuta node index.js 8000. El puerto es opcional en la línea de comandos y el valor por defecto es 8000, así que abres http://localhost:8000. Añade --release para ejecutarlo en modo release.

Ejecutarlo con Docker

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

El docker-compose.yaml del repositorio mapea el puerto 8000 y mantiene dos volúmenes: la carpeta databases (ajustes y usuario) y la carpeta flowstream (tus flujos). Conserva esos dos volúmenes y podrás sustituir el contenedor cada vez que actualices.

El primer inicio de sesión

En el primer arranque Flow crea el único usuario de la aplicación con un login y una contraseña aleatorios. Hasta el primer inicio de sesión correcto, la página de acceso los muestra en un cuadro (Default account) con un botón Fill in the form: púlsalo e inicia sesión. A partir de ese momento Flow borra la copia en claro de la contraseña de sus preferencias y el cuadro deja de aparecer, así que abre enseguida el formulario de contraseña de la aplicación y define un login y una contraseña propios. Haz el primer inicio de sesión en cuanto arranques una instalación nueva, antes de que nadie más pueda alcanzar la dirección.

Algunos detalles del inicio de sesión, leídos del código fuente:

  • La contraseña se guarda como hash SHA-256 con el cookie_secret de la instalación como sal, y la sesión es una cookie de un mes cifrada con el mismo secreto. Flow genera el nombre de la cookie y el secreto la primera vez y los guarda en databases/config.json.
  • Tras varios intentos fallidos se bloquea una dirección (el bloqueo se limpia cada 15 minutos).
  • Cuando los ajustes contienen los tokens de un OpenPlatform (op_reqtoken, op_restoken), la página de acceso se sustituye por el inicio de sesión de ese OpenPlatform y los permisos Create Flows y Remove Flows controlan quién puede crear y eliminar flujos.

Dónde viven los datos

CarpetaQué contiene
databases/config.json (nombre y secreto de la cookie) y memorize_preferences.json (nombre, tokens, el usuario, el env, las URL de los componentes)
flowstream/database.json con cada FlowStream: su diseño, componentes, variables y notas
private/archivos que escriben los flujos y que puedes listar con el token de Flow
public/cdn/caché de los componentes de la interfaz que Flow descarga la primera vez que se necesitan

Para mover Flow a otra máquina, copia databases/ y flowstream/.

Actualizar

Descarga la nueva versión del repositorio (el archivo version te dice cuál ejecutas: 11.1 en la revisión documentada aquí) o descarga la nueva imagen de Docker y arráncala con los mismos volúmenes.