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: