Files
pta/docker-compose.yml
2026-08-07 16:19:14 +02:00

88 lines
2.1 KiB
YAML

services:
db:
image: mariadb:11.4
container_name: pta-db
restart: unless-stopped
environment:
MARIADB_DATABASE: ${DB_NAME:-pta}
MARIADB_USER: ${DB_USER:-pta}
MARIADB_PASSWORD: ${DB_PASSWORD:-pta}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-pta}
TZ: ${TZ:-Europe/Paris}
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- mariadb_data:/var/lib/mysql
# Ce fichier n'est exécuté QUE lors de l'initialisation d'un volume vide.
- ./database/pta_prod_schema_mariadb.sql:/docker-entrypoint-initdb.d/01-pta-schema.sql:ro
healthcheck:
test: ["CMD-SHELL", "mariadb-admin ping -h 127.0.0.1 -uroot -p\"$${MARIADB_ROOT_PASSWORD}\" --silent"]
interval: 10s
timeout: 5s
retries: 10
start_period: 20s
networks:
- pta
php:
build:
context: .
dockerfile: Dockerfile
target: php
container_name: pta-php
restart: unless-stopped
environment:
PTA_DB_HOST: db
PTA_DB_PORT: 3306
PTA_DB_NAME: ${DB_NAME:-pta}
PTA_DB_USER: ${DB_USER:-pta}
PTA_DB_PASS: ${DB_PASSWORD:-change_me}
TZ: ${TZ:-Europe/Paris}
depends_on:
db:
condition: service_healthy
networks:
- pta
nginx:
build:
context: .
dockerfile: Dockerfile
target: nginx
container_name: pta-nginx
restart: unless-stopped
ports:
- "${APP_BIND:-0.0.0.0}:${APP_PORT:-8080}:80"
depends_on:
- php
networks:
- pta
phpmyadmin:
image: phpmyadmin:5.2.2
container_name: pta-phpmyadmin
restart: unless-stopped
environment:
PMA_HOST: db
PMA_PORT: 3306
PMA_USER: ${DB_USER:-pta}
PMA_PASSWORD: ${DB_PASSWORD:-change_me}
UPLOAD_LIMIT: 64M
TZ: ${TZ:-Europe/Paris}
ports:
# Par défaut phpMyAdmin n'est accessible que depuis la machine hôte.
- "${PMA_BIND:-127.0.0.1}:${PMA_PORT:-8081}:80"
depends_on:
db:
condition: service_healthy
networks:
- pta
networks:
pta:
driver: bridge
volumes:
mariadb_data: