version: '3' services: web: build: context: ./conf/nginx image: maxlab/nginx restart: always env_file: .env depends_on: - php7xdebug - mysql - pgsql - redis - mailcatcher volumes: - ./conf/nginx/conf:/etc/nginx - ./conf/nginx/conf/sites-available/vhost/symfony.env.tpl:/tmp/nginx/symfony.env.tpl - ./workspace:/data links: - php7xdebug:fpm7 - mailcatcher ports: - 80:80 - 443:443 command: /bin/bash -c "envsubst '$$SYMFONY_ENV' < /tmp/nginx/symfony.env.tpl > /etc/nginx/sites-available/vhost/symfony && nginx" mysql: image: mysql:5.7 container_name: mysql env_file: .env ports: - 3307:3306 volumes: - ./conf/mysql/conf:/etc/mysql/conf.d - ./data/mysql:/var/lib/mysql restart: always pgsql: image: postgres:9.6 env_file: .env ports: - 5433:5432 volumes: - ./data/pgsql:/var/lib/postgresql/data restart: always redis: image: redis:3.0 restart: always volumes: - ./data/redis:/data ports: - 6379:6379 mailcatcher: image: schickling/mailcatcher restart: always php7console: env_file: .env build: args: - TZ=$${TZ} context: ./conf/php7console container_name: php7console image: maxlab/php7console dns: - $${DNS1} - $${DNS2} restart: always volumes: - ./workspace:/data tty: true php7xdebug: env_file: .env build: args: - TZ=$${TZ} - HOSTIP=$${HOSTIP} context: ./conf/php7xdebug image: maxlab/php7xdebug dns: - $${DNS1} - $${DNS2} restart: always volumes: - ./workspace:/data links: - pgsql - mysql - mailcatcher - redis - elasticsearch dnsmasq: env_file: .env build: args: - DNS1=$${DNS1} - DNS2=$${DNS2} context: ./conf/dnsmasq ports: - "53:53" - "53:53/udp" cap_add: - NET_ADMIN restart: always elasticsearch: image: sebp/elk:551 volumes: - ./data/elasticsearch:/var/lib/elasticsearch ports: - "9200:9200" - "5601:5601" - "5044:5044"