version: '2' services: ### Applications Code Container ############################# applications: image: tianon/true volumes: # as long as all the Vainglory repo are checked out on the same level this will work just fine # volume to map Vainsocial.com code. used by Workspace repo. - ../vainsocial/:/var/www/vainsocial ### Workspace Utilities Container ########################### workspace: container_name: vaindock_workspace build: context: ./workspace args: - INSTALL_XDEBUG=true - INSTALL_NODE=false # required is node is not installed locally - INSTALL_YARN=false - INSTALL_V8JS_EXTENSION=false - COMPOSER_GLOBAL_INSTALL=true # required if composer is not installed locally - INSTALL_WORKSPACE_SSH=true - INSTALL_LARAVEL_ENVOY=false - INSTALL_DEPLOYER=false - PUID=1000 - PGID=1000 - NODE_VERSION=stable - YARN_VERSION=latest - TZ=UTC volumes_from: - applications extra_hosts: # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) - "dockerhost:10.0.75.1" ports: - "2222:22" links: - vaindock_rabbitmq - vaindock_postgres tty: true ### PHP-FPM Container ####################################### php-fpm: container_name: vaindock_php-fpm build: context: ./php-fpm args: - INSTALL_XDEBUG=true - INSTALL_SOAP=false - INSTALL_MONGO=false - INSTALL_ZIP_ARCHIVE=false - INSTALL_BCMATH=false - INSTALL_PHPREDIS=true - INSTALL_MEMCACHED=false - INSTALL_OPCACHE=false - INSTALL_EXIF=false dockerfile: Dockerfile-70 volumes_from: - applications expose: - "9000" links: - workspace - vaindock_postgres extra_hosts: # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) - "dockerhost:10.0.75.1" environment: # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel` - PHP_IDE_CONFIG=serverName=laravel vaindock_nginx: build: context: ./nginx args: - PHP_UPSTREAM=php-fpm volumes_from: - applications volumes: - ./logs/nginx/:/var/log/nginx - ./nginx/sites/:/etc/nginx/sites-available ports: - "88:80" - "443:443" vaindock_apigrabber: build: ../apigrabber volumes: - ../apigrabber:/code - ../joblib:/code/joblib depends_on: - vaindock_rabbitmq environment: - RABBITMQ_HOST=vaindock_rabbitmq env_file: - local.env vaindock_processor: build: ../processor volumes: - ../processor:/code - ../joblib:/code/joblib depends_on: - vaindock_rabbitmq - vaindock_postgres environment: - RABBITMQ_HOST=vaindock_rabbitmq - POSTGRESQL_HOST=vaindock_postgres - POSTGRESQL_DB=vainsocial-web - POSTGRESQL_USER=vainweb - POSTGRESQL_PASSWORD=vainweb vaindock_postgres: image: postgres:9.6-alpine volumes: - vaindock_postgres-data:/var/lib/postgresql/data ports: - "5432:5432" environment: POSTGRES_DB: vainsocial-web POSTGRES_USER: vainweb POSTGRES_PASSWORD: vainweb vaindock_rabbitmq: image: rabbitmq:3-management-alpine volumes: - vaindock_rabbitmq-data:/var/lib/rabbitmq ports: - "4369:4369" - "5671:5671" - "5672:5672" - "25672:25672" - "8881:15672" # management guest/guest environment: - RABBITMQ_HIPE_COMPILE=1 volumes: vaindock_postgres-data: driver: "local" vaindock_rabbitmq-data: driver: "local" sessions: ## nothing is connected to this (- ./data/sessions:/sessions) driver: "local"