# Installation étape par étape

Toute l’installation se fait avec une seule commande, `./draften install`,
lancée dans le paquet décompressé. Voici la marche à suivre, d’un serveur vide
jusqu’à la première connexion. Ce que contient une installation et où se
trouve chaque chose est décrit dans
[Installer sur votre propre serveur](/fr/admin/self-hosting).

## Étape 1 : préparer le serveur

- x86-64 sous Linux (un Synology ou un autre NAS avec Docker convient aussi),
- Docker Engine 24 ou plus récent avec le plugin compose – vérifiez avec
  `docker compose version`,
- 4 Go de mémoire et 20 Go d’espace disque,
- les outils `tar`, `base64` et `sha256sum` (ou `shasum`), présents sur
  presque tous les systèmes.

Le serveur n’a pas besoin d’internet pour l’installation : le paquet apporte
toutes les images.

## Étape 2 : vérifier que le paquet vient de nous

Pour chaque paquet de version `draften-<version>.tar`, nous publions sa somme
de contrôle. Calculez-la et comparez :

```
sha256sum draften-<version>.tar
```

Chaque mise à jour ultérieure, l’installation la vérifie elle-même avec nos
clés. La première installation, elle, n’a rien à quoi se comparer – c’est ce
contrôle qui en tient lieu. Si les sommes de contrôle diffèrent, n’installez
pas le paquet et contactez-nous.

## Étape 3 : décompresser le paquet et lancer l’installateur

Choisissez le répertoire dans lequel l’installation résidera, décompressez-y le
paquet et lancez l’installateur :

```
mkdir /srv/draften
tar -xf draften-<version>.tar -C /srv/draften
cd /srv/draften
./draften install
```

L’installateur charge les images, vérifie le paquet et demande ce dont il a
besoin.

## Étape 4 : répondre aux questions de l’installateur

- **L’adresse** à laquelle les gens ouvrent draften, par exemple
  `https://draften.firma.cz`. Ce doit être l’adresse qu’ils utilisent
  réellement – les adresses de redirection pour la connexion avec Microsoft et
  Google sont construites à partir d’elle.
- **L’organisation** et son **nom court** (lettres minuscules, chiffres,
  traits d’union).
- **Le premier administrateur** : e-mail, nom et langue (`cs` ou `en`). Il
  devient propriétaire de l’organisation et exploitant de toute
  l’installation.
- **L’updater** (oui / non) – un service qui permet de mettre à jour, de
  changer le nombre de processus et de remplacer la clé de chiffrement depuis
  l’interface web. Il a accès à Docker, ce qui équivaut aux droits root sur
  cette machine. Sans lui, tout fonctionne en ligne de commande.
- **Le certificat HTTPS** – le fichier du certificat et sa clé (PEM), si HTTPS
  doit se terminer directement dans draften. Laissez vide lorsqu’un reverse
  proxy ou un tunnel placé devant draften se charge de HTTPS (voir
  l’étape 7).

Chaque réponse peut aussi être donnée directement dans la commande, ce qui
permet de scripter l’installation ; `./draften help` liste les options. Par
exemple :

```
./draften install --url https://draften.firma.cz --org "Firma SARL" \
  --admin-email jan@firma.cz --admin-name "Jan Novák" --locale cs --updater yes
```

## Étape 5 : conserver une copie de `.env` hors du serveur

L’installateur écrit les paramètres et les secrets dans le fichier `.env` du
répertoire d’installation. **Copiez-le – au moins la valeur de `MASTER_KEY` –
en lieu sûr, hors du serveur.** Cette clé chiffre les accès aux boîtes mail,
les clés des modèles et les mots de passe pour l’envoi des e-mails. Sans elle,
personne ne peut les lire, pas même depuis une sauvegarde – et nous ne l’avons
pas.

## Étape 6 : définir votre mot de passe et vous connecter

À la fin, l’installateur affiche un lien pour définir le mot de passe du
premier administrateur. Ouvrez-le dans un navigateur, définissez le mot de
passe et vous êtes connecté. Le lien ne fonctionne qu’une fois et reste
valable 7 jours. La page du mot de passe est présentée dans le guide
[Se connecter à draften](/fr/signing-in).

