# Instalează OpenPlatform cu Node.js și PostgreSQL, Docker sau Docker Compose

> Pornește OpenPlatform manual, cu imaginea din Docker Hub sau cu Docker Compose, ce se întâmplă la prima pornire și ce să configurezi imediat după autentificare.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: ro
Content-SHA256: 5930f671eeaf6e11af2b9509d47a8d63c4001f184dd07af56a4488395ff3f4ed
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

OpenPlatform are nevoie de ultima versiune de **Node.js** și de o bază de date **PostgreSQL**. Există trei moduri de a-l porni, toate din README-ul depozitului. **Nu** rula tu însuți `database.sql`: OpenPlatform folosește acel script intern la prima pornire.

## Manual

1. Instalează Node.js și PostgreSQL și creează o bază de date goală pentru OpenPlatform.
2. Descarcă [codul sursă](https://github.com/totaljs/openplatform).
3. Instalează dependențele în rădăcina aplicației:

```bash
npm install
```

4. Pune șirul de conexiune în fișierul `config` (fișierul are ca model linia `database : postgresql://user:pass@localhost:5432/database` și o linie `database (env) : DATABASE` care îl citește din variabila de mediu `DATABASE`).
5. Pornește-l (scriptul `start` din `package.json` rulează `node index.js 8000`):

```bash
node index.js
```

6. Deschide `http://127.0.0.1:8000` și, **înainte de orice, deschide setările și configurează platforma** (README-ul marchează acest pas ca important; setările sunt în [setări și baza de date](/en/openplatform/settings-and-database/)).

## Docker Hub

```bash
docker pull totalplatform/openplatform
docker run --env DATABASE='postgresql://user:pass@hostname/database' -p 8000:8000 totalplatform/openplatform
```

## Docker Compose

```bash
git clone https://github.com/totaljs/openplatform.git
cd openplatform
docker compose up
```

## Ce face prima pornire

Când baza de date nu are încă tabele OpenPlatform (caută tabelul `cl_config` în schema `op`), aplicația încarcă `database.sql`, înlocuind substituenții lui cu valori pe care le generează: identificatorul instalației, numele cookie-ului, secretele și sărurile, token-urile, primul utilizator și primul grup. Apoi încarcă configurația și pornește autentificarea (`definitions/init.js`). Cu variabila de mediu `DATABASE` (Docker) așteaptă trei secunde înainte, ca baza de date să poată fi pornită. În ambele cazuri serverul este pus pe pauză (`PAUSESERVER('Database')`) până când baza de date este gata.

## Prima autentificare

README-ul dă contul implicit:

```text
login : info@totaljs.com
password : admin
```

Autentifică-te, **schimbă acea parolă** (portalul are acțiunea de cont pentru asta) și configurează setările. Amintește-ți regula din README: fiecare aplicație pe care o adaugi trebuie atribuită unui grup, altfel nu o vede nimeni ([grupuri și permisiuni](/en/openplatform/groups-and-permissions/)).
