# Inštalácia Flow a prvé prihlásenie

> Spustite Flow cez Node.js alebo Docker, otvorte ho na porte 8000, prihláste sa loginom a heslom, ktoré Flow vygeneruje pri prvom spustení, a zistite, v ktorých priečinkoch sú vaše dáta.

Framework: flow
Product: Flow (flow@11.1)
Language: sk
Content-SHA256: bd2d3c50035bc16d03bbd645760fe38519ede62e8b3972b08d427dcd4a942b3c
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Spustenie cez Node.js

Flow potrebuje iba Node.js: žiadnu databázu ani externú službu.

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

`npm run start` spustí `node index.js 8000`. Port je v príkazovom riadku voliteľný a predvolený je `8000`, takže otvoríte `http://localhost:8000`. Pridaním `--release` ho spustíte v režime release.

## Spustenie cez Docker

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

`docker-compose.yaml` v repozitári mapuje port 8000 a udržiava dva zväzky: priečinok `databases` (nastavenia a používateľ) a priečinok `flowstream` (vaše toky). Ponechajte tieto dva zväzky a kontajner môžete pri aktualizácii kedykoľvek vymeniť.

## Prvé prihlásenie

Pri prvom spustení Flow vytvorí jediného používateľa aplikácie s **náhodným loginom a náhodným heslom**. Kým sa prvýkrát úspešne neprihlásite, prihlasovacia stránka ich zobrazuje v rámčeku (*Default account*) s tlačidlom **Fill in the form**: kliknite naň a prihláste sa. Od tej chvíle Flow vymaže čistú kópiu hesla zo svojich preferencií a rámček sa prestane zobrazovať, preto hneď otvorte formulár hesla v aplikácii a nastavte si vlastný login a heslo. Prvé prihlásenie urobte hneď po spustení novej inštalácie, skôr než sa k adrese dostane niekto iný.

Niekoľko detailov prihlásenia, prečítaných zo zdrojového kódu:

- Heslo sa ukladá ako hash SHA-256 s `cookie_secret` inštalácie ako soľou a relácia je cookie na jeden mesiac zašifrované tým istým tajomstvom. Flow vygeneruje názov cookie a tajomstvo pri prvom spustení a uloží ich do `databases/config.json`.
- Po opakovaných neúspešných pokusoch sa adresa zablokuje (blokovanie sa vymaže každých 15 minút).
- Keď nastavenia obsahujú tokeny OpenPlatform (`op_reqtoken`, `op_restoken`), prihlasovacia stránka sa nahradí prihlásením do tohto [OpenPlatform](/en/openplatform/how-an-app-connects/) a oprávnenia *Create Flows* a *Remove Flows* riadia, kto môže tvoriť a odstraňovať toky.

## Kde sú dáta

| Priečinok | Čo obsahuje |
|---|---|
| `databases/` | `config.json` (názov a tajomstvo cookie) a `memorize_preferences.json` (názov, tokeny, používateľ, `env`, adresy komponentov) |
| `flowstream/` | `database.json` s každým FlowStreamom: jeho dizajn, komponenty, premenné a poznámky |
| `private/` | súbory, ktoré toky zapisujú a ktoré môžete vypísať tokenom Flow |
| `public/cdn/` | vyrovnávacia pamäť komponentov používateľského rozhrania, ktoré Flow stiahne pri prvej potrebe |

Ak chcete Flow presunúť na iný počítač, skopírujte `databases/` a `flowstream/`.

## Aktualizácia

Stiahnite novú verziu repozitára (súbor `version` hovorí, ktorú spúšťate: `11.1` v tu dokumentovanej revízii) alebo stiahnite nový obraz Docker a spustite ho s rovnakými zväzkami.
