version: '3.6' services: nginx: image: nginx restart: always volumes: - ${PROJECTS_DIR}:/usr/share/nginx/html - ./config/nginx/conf.d:/etc/nginx/conf.d - ./config/nginx/includes.d:/etc/nginx/includes.d - ./log/nginx:/var/log/nginx ports: - "80:80" php: build: context: ./dockerfiles/php-fpm args: - INSTALL_REDIS=${INSTALL_REDIS} - INSTALL_PEAR_MAIL=${INSTALL_PEAR_MAIL} - PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG} - PHP_OPT_MAX_EXECUTION_TIME=${PHP_OPT_MAX_EXECUTION_TIME} - PHP_OPT_MEMORY_LIMIT=${PHP_OPT_MEMORY_LIMIT} - PHP_OPT_POST_MAX_SIZE=${PHP_OPT_POST_MAX_SIZE} - PHP_OPT_UPLOAD_MAX_FILESIZE=${PHP_OPT_UPLOAD_MAX_FILESIZE} restart: always volumes: - ${PROJECTS_DIR}:/usr/share/nginx/html - ./data/profiler:/tmp/profiler workspace: build: context: ./dockerfiles/workspace args: - CUSTOM_PUID=${WORKSPACE_PUID} - CUSTOM_PGID=${WORKSPACE_PGID} - CUSTOM_TZ=${WORKSPACE_TIMEZONE} - PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG} - PHP_OPT_MAX_EXECUTION_TIME=${WORKSPACE_PHP_OPT_MAX_EXECUTION_TIME} - PHP_OPT_MEMORY_LIMIT=${WORKSPACE_PHP_OPT_MEMORY_LIMIT} restart: always volumes: - ${PROJECTS_DIR}:/var/www extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" secrets: - user_ssh_key - user_known_hosts - composer_auth db: image: mariadb restart: always environment: MYSQL_ROOT_PASSWORD: 123456 ports: - "3306:3306" volumes: - database:/var/lib/mysql - ./hostfiles:/hostfiles - ./log/mariadb:/var/log/mariadb - ./config/mariadb:/etc/mysql/conf.d pma: image: phpmyadmin/phpmyadmin restart: always environment: PMA_HOST: db PMA_USER: root PMA_PASSWORD: 123456 ports: - "81:80" inbucket: image: inbucket/inbucket restart: always ports: - "2500:2500" - "82:9000" redis: image: redis restart: always command: [ "redis-server", "/usr/local/etc/redis/redis.conf" ] volumes: - ./config/redis/redis.conf:/usr/local/etc/redis/redis.conf elastic: build: context: ./dockerfiles/elastic restart: on-failure environment: - discovery.type=single-node - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 expose: - "9200" - "9300" minio: image: minio/minio:RELEASE.2020-06-12T00-06-19Z restart: always environment: MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY} MINIO_SECRET_KEY: ${MINIO_SECRET_KEY} command: server /minio pm2: build: context: ./dockerfiles/pm2 restart: always expose: - 3000