# Instalacja Todomatora z Node.js i PostgreSQL, Dockerem lub Docker Compose

> Uruchom Todomator ręcznie, z obrazem z Docker Hub lub z Docker Compose, co robi pierwsze uruchomienie, konto domyślne i jak zaktualizować istniejącą bazę danych.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: pl
Content-SHA256: 131a00162742fd8bee1711bd89285b09ca6cf90f16dead1b2e4863f348ecb9ea
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

Todomator potrzebuje najnowszego **Node.js** i bazy danych **PostgreSQL**. **Nie** uruchamiaj samodzielnie `database.sql`: Todomator używa tego skryptu wewnętrznie, gdy startuje na pustej bazie danych.

## Ręcznie

1. Zainstaluj Node.js i PostgreSQL i utwórz bazę danych dla Todomatora.
2. Pobierz [kod źródłowy](https://github.com/totaljs/todomator).
3. Zainstaluj zależności w katalogu głównym aplikacji:

```bash
npm install
```

4. Ustaw połączenie w pliku `config`. Odczytuje zmienną środowiskową `DATABASE` (wiersz `database (env) : DATABASE`) i ma wiersz `database : postgresql://total:platform@127.0.0.1:5432/todomator` jako wzór. Ten sam plik zawiera `$api : /api/` (adres API) i wiersz `mail` z ustawieniami SMTP jako obiektem JSON.
5. Uruchom go (skrypt `start` to `node index.js 8000`):

```bash
node index.js
```

6. Otwórz `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
```

## Pierwsze uruchomienie

Jeśli tabela `tbl_ticket` nie istnieje w schemacie `public`, Todomator uruchamia `database.sql` z wygenerowanym identyfikatorem, sekretem i skrótem hasła pierwszego użytkownika, a następnie ładuje konfigurację i tagi. Ze zmienną środowiskową `DATABASE` (Docker) najpierw czeka trzy sekundy. Skrypt tworzy statusy, pierwszego użytkownika i konfigurację. Serwer pozostaje wstrzymany (`PAUSESERVER('Database')`), dopóki baza danych nie będzie gotowa.

## Pierwsze logowanie

README podaje domyślne konto:

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

Konto jest tworzone z nazwą John Connor i uprawnieniami administratora (`sa`). **Zmień hasło** po zalogowaniu i skonfiguruj [ustawienia](/en/todomator/settings-and-database/).

## Aktualizacja

Dla istniejącej instalacji README zamiast `database.sql` wskazuje skrypty aktualizacji z repozytorium: `database_1-3.sql`, `database_1-4.sql`, `database_1-5.sql`, `database_1-6.sql` i `database-20240119.sql`. Zastosuj te, które są nowsze niż Twoja wersja; plik `version` repozytorium wymienia, co zmieniło każde wydanie (na przykład wersja 1.7 dodała uwierzytelnianie dwuskładnikowe oraz ulepszyła wyszukiwanie i wtyczki raportów, zakładek i użytkowników).
