Déplacement des fichiers docker-compose dans un sous-répertoire.
This commit is contained in:
@@ -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
|
||||
@@ -0,0 +1,5 @@
|
||||
services:
|
||||
server-php:
|
||||
# Pour Vite notamment
|
||||
ports:
|
||||
- "${VITE_PORT}:${VITE_PORT}"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user