version: '3.5' networks: app-network: driver: ${NETWORK_TYPE} services: elasticsearch: image: elasticsearch:${ES_VER} hostname: elasticsearch volumes: - ${WORKSPACE_PATH}/data/elasticsearch:/usr/share/elasticsearch/data environment: - cluster.name=mda-cluster - node.name=mda-node - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - cluster.initial_master_nodes=mda-node ulimits: memlock: soft: -1 hard: -1 ports: - "9200:9200" - "9300:9300" networks: - app-network deploy: resources: limits: memory: 1g nginx: image: nginx:alpine hostname: nginx restart: unless-stopped tty: true ports: - "8080:80" - "443:443" volumes: - ${PROJECT_DIR}:/var/www:delegated - ./cfg/nginx/conf.d/:/etc/nginx/conf.d - ./cfg/nginx/ssl/:/etc/nginx/ssl networks: - app-network mysql: image: mysql:${MYSQL_VER} hostname: mysql restart: unless-stopped tty: true ports: - "${MYSQL_PORT}:${MYSQL_PORT}" environment: MYSQL_DATABASE: default MYSQL_ROOT_PASSWORD: root SERVICE_TAGS: dev SERVICE_NAME: mysql volumes: # Mount devilbox user-defined cnf files in order # to overwrite the MySQL server configuration - ${WORKSPACE_PATH}/cfg/MySQL/${MYSQL_VER}:/etc/mysql/docker-default.d:ro # Mount MySQL Data directory - ${WORKSPACE_PATH}/data/MySQL-${MYSQL_VER}:/var/lib/mysql:rw networks: - app-network redis: image: 'redis:${REDIS_VER}' hostname: redis environment: - ALLOW_EMPTY_PASSWORD=yes - REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL networks: - app-network ports: - "${REDIS_PORT}:6379" volumes: - ${WORKSPACE_PATH}/data/redis:/bitnami/redis/data memcached: image: memcached:${MEMCACHED_VER} hostname: memcached ports: # [local-machine:]local-port:docker-port - "${MEMCACHED_PORT}:11211" networks: - app-network volumes: # Mount logs - ${WORKSPACE_PATH}/data/Memcached/log/memcd-${MEMCACHED_VER}:/var/log/memcd:rw machine: build: context: ./.docker/debian/ args: VERSION: ${_VER} _PACKAGES: ${INTRODUCTION_PKGS} PACKAGES_: ${EX_PKGS} ENABLE_PHP: ${ENABLE_PHP} PHP: ${PHP_VER} ENABLE_YARN: ${ENABLE_YARN} ENABLE_NODEJS: ${ENABLE_NODEJS} CUSTOM_BASH: ${CUSTOM_BASH} container_name: machine entrypoint: ["bash", "/root/entrypoint/entrypoint.sh"] tty: true ports: - "${LOCAL_PORT}:${APP_PORT}" environment: SERVICE_NAME: machine SERVICE_TAGS: dev volumes: - ${PROJECT_DIR}:/var/www:delegated - ${SSH_PATH}:/root/.ssh - ./cfg/php/www.conf:/etc/php/7.1/fpm/pool.d/www.conf - ./entrypoint.sh:/root/entrypoint/entrypoint.sh networks: - app-network