mirror of
https://github.com/tips-of-mine/gestion-certificats2.git
synced 2025-06-27 21:48:43 +02:00
![google-labs-jules[bot]](/assets/img/avatar_default.png)
Ce commit apporte les modifications suivantes pour résoudre les problèmes de chargement des fichiers CSS et potentiellement de rendu des pages : - docker-compose.yml: - Modifie le montage du volume pour le service nginx de `./app/public:/var/www/html:ro` à `./app:/var/www/html:ro` pour s'aligner avec la directive `root /var/www/html/public;` dans la configuration Nginx. - Met à jour la commande de démarrage du service php-fpm pour appliquer `chown -R www-data:www-data` et `chmod -R 775` à l'ensemble du répertoire `/var/www/html` afin d'assurer les bonnes permissions pour les fichiers de l'application. - Supprime le fichier CSS dupliqué `app/public/dark-mode.css`. Le fichier correct `app/public/css/dark-mode.css` est conservé. - Conserve une ligne de débogage temporaire dans `app/src/Views/shared/header.php` pour aider à diagnostiquer les problèmes de mode sombre.
70 lines
3.0 KiB
YAML
70 lines
3.0 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:latest
|
|
container_name: cert-gestion-nginx
|
|
ports:
|
|
- "980:80"
|
|
- "9443:443" # Optionnel: Pour HTTPS si vous décidez d'ajouter un certificat à Nginx
|
|
volumes:
|
|
- ./nginx:/etc/nginx/conf.d:ro # Fichiers de configuration Nginx
|
|
- ./app:/var/www/html:ro # Contenu statique et point d'entrée de l'application
|
|
- ./tls:/opt/tls:rw # Accès en lecture aux certificats pour Nginx si besoin (par ex. pour OCSP)
|
|
- ./storage/nginx_logs:/var/log/nginx:rw # Volume pour les logs de Nginx
|
|
depends_on:
|
|
- php-fpm # Nginx dépend de PHP-FPM pour servir l'application
|
|
networks:
|
|
- cert-gestion-network
|
|
restart: unless-stopped # Nouvelle ligne: Redémarre Nginx si le service s'arrête de manière inattendue
|
|
|
|
php-fpm:
|
|
build:
|
|
context: ./php # Construit l'image à partir du dossier ./php
|
|
dockerfile: Dockerfile
|
|
container_name: cert-gestion-php-fpm
|
|
volumes:
|
|
- ./app:/var/www/html:rw # Code source de l'application PHP (lecture/écriture pour logs, sessions)
|
|
- ./scripts:/opt/scripts:rw # Scripts shell pour la gestion des certificats (lecture seule)
|
|
- ./tls:/opt/tls:rw # Dossier pour les certificats et clés (lecture/écriture pour création/révocation)
|
|
- ./storage/php_logs:/var/log/app:rw # Volume pour les logs de l'application PHP
|
|
environment:
|
|
# Variables d'environnement pour PHP (par exemple, pour la connexion DB)
|
|
# Il est recommandé d'utiliser un fichier .env avec un outil comme phpdotenv en production
|
|
DB_HOST: mysql
|
|
DB_NAME: cert_gestion
|
|
DB_USER: user
|
|
DB_PASSWORD: password_secret # À CHANGER POUR LA PRODUCTION
|
|
depends_on:
|
|
- mysql # PHP-FPM dépend de MySQL
|
|
networks:
|
|
- cert-gestion-network
|
|
restart: unless-stopped # Nouvelle ligne: Redémarre Nginx si le service s'arrête de manière inattendue
|
|
command: >
|
|
bash -c "chown -R www-data:www-data /var/www/html /var/log/app && chmod -R 775 /var/www/html /var/log/app && chmod +x /opt/scripts/*.sh && php-fpm"
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: cert-gestion-mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root_password_secret # À CHANGER POUR LA PRODUCTION
|
|
MYSQL_DATABASE: cert_gestion
|
|
MYSQL_USER: user
|
|
MYSQL_PASSWORD: password_secret # À CHANGER POUR LA PRODUCTION
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql # Volume persistant pour les données de la base de données
|
|
- ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro # Script exécuté au premier démarrage pour créer la DB et les tables
|
|
networks:
|
|
- cert-gestion-network
|
|
restart: unless-stopped # Nouvelle ligne: Redémarre Nginx si le service s'arrête de manière inattendue
|
|
|
|
volumes:
|
|
mysql_data: # Définition du volume nommé pour MySQL
|
|
# Ces volumes sont définis implicitement par les chemins de montage bind mounts:
|
|
# ./storage/nginx_logs
|
|
# ./storage/php_logs
|
|
|
|
networks:
|
|
cert-gestion-network:
|
|
driver: bridge # Réseau bridge pour la communication interne entre les conteneurs
|