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

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

Framework: todomator
Product: Todomator (todomator@1.7)
Language: bg
Content-SHA256: ff16b083fef1eb94a1bbca980aef585646cf556833369d7821a7983565cfd232
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

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

## Ръчно

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

```bash
npm install
```

4. Задайте връзката във файла `config`. Той чете променливата на средата `DATABASE` (ред `database (env) : DATABASE`) и има ред `database : postgresql://total:platform@127.0.0.1:5432/todomator` като образец. Същият файл съдържа `$api : /api/` (адреса на API) и ред `mail` с настройките на SMTP като JSON обект.
5. Стартирайте го (скриптът `start` е `node index.js 8000`):

```bash
node index.js
```

6. Отворете `http://127.0.0.1:8000`.

## Docker Hub

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

## Docker Compose

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

## Първото стартиране

Ако таблицата `tbl_ticket` не съществува в схемата `public`, Todomator изпълнява `database.sql` с генериран идентификатор, тайна и хеша на паролата на първия потребител, след което зарежда конфигурацията и етикетите. С променливата на средата `DATABASE` (Docker) първо изчаква три секунди. Скриптът създава състоянията, първия потребител и конфигурацията. Сървърът остава на пауза (`PAUSESERVER('Database')`), докато базата данни не е готова.

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

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

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

Акаунтът се създава с името John Connor и права на администратор (`sa`). **Сменете паролата** след влизане и конфигурирайте [настройките](/en/todomator/settings-and-database/).

## Актуализиране

За съществуваща инсталация README препраща към скриптовете за актуализация на хранилището вместо към `database.sql`: `database_1-3.sql`, `database_1-4.sql`, `database_1-5.sql`, `database_1-6.sql` и `database-20240119.sql`. Приложете тези, които са по-нови от вашата версия; файлът `version` на хранилището изброява какво е променило всяко издание (например версия 1.7 добави двуфакторно удостоверяване и подобри търсенето и добавките за отчети, отметки и потребители).
