version: '2' services: ### Workspace Utilities Container ########################### workspace: build: context: ./workspace args: - INSTALL_MONGO=false - INSTALL_XDEBUG=false - INSTALL_NODE=false - COMPOSER_GLOBAL_INSTALL=false - INSTALL_WORKSPACE_SSH=false - PUID=1000 - PGID=1000 volumes_from: - volumes_source extra_hosts: # IMPORTANT: Replace with your Docker Host IP # this will be appended to /etc/hosts # Note that this IP can perhaps be better injected via .env - "dockerhost:10.0.75.1" tty: true ### PHP-FPM Container ####################################### php-fpm: build: context: ./php-fpm args: - INSTALL_MONGO=false - INSTALL_XDEBUG=false - INSTALL_ZIP_ARCHIVE=false - INSTALL_MEMCACHED=false dockerfile: Dockerfile-70 volumes_from: - volumes_source expose: - "9000" links: - workspace extra_hosts: # IMPORTANT: Replace with your Docker Host IP # this will be appended to /etc/hosts # Note that this IP can perhaps be better injected via .env - "dockerhost:10.0.75.1" environment: # IMPORTANT: You must have a Remote Interpreter entry matching this name # In settings, search for interpreter... # PHP > Languages & Frameworks > PHP > Interpreter > click on [...] # Need to have a Remote Interpreter named 'laravel' - PHP_IDE_CONFIG="serverName=laravel" ### Nginx Server Container ################################## nginx: build: context: ./nginx args: - PHP_UPSTREAM=php-fpm volumes_from: - volumes_source volumes: - ./logs/nginx/:/var/log/nginx ports: - "80:80" - "443:443" links: - php-fpm ### Apache Server Container ################################## apache2: build: context: ./apache2 args: - PHP_SOCKET="php-fpm:9000" volumes_from: - volumes_source volumes: - ./logs/apache2:/var/log/apache2 ports: - "80:80" - "443:443" links: - php-fpm ### HHVM Container ########################################## hhvm: build: ./hhvm volumes_from: - volumes_source expose: - "9000" links: - workspace ### MySQL Container ######################################### mysql: build: ./mysql volumes_from: - volumes_data ports: - "3306:3306" environment: MYSQL_DATABASE: homestead MYSQL_USER: homestead MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root ### PostgreSQL Container #################################### postgres: build: ./postgres volumes_from: - volumes_data ports: - "5432:5432" environment: POSTGRES_DB: homestead POSTGRES_USER: homestead POSTGRES_PASSWORD: secret ### MariaDB Container ####################################### mariadb: build: ./mariadb volumes_from: - volumes_data ports: - "3306:3306" environment: MYSQL_DATABASE: homestead MYSQL_USER: homestead MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root ### Neo4j Container ######################################### neo4j: build: ./neo4j ports: - "7474:7474" - "1337:1337" environment: - NEO4J_AUTH=homestead:secret volumes_from: - volumes_data ### MongoDB Container ####################################### mongo: build: ./mongo ports: - "27017:27017" volumes_from: - volumes_data ### Redis Container ######################################### redis: build: ./redis volumes_from: - volumes_data ports: - "6379:6379" ### Memcached Container ##################################### memcached: build: ./memcached volumes_from: - volumes_data ports: - "11211:11211" links: - php-fpm ### Beanstalkd Container #################################### beanstalkd: build: ./beanstalkd ports: - "11300:11300" privileged: true links: - php-fpm ### Beanstalkd Console Container ############################ beanstalkd-console: build: ./beanstalkd-console ports: - "2080:2080" links: - beanstalkd ### Caddy Server Container ################################## caddy: build: ./caddy volumes_from: - volumes_source ports: - "80:80" - "443:443" - "2015:2015" volumes: - ./caddy/Caddyfile:/etc/Caddyfile links: - php-fpm ### Laravel Application Code Container ###################### volumes_source: build: ./volumes/application volumes: - ../:/var/www/laravel ### Databases Data Container ################################ volumes_data: build: ./volumes/data volumes: - ./data/mysql:/var/lib/mysql - ./data/postgres:/var/lib/postgres - ./data/mariadb:/var/lib/mariadb - ./data/memcached:/var/lib/memcached - ./data/redis:/data - ./data/neo4j:/var/lib/neo4j/data - ./data/mongo:/data/db ### Add more Containers below ###############################