61 lines
1.5 KiB
YAML
61 lines
1.5 KiB
YAML
services:
|
|
mysql:
|
|
image: 'mysql:8.0'
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
|
|
MYSQL_DATABASE: '${DB_DATABASE}'
|
|
MYSQL_USER: '${DB_USERNAME}'
|
|
MYSQL_PASSWORD: '${DB_PASSWORD}'
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
|
|
volumes:
|
|
- 'mysql-data:/var/lib/mysql'
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "${DB_USERNAME}", "-p${DB_PASSWORD}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
restart: always
|
|
|
|
laravel.test:
|
|
build:
|
|
context: ./vendor/laravel/sail/runtimes/8.2
|
|
dockerfile: Dockerfile
|
|
args:
|
|
WWWGROUP: '${WWWGROUP}'
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
environment:
|
|
WWWUSER: '${WWWUSER}'
|
|
LARAVEL_SAIL: 1
|
|
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
|
|
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
|
|
volumes:
|
|
- '.:/var/www/html'
|
|
command: >
|
|
sh -c "php artisan migrate --force && php-fpm"
|
|
healthcheck:
|
|
test: ["CMD", "php", "artisan", "health:check"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
restart: always
|
|
|
|
nginx:
|
|
image: 'nginx:alpine'
|
|
depends_on:
|
|
laravel.test:
|
|
condition: service_healthy
|
|
ports:
|
|
- '80:80'
|
|
volumes:
|
|
- '.:/var/www/html'
|
|
- './nginx.conf:/etc/nginx/conf.d/default.conf'
|
|
restart: always
|
|
|
|
volumes:
|
|
mysql-data:
|
|
driver: local
|