# Installer Todomator avec Node.js et PostgreSQL, Docker ou Docker Compose

> Démarrez Todomator à la main, avec l’image de Docker Hub ou avec Docker Compose, ce que fait le premier démarrage, le compte par défaut et comment mettre à jour une base de données existante.

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

Todomator a besoin de la dernière version de **Node.js** et d’une base de données **PostgreSQL**. N’exécutez **pas** `database.sql` vous-même : Todomator utilise ce script en interne quand il démarre sur une base de données vide.

## À la main

1. Installez Node.js et PostgreSQL et créez une base de données pour Todomator.
2. Téléchargez le [code source](https://github.com/totaljs/todomator).
3. Installez les dépendances à la racine de l’application :

```bash
npm install
```

4. Définissez la connexion dans le fichier `config`. Il lit la variable d’environnement `DATABASE` (ligne `database (env) : DATABASE`) et contient une ligne `database : postgresql://total:platform@127.0.0.1:5432/todomator` comme modèle. Le même fichier a `$api : /api/` (l’adresse de l’API) et une ligne `mail` avec les réglages SMTP sous forme d’objet JSON.
5. Exécutez-le (le script `start` est `node index.js 8000`) :

```bash
node index.js
```

6. Ouvrez `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
```

## Le premier démarrage

Si la table `tbl_ticket` n’existe pas dans le schéma `public`, Todomator exécute `database.sql` avec un identifiant généré, un secret et le hachage du mot de passe du premier utilisateur, puis charge la configuration et les étiquettes. Avec la variable d’environnement `DATABASE` (Docker), il attend d’abord trois secondes. Le script crée les statuts, le premier utilisateur et la configuration. Le serveur reste en pause (`PAUSESERVER('Database')`) jusqu’à ce que la base de données soit prête.

## La première connexion

Le README donne le compte par défaut :

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

Le compte est créé avec le nom John Connor et des droits d’administrateur (`sa`). **Changez le mot de passe** après la connexion et configurez les [réglages](/en/todomator/settings-and-database/).

## Mise à jour

Pour une installation existante, le README renvoie aux scripts de mise à jour du dépôt au lieu de `database.sql` : `database_1-3.sql`, `database_1-4.sql`, `database_1-5.sql`, `database_1-6.sql` et `database-20240119.sql`. Appliquez ceux qui sont plus récents que votre version ; le fichier `version` du dépôt liste ce que chaque version a changé (par exemple, la version 1.7 a ajouté l’authentification à deux facteurs et amélioré la recherche et les plugins de rapports, de signets et d’utilisateurs).
