180 lines
5.0 KiB
YAML
180 lines
5.0 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: nginx_${APP_NAME}
|
|
restart: 'no'
|
|
depends_on:
|
|
- ${PHP_HOST}
|
|
ports:
|
|
- ${NGINX_PORT}:80
|
|
volumes:
|
|
- ./docker/nginx/templates:/etc/nginx/templates
|
|
- ${PROJECT_DIR}:/var/www
|
|
environment:
|
|
WEB_ROOT: ${WEB_ROOT}
|
|
# this allows you to switch versions
|
|
# use the name of a php service presented in this file
|
|
# in your .env
|
|
PHP_HOST: ${PHP_HOST}
|
|
|
|
phpfpm:
|
|
build:
|
|
context: ./docker/php-fpm/
|
|
dockerfile: Dockerfile.dist
|
|
container_name: phpfpm_${APP_NAME}
|
|
restart: 'no'
|
|
volumes:
|
|
- ${PROJECT_DIR}:/var/www
|
|
- ./docker/php-fpm/php.ini:/etc/php/7.4/php.ini
|
|
- ./docker/php-fpm/xdebug.ini:/etc/php/7.4/mods-available/xdebug.ini
|
|
- ./docker/php-fpm/supervisor.conf:/etc/supervisor/supervisor_nodeamon.conf
|
|
- ./docker/imagick/policy.xml:/etc/ImageMagick-6/policy.xml
|
|
# One can add any configuration overrides.
|
|
# Just put them under ./docker/userconfigs/
|
|
# and map as following
|
|
# - ./docker/userconfigs/supervisor/conf.d:/etc/supervisor/conf.d
|
|
environment:
|
|
XDEBUG_PORT: ${XDEBUG_PORT}
|
|
XDEBUG_HOST: ${XDEBUG_HOST}
|
|
XDEBUG_IDE: ${XDEBUG_IDE}
|
|
working_dir: /var/www
|
|
|
|
phpfpm8:
|
|
build:
|
|
context: ./docker/php-fpm8/
|
|
dockerfile: Dockerfile.dist
|
|
container_name: phpfpm8_${APP_NAME}
|
|
restart: 'no'
|
|
volumes:
|
|
- ${PROJECT_DIR}:/var/www
|
|
- ./docker/php-fpm8/php.ini:/etc/php/8.0/php.ini
|
|
- ./docker/php-fpm8/xdebug.ini:/etc/php/8.0/mods-available/xdebug.ini
|
|
- ./docker/php-fpm8/supervisor.conf:/etc/supervisor/supervisor_nodeamon.conf
|
|
- ./docker/imagick/policy.xml:/etc/ImageMagick-6/policy.xml
|
|
# One can add any configuration overrides.
|
|
# Just put them under ./docker/userconfigs/
|
|
# and map as following
|
|
# - ./docker/userconfigs/supervisor/conf.d:/etc/supervisor/conf.d
|
|
environment:
|
|
XDEBUG_PORT: ${XDEBUG_PORT}
|
|
XDEBUG_HOST: ${XDEBUG_HOST}
|
|
XDEBUG_IDE: ${XDEBUG_IDE}
|
|
working_dir: /var/www
|
|
|
|
phpfpm81:
|
|
build:
|
|
context: ./docker/php-fpm81/
|
|
dockerfile: Dockerfile.dist
|
|
container_name: phpfpm81_${APP_NAME}
|
|
restart: 'no'
|
|
volumes:
|
|
- ${PROJECT_DIR}:/var/www
|
|
- ./docker/php-fpm81/php.ini:/etc/php/8.1/php.ini
|
|
- ./docker/php-fpm81/pools/www.conf:/etc/php/8.1/fpm/pool.d/www.conf
|
|
- ./docker/php-fpm81/xdebug.ini:/etc/php/8.1/mods-available/xdebug.ini
|
|
- ./docker/php-fpm81/supervisor.conf:/etc/supervisor/supervisor_nodeamon.conf
|
|
- ./docker/imagick/policy.xml:/etc/ImageMagick-6/policy.xml
|
|
environment:
|
|
XDEBUG_PORT: ${XDEBUG_PORT}
|
|
XDEBUG_HOST: ${XDEBUG_HOST}
|
|
XDEBUG_IDE: ${XDEBUG_IDE}
|
|
working_dir: /var/www
|
|
|
|
postgres:
|
|
image: postgis/postgis:13-master
|
|
container_name: postgis_${APP_NAME}
|
|
restart: 'no'
|
|
ports:
|
|
- ${PG_PORT}:5432
|
|
volumes:
|
|
- pgsql:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_PASSWORD: ${PASSWORD}
|
|
|
|
pgadmin:
|
|
image: dpage/pgadmin4:latest
|
|
restart: 'no'
|
|
container_name: pgadmin_${APP_NAME}
|
|
ports:
|
|
- ${PG_ADMIN_PORT}:${PG_ADMIN_PORT}
|
|
volumes:
|
|
- pgadmin:/var/lib/pgadmin:rw
|
|
environment:
|
|
PGADMIN_LISTEN_PORT: ${PG_ADMIN_PORT}
|
|
PGADMIN_DEFAULT_EMAIL: ${EMAIL}
|
|
PGADMIN_DEFAULT_PASSWORD: ${PASSWORD}
|
|
|
|
mysql-legacy:
|
|
image: mysql:5.7
|
|
restart: 'no'
|
|
container_name: mysql_legacy_${APP_NAME}
|
|
ports:
|
|
- ${MYSQL_LEGACY_PORT}:3306
|
|
volumes:
|
|
- ./docker/mysql/my.cnf:/etc/alternatives/my.cnf
|
|
- ./docker/mysql/mysql.conf.d:/etc/mysql/conf.d/
|
|
- mysql_legacy:/var/lib/mysql
|
|
environment:
|
|
MYSQL_TCP_PORT: ${MYSQL_LEGACY_PORT}
|
|
MYSQL_ROOT_PASSWORD: ${PASSWORD}
|
|
|
|
mysql:
|
|
image: mysql:latest
|
|
container_name: mysql_${APP_NAME}
|
|
restart: 'no'
|
|
environment:
|
|
MYSQL_TCP_PORT: ${MYSQL_PORT}
|
|
MYSQL_ROOT_PASSWORD: ${PASSWORD}
|
|
ports:
|
|
- ${MYSQL_PORT}:3306
|
|
volumes:
|
|
- mysql:/var/lib/mysql
|
|
- ./docker/mysql-latest:/etc/mysql/conf.d
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:management-alpine
|
|
container_name: rabbit_${APP_NAME}
|
|
restart: 'no'
|
|
ports:
|
|
- ${RABBIT_ADMIN_PORT}:15672
|
|
- ${RABBIT_PORT}:5672
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: ${APP_USER}
|
|
RABBITMQ_DEFAULT_PASS: ${PASSWORD}
|
|
RABBITMQ_DEFAULT_VHOST: ${APP_NAME}
|
|
|
|
minio:
|
|
image: minio/minio
|
|
hostname: minio
|
|
container_name: minio_${APP_NAME}
|
|
restart: 'no'
|
|
ports:
|
|
- ${MINIO_ADMIN_PORT}:9001
|
|
- ${MINIO_PORT}:9000
|
|
environment:
|
|
MINIO_ROOT_USER: ${APP_USER}
|
|
MINIO_ROOT_PASSWORD: ${PASSWORD}
|
|
MINIO_REGION_NAME: ${MINIO_REGION_NAME}
|
|
volumes:
|
|
- minio:/data
|
|
command: minio server --console-address ":9001" /data
|
|
|
|
volumes:
|
|
pgsql:
|
|
name: pgsql_${APP_NAME}
|
|
external: false
|
|
mysql:
|
|
name: mysql_${APP_NAME}
|
|
external: false
|
|
mysql_legacy:
|
|
name: mysql_legacy_${APP_NAME}
|
|
external: false
|
|
pgadmin:
|
|
name: pgadmin_${APP_NAME}
|
|
external: false
|
|
minio:
|
|
name: minio_${APP_NAME}
|
|
external: false
|