103 lines
2.6 KiB
YAML
103 lines
2.6 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: nginx_${APP_NAME}
|
|
restart: 'no'
|
|
depends_on:
|
|
- phpfpm
|
|
ports:
|
|
- ${NGINX_PORT}:80
|
|
volumes:
|
|
- ./docker/nginx/templates:/etc/nginx/templates
|
|
- ${PROJECT_DIR}:/var/www
|
|
environment:
|
|
WEB_ROOT: ${WEB_ROOT}
|
|
|
|
phpfpm:
|
|
build: ./docker/php-fpm/
|
|
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
|
|
|
|
postgres:
|
|
image: postgis/postgis:12-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}:80
|
|
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:
|
|
- ./mysql/my.cnf:/etc/alternatives/my.cnf
|
|
- ./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
|
|
- ./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:
|
|
# default user will not work
|
|
# https://github.com/docker-library/rabbitmq/issues/452
|
|
RABBITMQ_DEFAULT_USER: ${USER}
|
|
RABBITMQ_DEFAULT_PASS: ${PASSWORD}
|
|
RABBITMQ_DEFAULT_VHOST: ${APP_NAME}
|
|
|
|
volumes:
|
|
pgsql:
|
|
mysql:
|
|
mysql_legacy:
|
|
pgadmin:
|