- Add build/load script for image management - Use .env config for image naming and PHP version - Switch to www-data user in Dockerfile - Update compose.yaml to use pre-built images - Add .dockerignore - Simplify entrypoint script
53 lines
1.0 KiB
YAML
53 lines
1.0 KiB
YAML
services:
|
|
web:
|
|
image: nginx:latest
|
|
volumes:
|
|
- ./:/var/www
|
|
- ./docker/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
ports:
|
|
- "8000:80"
|
|
environment:
|
|
- NGINX_HOST=localhost
|
|
depends_on:
|
|
php-fpm:
|
|
condition: service_started
|
|
|
|
php-fpm:
|
|
image: "${IMAGE_NAME}:${IMAGE_TAG}"
|
|
user: "${APP_UID}:${APP_GID}"
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./:/var/www
|
|
depends_on:
|
|
mysql:
|
|
condition: service_started
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
ports:
|
|
- "${DB_PORT:-3306}:3306"
|
|
environment:
|
|
- MYSQL_DATABASE=${DB_DATABASE}
|
|
- MYSQL_USER=${DB_USERNAME}
|
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
|
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
|
|
volumes:
|
|
- mysql-data:/var/lib/mysql
|
|
|
|
phpmyadmin:
|
|
image: phpmyadmin:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:80"
|
|
environment:
|
|
- PMA_HOST=mysql
|
|
- PMA_PORT=${DB_PORT:-3306}
|
|
- UPLOAD_LIMIT=100M
|
|
depends_on:
|
|
mysql:
|
|
condition: service_started
|
|
|
|
volumes:
|
|
mysql-data:
|