Aller au contenu principal

Variables d'environnement sur le serveur

Dans les sections précédentes, nous avons créé un fichier .env pour gérer les variables d'environnement en développement local. Sur le serveur de production, il faudra aussi configurer ces variables, mais avec des valeurs sécurisées (mots de passe forts, etc.).

Les variables d'environnement

Les variables d'environnement sont des paires clé-valeur utilisée par le système d'exploitation et les applications pour stocker des informations essentielles sur l'environnement dans lequel elles s'exécutent.

Elles permettent de configurer le comportement des logiciels sans modifier leur code source.

Essentiellement, une variable d'environnement est une donnée stockée dans le système d'exploitation qui peut être utilisée par les programmes en cours d'exécution. Elle contient généralement des informations sur la configuration du système, les chemins d'accès, ou des paramètres spécifiques à une application.

Créer un fichier .env sur le serveur

La façon la plus simple de gérer les variables d'environnement sur le serveur est de créer un fichier .env directement sur le serveur, dans le même dossier que le docker-compose.yml.

  1. Connectez-vous à votre serveur via SSH
  2. Naviguez vers le dossier de votre projet
    cd ~/apps/[dossier-repo]
  3. Créez le fichier .env
    nano .env
  4. Ajoutez vos variables d'environnement avec des valeurs sécurisées pour la production
    .env
    POSTGRES_DB=snowfall_db
    POSTGRES_USER=snowfall_user
    POSTGRES_PASSWORD=x2B7)7s+pFY8
    ASPNETCORE_HTTP_PORTS=8080
    DossierStorage=/storage-images
    APP_DATABASE_CONNECTION="Host=postgres;Port=5432;Database=snowfall_db;Username=snowfall_user;Password=x2B7)7s+pFY8"
  5. Enregistrez et fermez l'éditeur
    1. CTRL + X
    2. Y pour sauvegarder
attention

Assurez-vous d'utiliser un mot de passe fort en production! N'utilisez pas motdepasse ou d'autres mots de passe simples.

danger

Ne commitez jamais le fichier .env sur git! Il contient des données sensibles. Assurez-vous qu'il est bien dans votre .gitignore.

Démarrer le conteneur

Démarrez le conteneur à l'aide de docker compose up. Docker Compose lira automatiquement le fichier .env et utilisera les valeurs pour les variables ${...} dans le docker-compose.yml.

docker compose up -d

Tester

Accédez à votre site, le tout devrait fonctionner avec les variables d'environnement de production!

info

Pour accéder à votre site, utilisez l'adresse IPv4 publique que vous a assigné Lightsail

Appliquer des changements

Lorsque vous modifiez les variables d'environnement dans le fichier .env, il faut redémarrer les conteneurs pour que les changements prennent effet:

docker compose stop
docker compose up -d