# Fichier .env

Pour exécuter la version dockerisée de la plateforme Navixy, le **.env** fichier est le fichier de configuration principal. Il contient des paramètres importants tels que les identifiants de la base de données, les noms de domaine, le dossier de travail d'installation de la plateforme et d'autres éléments.

![](https://866637922-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUnMmePH99SsdChtqqu7%2Fuploads%2Fgit-blob-d990eb7ccbe679666d60506ffeaa357815158267%2Fimage-20230907-140128.png?alt=media)

Le **.env** Le fichier est principalement utilisé lors de l'installation initiale de la plateforme. Cependant, si vous devez modifier quelque chose dans la configuration d'une plateforme existante, vous devrez également modifier ce fichier.

Tous les paramètres de ce fichier sont commentés afin de mieux comprendre de quoi il s'agit. Des informations supplémentaires sur ces paramètres sont décrites dans les sections ci‑dessous.

{% hint style="info" %}
Si vous modifiez des paramètres de configuration alors que l'instance est déjà en cours d'exécution, les modifications ne sont pas appliquées instantanément. Vous devez réinitialiser l'ensemble de l'instance pour qu'elles prennent effet. Pour ce faire, depuis le dossier principal de la plateforme (navixy-package), exécutez la commande : `docker compose up -d` Cela recréera les conteneurs avec les nouveaux paramètres.
{% endhint %}

## UID et GID

Ce sont des paramètres de service utilisés uniquement lors de l'étape de construction de la plateforme. Vous n'avez pas besoin de les modifier.

## WORKDIR

Il s'agit d'un paramètre qui indique le répertoire de travail de la plateforme - l'emplacement où la base de données et tous les fichiers de service sont stockés. Il est nécessaire de sécuriser ce répertoire pour éviter la perte de données métier.

Valeur par défaut de ce paramètre : `WORKDIR=./work`.

Cela signifie que `/work` le répertoire à l'intérieur de l'archive Navixy décompressée est utilisé. Si le répertoire n'existe pas, il sera créé.

Si nécessaire, vous pouvez placer le répertoire de travail n'importe où sur votre système. Pour ce faire, spécifiez le chemin complet vers le répertoire. Exemples :

* `/home/admin/work`
* `/usr/local/navixy`

Veillez à donner au répertoire un nom évident afin de ne pas le supprimer par erreur.

## navixy\_username

Ceci est le nom d'utilisateur utilisé pour l'accès à la base de données. Il est toujours `navixy`, ne le changez pas.

## navixy\_passwd

Il s'agit du mot de passe pour l'utilisateur de base de données `navixy` . Par défaut, cette valeur est vide et il vous est demandé de spécifier le mot de passe de votre choix. Il est recommandé de générer automatiquement un mot de passe robuste, mais le choix vous appartient, vous pouvez spécifier ce que vous souhaitez.

Ne changez pas ce mot de passe après la création de la base de données et le déploiement de la plateforme.

## service\_domain

Il s'agit du domaine principal de votre instance de plateforme. Il est utilisé pour :

* Accès à l'interface utilisateur.
* Activation des appareils.

Dans le cas où vous utilisez une installation à domaine unique (sans domaines séparés pour l'API et le panneau d'administration), ce domaine sera également utilisé pour :

* Accès à l'API via le lien `service_domain/api`
* Accès au panneau d'administration via le lien `service_domain/panel`

{% hint style="info" %}
Ceci peut également être une adresse IP de votre serveur si vous n'envisagez pas d'utiliser un nom de domaine pour votre service.
{% endhint %}

## api\_domain

Ce paramètre est optionnel et utilisé uniquement pour les installations à trois domaines.

Ici, vous devez spécifier le nom de domaine utilisé pour accéder à l'API de votre plateforme.

## panel\_domain

Il s'agit également d'un paramètre optionnel utilisé pour les installations à trois domaines.

Ici, vous devez spécifier le nom de domaine utilisé pour accéder au panneau d'administration de votre plateforme.

## le\_enabled

Ce paramètre active l'émission automatique et la réémission ultérieure du certificat SSL Let's Encrypt.

Il est `true` par défaut. Cela signifie que lorsque vous déployez la plateforme, Certbot sera configuré et gérera l'émission automatique des certificats SSL pour vos domaines. De cette façon, vous n'aurez pas besoin de vous préoccuper de l'achat de certificats tiers. L'instance se configurera pour être protégée par SSL.

Si vous souhaitez utiliser votre propre certificat SSL au lieu de Let's Encrypt, changez ce paramètre en `false`.

## le\_email

Il s'agit de l'adresse e‑mail destinée à recevoir des informations sur le fonctionnement de Certbot, telles que l'expiration du certificat, la révocation du certificat et les problèmes pouvant entraîner l'impossibilité de réémettre le certificat.

Par défaut, ce paramètre est vide. Il est recommandé de spécifier une adresse e‑mail valide afin de ne pas manquer des notifications importantes concernant la protection SSL de votre site.

## redirect\_to\_https

Ce paramètre permet de rediriger les requêtes de *http* vers *https*. Si votre plateforme est configurée pour utiliser la protection SSL et que quelqu'un tente d'utiliser une URL commençant par *http*, une redirection automatique vers *https* sera déclenchée.

Si le paramètre est désactivé (false), aucune redirection ne se produira et le site Web ne sera pas ouvert.

{% hint style="info" %}
Ce paramètre n'est applicable que si la protection SSL est activée et qu'un certificat SSL est installé.
{% endhint %}

## service\_ssl\_cert and service\_ssl\_key

Si vous ne prévoyez pas d'utiliser Let's Encrypt et que vous souhaitez utiliser votre propre certificat SSL, vous devez placer le certificat de votre domaine et sa clé privée dans le répertoire : `WORKDIR/nginx/ssl`.

{% hint style="danger" %}
Veillez à basculer le **le\_enabled** paramètre sur `false` avant d'appliquer des modifications à cette section. Vous ne pouvez pas utiliser vos propres certificats pour la plateforme lorsque certbot est en cours d'exécution.
{% endhint %}

Après que le certificat et la clé sont en place, vous devez spécifier leurs noms de fichier pour les paramètres correspondants de la configuration. Notez que vous n'avez pas besoin de spécifier des chemins. Exemple :

```
service_ssl_cert=my_domain_com.crt
service_ssl_key=my_domain_com.key
```

## MYSQL\_RANDOM\_ROOT\_PASSWORD

Ce paramètre active la génération d'un mot de passe aléatoire pour l'utilisateur MySQL `root` . La valeur par défaut est `true`.

Le paramètre est utilisé uniquement lors de l'initialisation initiale de la base de données lors de l'installation de la plateforme. Lors des redémarrages et mises à jour ultérieurs de la plateforme, il ne fait rien et le mot de passe reste le même.

Si vous préférez définir un mot de passe root MySQL spécifique, changez la valeur en `false` et passez au paramètre suivant.

## MYSQL\_ROOT\_PASSWORD

Ici vous spécifiez le mot de passe root pour MySQL.

Ce paramètre s'applique uniquement lorsque `MYSQL_RANDOM_ROOT_PASSWORD` est basculé sur `false`. Sinon, la valeur est ignorée.

## skip\_db\_update

Ce paramètre désactive la mise à jour de la base de données lorsque le conteneur `navixy-standalone-db` est démarré. Il est utilisé à des fins de test, vous n'avez pas besoin de modifier la valeur par défaut (`false`) lors de l'utilisation régulière de la plateforme.
