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" 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 - vaindock_db-web expose: - "9000" links: - workspace 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 links: - workspace - php-fpm - vaindock_queue ports: - "88:80" - "443:443" vaindock_bridge: build: ../bridge ports: - "8880:8880" volumes: - ../bridge:/usr/src/app - ../orm:/usr/src/orm depends_on: - vaindock_queue - vaindock_db-web environment: - RABBITMQ_URI=amqp://bridge:bridge@vaindock_queue/ - DATABASE_URI=mysql://vainweb:vainweb@vaindock_db-web/vainweb env_file: - local.env vaindock_apigrabber: build: ../apigrabber volumes: - ../apigrabber:/usr/src/app depends_on: - vaindock_queue - vaindock_db-web environment: - RABBITMQ_URI=amqp://apigrabber:apigrabber@vaindock_queue/ env_file: - local.env vaindock_processor: build: ../processor volumes: - ../processor:/usr/src/app - ../orm:/usr/src/orm depends_on: - vaindock_queue - vaindock_db-web environment: - RABBITMQ_URI=amqp://processor:processor@vaindock_queue/ - DATABASE_URI=mysql://vainweb:vainweb@vaindock_db-web/vainweb vaindock_analyzer: build: ../analyzer volumes: - ../analyzer:/usr/src/app depends_on: - vaindock_queue - vaindock_db-web environment: - RABBITMQ_URI=amqp://analyzer:analyzer@vaindock_queue/ - DATABASE_URI=mysql+cymysql://vainweb:vainweb@vaindock_db-web/vainweb vaindock_db-web: image: mariadb:10 volumes: - vaindock_db-web-data:/var/lib/mysql ports: - "3306:3306" environment: MYSQL_DATABASE: vainweb MYSQL_USER: vainweb MYSQL_PASSWORD: vainweb MYSQL_ALLOW_EMPTY_PASSWORD: 1 vaindock_phpmyadmin: image: phpmyadmin/phpmyadmin:4.6 environment: - PMA_ARBITRARY=1 - PMA_HOST=vaindock_db-web ports: - "8882:80" volumes: - /sessions vaindock_queue: build: ./rabbitmq hostname: vaindock_queue volumes: - vaindock_queue-data:/var/lib/queue ports: - "4369:4369" - "5671:5671" - "5672:5672" - "25672:25672" - "15674:15674" # web-stomp - "8881:15672" # management guest/guest environment: - RABBITMQ_HIPE_COMPILE=1 - RABBITMQ_RECREATE_ON_STARTUP=true # for debugging volumes: vaindock_db-web-data: driver: "local" vaindock_queue-data: driver: "local" sessions: ## nothing is connected to this (- ./data/sessions:/sessions) driver: "local"