# A Flow telepítése és az első bejelentkezés

> Futtasd a Flow-t Node.js-szel vagy Dockerrel, nyisd meg a 8000-es porton, jelentkezz be a Flow által az első indításkor generált felhasználónévvel és jelszóval, és tudd meg, mely mappákban vannak az adataid.

Framework: flow
Product: Flow (flow@11.1)
Language: hu
Content-SHA256: 642ca061151dc5ec899afb93120e3fd1dc11682bfffe9c66bcd831ea9e3549d0
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Futtatás Node.js-szel

A Flow-nak csak Node.js kell: se adatbázis, se külső szolgáltatás.

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

Az `npm run start` a `node index.js 8000` parancsot futtatja. A port a parancssorban elhagyható, az alapértelmezett `8000`, így a `http://localhost:8000` címet nyitod meg. A `--release` hozzáadásával release módban futtathatod.

## Futtatás Dockerrel

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

A tároló `docker-compose.yaml` fájlja leképezi a 8000-es portot és két kötetet tart fenn: a `databases` mappát (beállítások és felhasználó) és a `flowstream` mappát (a folyamaid). Tartsd meg ezt a két kötetet, és a konténert minden frissítéskor lecserélheted.

## Az első bejelentkezés

Az első indításkor a Flow létrehozza az alkalmazás egyetlen felhasználóját **véletlenszerű felhasználónévvel és jelszóval**. Az első sikeres bejelentkezésig a bejelentkezési oldal egy keretben (*Default account*) mutatja őket egy **Fill in the form** gombbal: kattints rá és jelentkezz be. Ettől kezdve a Flow törli a jelszó nyers másolatát a beállításai közül, és a keret nem jelenik meg többé, ezért azonnal nyisd meg az alkalmazás jelszóűrlapját, és állíts be saját felhasználónevet és jelszót. Az első bejelentkezést közvetlenül egy új telepítés indítása után végezd el, mielőtt bárki más elérhetné a címet.

A bejelentkezés néhány részlete, a forráskódból olvasva:

- A jelszó SHA-256 hashként tárolódik a telepítés `cookie_secret` értékével mint sóval, a munkamenet pedig egy hónapos, ugyanazzal a titokkal titkosított cookie. A Flow az első alkalommal generálja a cookie nevét és a titkot, és a `databases/config.json` fájlban őrzi.
- Ismételt sikertelen kísérletek után egy cím letiltásra kerül (a tiltás 15 percenként törlődik).
- Ha a beállítások egy OpenPlatform tokenjeit tartalmazzák (`op_reqtoken`, `op_restoken`), a bejelentkezési oldalt annak az [OpenPlatform](/en/openplatform/how-an-app-connects/) bejelentkezése váltja fel, és a *Create Flows* és *Remove Flows* jogosultságok szabályozzák, ki hozhat létre és törölhet folyamokat.

## Hol vannak az adatok

| Mappa | Mit tartalmaz |
|---|---|
| `databases/` | `config.json` (a cookie neve és titka) és `memorize_preferences.json` (név, tokenek, a felhasználó, az `env`, a komponensek URL-jei) |
| `flowstream/` | `database.json` minden FlowStreammel: a terve, komponensei, változói és jegyzetei |
| `private/` | a folyamok által írt fájlok, amelyeket a Flow tokenjével listázhatsz |
| `public/cdn/` | a felületi komponensek gyorsítótára, amelyeket a Flow az első szükségkor tölt le |

A Flow másik gépre költöztetéséhez másold át a `databases/` és a `flowstream/` mappát.

## Frissítés

Töltsd le a tároló új verzióját (a `version` fájl megmondja, melyiket futtatod: `11.1` az itt dokumentált revízióban), vagy húzd le az új Docker-képet, és indítsd el ugyanazokkal a kötetekkel.
