# Εγκατάσταση του Todomator με Node.js και PostgreSQL, Docker ή Docker Compose

> Ξεκινήστε το Todomator με το χέρι, με την εικόνα του Docker Hub ή με Docker Compose, τι κάνει η πρώτη εκκίνηση, ο προεπιλεγμένος λογαριασμός και πώς ενημερώνετε μια υπάρχουσα βάση δεδομένων.

Framework: todomator
Product: Todomator (todomator@1.7)
Language: el
Content-SHA256: af5dd6b5e5ecd89382003b4f8cf10a9b4e945b31a1c27344e3c15f10a31626e4
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` με ένα παραγόμενο αναγνωριστικό, ένα μυστικό και το hash του κωδικού του πρώτου χρήστη και στη συνέχεια φορτώνει τη διαμόρφωση και τις ετικέτες. Με τη μεταβλητή περιβάλλοντος `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 πρόσθεσε έλεγχο ταυτότητας δύο παραγόντων και βελτίωσε την αναζήτηση και τα πρόσθετα αναφορών, σελιδοδεικτών και χρηστών).
