# Инсталиране на OpenPlatform с Node.js и PostgreSQL, Docker или Docker Compose

> Стартирайте OpenPlatform ръчно, с образа от Docker Hub или с Docker Compose, какво прави първото стартиране и какво да настроите веднага след влизането.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: bg
Content-SHA256: 7ea404dd9afd8a09f734c6c942896a6b8f186babb6cd7e66b307600ff30e8e4c
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

OpenPlatform се нуждае от най-новия **Node.js** и база данни **PostgreSQL**. Има три начина да го стартирате, всички от README на хранилището. **Не** изпълнявайте сами `database.sql`: OpenPlatform използва този скрипт вътрешно при първото стартиране.

## Ръчно

1. Инсталирайте Node.js и PostgreSQL и създайте празна база данни за OpenPlatform.
2. Изтеглете [изходния код](https://github.com/totaljs/openplatform).
3. Инсталирайте зависимостите в корена на приложението:

```bash
npm install
```

4. Запишете низа за връзка във файла `config` (във файла има като образец реда `database : postgresql://user:pass@localhost:5432/database` и ред `database (env) : DATABASE`, който го чете от променливата на средата `DATABASE`).
5. Стартирайте го (скриптът `start` в `package.json` изпълнява `node index.js 8000`):

```bash
node index.js
```

6. Отворете `http://127.0.0.1:8000` и, **преди всичко, отворете настройките и конфигурирайте платформата** (README отбелязва тази стъпка като важна; настройките са в [настройки и база данни](/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
```

## Какво прави първото стартиране

Когато базата данни още няма таблици на OpenPlatform (търси таблицата `cl_config` в схемата `op`), приложението зарежда `database.sql`, като заменя заместителите му със стойности, които генерира: идентификатора на инсталацията, името на бисквитката, тайните и солите, токените, първия потребител и първата група. След това зарежда конфигурацията и стартира удостоверяването (`definitions/init.js`). С променливата на средата `DATABASE` (Docker) изчаква преди това три секунди, за да може базата данни да е вдигната. И в двата случая сървърът е на пауза (`PAUSESERVER('Database')`), докато базата данни не е готова.

## Първото влизане

README дава акаунта по подразбиране:

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

Влезте, **сменете тази парола** (порталът има действие за акаунта за това) и конфигурирайте настройките. Помнете правилото от README: всяко добавено приложение трябва да бъде присвоено на група, иначе никой не го вижда ([групи и права](/en/openplatform/groups-and-permissions/)).
