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 build: context: ${PWD} args: SERVER_PHP_IMAGE: ${SERVER_PHP_IMAGE} dockerfile: ${PWD}/docker/Dockerfile.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 user: "${UID:-1000}:${GID:-1000}" # 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