Déplacement des fichiers docker-compose dans un sous-répertoire.

This commit is contained in:
2026-03-01 16:28:32 +01:00
parent a7f9717b02
commit cebf1ce759
9 changed files with 29 additions and 29 deletions
+13
View File
@@ -0,0 +1,13 @@
services:
server-php:
image: ${APACHE_PHP_VERSION}
environment:
- APACHE_ADMIN_EMAIL=${APACHE_ADMIN_EMAIL}
volumes:
- ${PWD}/www:/var/www/html
- ${PWD}/host/apache/logs:/var/log/apache2
- ${PWD}/host/apache/conf/vhost.conf:/etc/apache2/sites-available/000-default.conf
- ${PWD}/host/apache/conf/apache2.conf:/etc/apache2/conf-enabled/docker.conf
+5
View File
@@ -0,0 +1,5 @@
services:
server-php:
# Pour Vite notamment
ports:
- "${VITE_PORT}:${VITE_PORT}"
+28
View File
@@ -0,0 +1,28 @@
services:
server-php:
build:
context: .
args:
FRANKENPHP_IMAGE: ${FRANKENPHP_VERSION}
dockerfile: ${PWD}/docker/Dockerfile.frankenphp
environment:
FRANKENPHP_ROOT_PATH: ${FRANKENPHP_ROOT_PATH}
# Configuration en local
VITE_PORT: ${VITE_PORT}
volumes:
- ${PWD}/www:/app
- ${PWD}/host/frankenphp/conf/Caddyfile:/etc/frankenphp/Caddyfile
- ${PWD}/host/php/conf/${OPCACHE_CONFIG_FILE:-opcache.default.ini}:/usr/local/etc/php/conf.d/opcache.ini
- ${PWD}/upload:/app/public/upload
user: "${UID:-1000}:${GID:-1000}"
healthcheck:
test: [ "CMD-SHELL", "curl -s http://localhost/server-php-test.php || exit 1" ]
interval: 30s
timeout: 1s
retries: 10
start_period: 1s
+17
View File
@@ -0,0 +1,17 @@
services:
traefik:
command:
- "--certificatesresolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
volumes:
- ${PWD}/certs/letsencrypt:/letsencrypt
server-php:
labels:
- traefik.http.routers.${CONTAINER_PREFIX}_server_php.tls.certresolver=letsencrypt
phpmyadmin:
labels:
- traefik.http.routers.${CONTAINER_PREFIX}_pma.tls.certresolver=letsencrypt
+15
View File
@@ -0,0 +1,15 @@
services:
mailhog:
restart: unless-stopped
container_name: ${CONTAINER_PREFIX}_mailhog
image: mailhog/mailhog:latest
logging:
driver: 'none'
labels:
- traefik.enable=true
- traefik.http.routers.${CONTAINER_PREFIX}_mailhog.rule=Host(`${MAILHOG_URL}`)
- traefik.http.routers.${CONTAINER_PREFIX}_mailhog.entrypoints=websecure
- traefik.http.services.${CONTAINER_PREFIX}_mailhog.loadbalancer.server.port=8025
networks:
- frontend
+17
View File
@@ -0,0 +1,17 @@
services:
uploads:
image: nginx:alpine
container_name: ${CONTAINER_PREFIX}_uploads
restart: unless-stopped
volumes:
- ${PWD}/upload:/usr/share/nginx/html:ro
labels:
- traefik.enable=true
- traefik.docker.network=frontend
- traefik.http.routers.${CONTAINER_PREFIX}_uploads.rule=Host(`upload.${PROJECT_URL}`)
- traefik.http.routers.${CONTAINER_PREFIX}_uploads.entrypoints=websecure
- traefik.http.routers.${CONTAINER_PREFIX}_uploads.tls=true
- traefik.http.services.${CONTAINER_PREFIX}_uploads.loadbalancer.server.port=80
networks:
- frontend
+60
View File
@@ -0,0 +1,60 @@
networks:
frontend:
external: true
name: frontend
backend:
services:
# Configuration de la base de données avec MariaDB
database:
restart: unless-stopped
container_name: ${CONTAINER_PREFIX}_database
image: ${DATABASE_IMAGE}
volumes:
# Données
- ${PWD}/host/database/data:/var/lib/mysql
- ${PWD}/host/database/sql:/sql
- ${PWD}/host/database/backups:/backups
# Configuration
- ${PWD}/host/database/conf/my.cnf:/etc/mysql/mariadb.conf.d/my.cnf
environment:
MARIADB_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD}
networks:
- backend
# Configuration du serveur PHP
server-php:
restart: unless-stopped
container_name: ${CONTAINER_PREFIX}_server_php
labels:
- traefik.enable=true
- traefik.docker.network=frontend
- traefik.http.routers.${CONTAINER_PREFIX}_server_php.rule=Host(`${PROJECT_URL}`)
- traefik.http.routers.${CONTAINER_PREFIX}_server_php.entrypoints=websecure
- traefik.http.routers.${CONTAINER_PREFIX}_server_php.tls=true
- traefik.http.services.${CONTAINER_PREFIX}_server_php.loadbalancer.server.port=80
depends_on:
- database
networks:
- frontend
- backend
# Configuration de PHPMyAdmin
phpmyadmin:
restart: unless-stopped
container_name: ${CONTAINER_PREFIX}_pma
image: ${PHPMYADMIN_IMAGE}
depends_on:
- database
labels:
- traefik.enable=true
- traefik.docker.network=frontend
- traefik.http.routers.${CONTAINER_PREFIX}_pma.rule=Host(`${PHPMYADMIN_URL}`)
- traefik.http.routers.${CONTAINER_PREFIX}_pma.entrypoints=websecure
- traefik.http.routers.${CONTAINER_PREFIX}_pma.tls=true
environment:
- PMA_HOST=database
networks:
- frontend
- backend