version: "3.1" services: node: build: context: . dockerfile: phpdocker/node/Dockerfile container_name: deployer-node image: rebelinblue/deployer-node:latest working_dir: /application volumes: - ./application:/application - ./phpdocker/node/supervisord.conf:/etc/supervisor/supervisord.conf ports: - "6001:6001" links: - redis beanstalkd: image: schickling/beanstalkd container_name: deployer-beanstalkd mailhog: image: phpdockerio/mailhog:latest container_name: deployer-mailhog ports: - "8001:8025" redis: image: phpdockerio/redis:latest container_name: deployer-redis mysql: image: mysql:5.7 container_name: deployer-mysql working_dir: /application ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=deployer - MYSQL_USER=deployer - MYSQL_PASSWORD=secret ports: - "3306:3306" volumes: - data:/var/lib/mysql webserver: image: phpdockerio/nginx:latest container_name: deployer-webserver working_dir: /application volumes: - ./application:/application - ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf ports: - "8000:80" links: - php-fpm - node worker: build: context: . dockerfile: phpdocker/worker/Dockerfile container_name: deployer-worker image: rebelinblue/deployer-worker:latest volumes: - ./application:/application - ./phpdocker/worker/supervisord.conf:/etc/supervisor/supervisord.conf links: - beanstalkd - mysql - redis php-fpm: build: context: . dockerfile: phpdocker/php-fpm/Dockerfile container_name: deployer-php-fpm image: rebelinblue/deployer-php-fpm:latest working_dir: /application volumes: - ./application:/application - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.1/fpm/conf.d/99-overrides.ini links: - beanstalkd - mailhog - mysql - redis volumes: data: driver: "local"