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 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.
- Connectez-vous à votre serveur via SSH
- Naviguez vers le dossier de votre projet
cd ~/apps/[dossier-repo] - Créez le fichier
.envnano .env - 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" - Enregistrez et fermez l'éditeur
CTRL + XYpour sauvegarder
Assurez-vous d'utiliser un mot de passe fort en production! N'utilisez pas motdepasse ou d'autres mots de passe simples.
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!
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