!> Seul l’installateur affiche le lien. Ne le copiez nulle part et ne le
transmettez pas – quiconque le possède définit le mot de passe de
l’administrateur.

## Étape 7 : publier l’adresse

Selon ce que vous avez choisi à l’étape 4 :

- **Avec un certificat**, draften écoute lui-même sur le port 443 et redirige
  du port 80 vers HTTPS. Il suffit que l’adresse pointe vers ce serveur dans le
  DNS.
- **Sans certificat**, draften écoute sur `127.0.0.1:8085` et votre reverse
  proxy ou tunnel placé devant lui termine HTTPS. Quand le proxy tourne sur une
  autre machine, définissez `WEB_BIND=0.0.0.0:8085` dans `.env`.
- **Avec un Cloudflare Tunnel**, aucun port ouvert n’est nécessaire : placez
  le jeton du tunnel dans `.env` (`CLOUDFLARE_TUNNEL_TOKEN`), ajoutez `tunnel`
  à `COMPOSE_PROFILES` (par exemple `COMPOSE_PROFILES=updater,tunnel`) et
  lancez `docker compose up -d`. Dans Cloudflare, faites pointer le tunnel vers
  `http://127.0.0.1:8085`.

Un certificat peut aussi être ajouté plus tard :

```
./draften certificate cert.pem key.pem --url https://draften.firma.cz
```

## Étape 8 : importer la licence

Nous envoyons la licence sous la forme d’un fichier `licence-<numéro>.json`.
Dans l’interface, ouvrez **Installation → Installation**, choisissez le
fichier dans la carte **Licence** en bas de la page et importez-le. Tant que
l’installation n’a pas de licence, les assistants ne traitent aucun e-mail et
aucune boîte mail ni aucun assistant ne peut être créé. Plus d’informations
dans [La licence](/fr/admin/licence).

## Étape 9 : définir les clés et l’envoi des e-mails par défaut

Sur la même page **Installation**, définissez les **Clés API par défaut** pour
les modèles et l’**Envoi des e-mails par défaut** (d’où partent les
invitations et les liens de mot de passe). Ils s’appliquent à toute
organisation qui ne définit pas les siens. Détails :
[Clés API des modèles](/fr/admin/api-keys) et [Envoi des e-mails](/fr/admin/outgoing-mail).

## Étape 10 : connecter une boîte mail et configurer un assistant

À partir d’ici, vous continuez comme sur n’importe quelle autre installation :

1. [Ajoutez et connectez une boîte mail](/fr/admin/adding-a-mailbox).
2. [Configurez un assistant avec la mise en route](/fr/new-assistant).
3. Invitez d’autres personnes – [Personnes et rôles](/fr/admin/people-and-roles).

## Étape 11 : vérifier que tout fonctionne

```
./draften status
```

affiche la version, l’état de santé du web et des workers, l’état HTTPS et
les dumps de la base de données. Dans l’interface, la page **Exploitation**
indique si les workers se signalent – voir
[Exploitation et capacité](/fr/admin/operations).

## Étape 12 : veiller aux sauvegardes

Avec l’updater, la base de données est sauvegardée automatiquement, chaque jour
à 01:00, dans le dossier `backups/` du répertoire d’installation ; vous
changez l’heure sous **Installation → Installation**, dans la carte
**Sauvegardes de la base de données**. Sans l’updater, lancez
`./draften backup` depuis cron. Les sauvegardes se trouvent toutefois sur le
même disque que la base de données : **organisez la copie de `backups/` et de
`.env` hors du serveur.** Détails :
[Sauvegarde et restauration](/fr/admin/backup-and-restore).

## Pour aller plus loin

- [Mettre à jour avec l’updater](/fr/admin/updating-with-the-updater) – une
  nouvelle version en un clic,
- [Mettre à jour en ligne de commande](/fr/admin/updating),
- [Sauvegarde et restauration](/fr/admin/backup-and-restore),
- [Résolution des problèmes](/fr/admin/troubleshooting).
