88 lines
2.1 KiB
YAML
88 lines
2.1 KiB
YAML
version: "3.8"
|
|
|
|
volumes:
|
|
db-data:
|
|
|
|
services:
|
|
# Database Server
|
|
database:
|
|
container_name: TTP-MySQL
|
|
image: mysql:8.0
|
|
ports:
|
|
- ${DOCKER_DB_PORT}:3306
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${DOCKER_DB_PASSWORD}
|
|
MYSQL_DATABASE: ${DB_DATABASE}
|
|
MYSQL_USER: ${DOCKER_DB_USERNAME}
|
|
MYSQL_PASSWORD: ${DOCKER_DB_PASSWORD}
|
|
volumes:
|
|
- db-data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin" ,"ping"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 10
|
|
|
|
phpmyadmin:
|
|
container_name: TTP-PhpMyAdmin
|
|
image: phpmyadmin:latest
|
|
ports:
|
|
- '7000:80'
|
|
restart: always
|
|
environment:
|
|
PMA_HOST: database
|
|
depends_on:
|
|
database:
|
|
condition: service_healthy
|
|
# NGINX
|
|
webone:
|
|
container_name: TTP-Nginx
|
|
build:
|
|
context: .
|
|
dockerfile: ./docker/Dockerfile
|
|
target: nginx
|
|
volumes:
|
|
- ./:/var/www/html
|
|
- ./docker/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
ports:
|
|
- "8080:80"
|
|
links:
|
|
- php
|
|
depends_on:
|
|
- php
|
|
|
|
# apache
|
|
webtwo:
|
|
container_name: TTP-Apache
|
|
build:
|
|
context: .
|
|
dockerfile: ./docker/Dockerfile
|
|
target: apache
|
|
volumes:
|
|
- ./:/var/www/html
|
|
- ./docker/apache.conf:/etc/apache2/sites-available/000-default.conf
|
|
ports:
|
|
- "8000:80"
|
|
environment:
|
|
- APP_ENV=${APP_ENV}
|
|
depends_on:
|
|
- php
|
|
|
|
# php
|
|
php:
|
|
container_name: TTP-Php
|
|
build:
|
|
context: .
|
|
dockerfile: ./docker/Dockerfile
|
|
target: php-fpm
|
|
working_dir: /var/www/html
|
|
volumes:
|
|
- ./:/var/www/html
|
|
ports:
|
|
- "9000:9000"
|
|
environment:
|
|
- APP_ENV=${APP_ENV}
|
|
depends_on:
|
|
database:
|
|
condition: service_healthy
|