130 lines
2.9 KiB
YAML
130 lines
2.9 KiB
YAML
|
|
services:
|
||
|
|
nginx:
|
||
|
|
build:
|
||
|
|
context: .
|
||
|
|
dockerfile: docker/Dockerfile.nginx
|
||
|
|
args:
|
||
|
|
HTTP_PROXY: ${HTTP_PROXY}
|
||
|
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||
|
|
container_name: nginx
|
||
|
|
ports:
|
||
|
|
- "80:80"
|
||
|
|
- "443:443"
|
||
|
|
volumes:
|
||
|
|
- ./docker/nginx/nginx.conf.template:/etc/nginx/nginx.conf.template
|
||
|
|
- ./${APP_HOST_DIR}:/var/www/app
|
||
|
|
- ./certs:/etc/nginx/certs
|
||
|
|
- ./docker/nginx/nginx-logs:/var/log/nginx
|
||
|
|
environment:
|
||
|
|
- DNS=${DNS}
|
||
|
|
- SSL_MODE=${SSL_MODE}
|
||
|
|
- HTTP_PROXY=${HTTP_PROXY}
|
||
|
|
- HTTPS_PROXY=${HTTPS_PROXY}
|
||
|
|
- NO_PROXY=${NO_PROXY}
|
||
|
|
depends_on:
|
||
|
|
- php
|
||
|
|
networks:
|
||
|
|
- laravel-net
|
||
|
|
|
||
|
|
php:
|
||
|
|
build:
|
||
|
|
context: .
|
||
|
|
dockerfile: docker/Dockerfile.php
|
||
|
|
args:
|
||
|
|
HTTP_PROXY: ${HTTP_PROXY}
|
||
|
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||
|
|
container_name: php
|
||
|
|
restart: unless-stopped
|
||
|
|
user: "${UID}:${GID}"
|
||
|
|
volumes:
|
||
|
|
- ./${APP_HOST_DIR}:/var/www/app
|
||
|
|
expose:
|
||
|
|
- "9000"
|
||
|
|
environment:
|
||
|
|
- HTTP_PROXY=${HTTP_PROXY}
|
||
|
|
- HTTPS_PROXY=${HTTPS_PROXY}
|
||
|
|
- NO_PROXY=${NO_PROXY}
|
||
|
|
networks:
|
||
|
|
- laravel-net
|
||
|
|
|
||
|
|
mariadb:
|
||
|
|
image: mariadb:latest
|
||
|
|
container_name: mariadb
|
||
|
|
environment:
|
||
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||
|
|
- MYSQL_USER=${MYSQL_USER}
|
||
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||
|
|
volumes:
|
||
|
|
- ./mariadb-data:/var/lib/mysql
|
||
|
|
ports:
|
||
|
|
- "3306:3306"
|
||
|
|
networks:
|
||
|
|
- laravel-net
|
||
|
|
|
||
|
|
phpmyadmin:
|
||
|
|
image: phpmyadmin/phpmyadmin
|
||
|
|
container_name: phpmyadmin
|
||
|
|
environment:
|
||
|
|
- PMA_HOST=${PMA_HOST}
|
||
|
|
- PMA_PORT=${PMA_PORT}
|
||
|
|
- HTTP_PROXY=${HTTP_PROXY}
|
||
|
|
- HTTPS_PROXY=${HTTPS_PROXY}
|
||
|
|
- NO_PROXY=${NO_PROXY}
|
||
|
|
ports:
|
||
|
|
- "8080:80"
|
||
|
|
depends_on:
|
||
|
|
- mariadb
|
||
|
|
networks:
|
||
|
|
- laravel-net
|
||
|
|
|
||
|
|
redis:
|
||
|
|
image: redis:latest
|
||
|
|
container_name: redis
|
||
|
|
restart: unless-stopped
|
||
|
|
environment:
|
||
|
|
- HTTP_PROXY=${HTTP_PROXY}
|
||
|
|
- HTTPS_PROXY=${HTTPS_PROXY}
|
||
|
|
- NO_PROXY=${NO_PROXY}
|
||
|
|
networks:
|
||
|
|
- laravel-net
|
||
|
|
|
||
|
|
mailhog:
|
||
|
|
image: mailhog/mailhog:latest
|
||
|
|
container_name: mailhog
|
||
|
|
ports:
|
||
|
|
- "8025:8025"
|
||
|
|
environment:
|
||
|
|
- HTTP_PROXY=${HTTP_PROXY}
|
||
|
|
- HTTPS_PROXY=${HTTPS_PROXY}
|
||
|
|
- NO_PROXY=${NO_PROXY}
|
||
|
|
networks:
|
||
|
|
- laravel-net
|
||
|
|
|
||
|
|
# ---------------------------------
|
||
|
|
# 👀 File Watcher (auto rebuild)
|
||
|
|
# ---------------------------------
|
||
|
|
watch:
|
||
|
|
user: "${UID}:${GID}"
|
||
|
|
build:
|
||
|
|
context: .
|
||
|
|
dockerfile: docker/Dockerfile.watch
|
||
|
|
args:
|
||
|
|
HTTP_PROXY: ${HTTP_PROXY}
|
||
|
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||
|
|
container_name: watch
|
||
|
|
restart: unless-stopped
|
||
|
|
volumes:
|
||
|
|
- ./${APP_HOST_DIR}:/app
|
||
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
||
|
|
environment:
|
||
|
|
- HTTP_PROXY=${HTTP_PROXY}
|
||
|
|
- HTTPS_PROXY=${HTTPS_PROXY}
|
||
|
|
- NO_PROXY=${NO_PROXY}
|
||
|
|
networks:
|
||
|
|
- laravel-net
|
||
|
|
|
||
|
|
networks:
|
||
|
|
laravel-net:
|
||
|
|
driver: bridge
|