|
@@ -1,4 +1,4 @@
|
|
|
-version: '3'
|
|
|
+version: '3.5'
|
|
|
|
|
|
networks:
|
|
|
frontend:
|
|
@@ -37,6 +37,8 @@ volumes:
|
|
|
driver: ${VOLUMES_DRIVER}
|
|
|
caddy:
|
|
|
driver: ${VOLUMES_DRIVER}
|
|
|
+ meilisearch:
|
|
|
+ driver: ${VOLUMES_DRIVER}
|
|
|
elasticsearch:
|
|
|
driver: ${VOLUMES_DRIVER}
|
|
|
mosquitto:
|
|
@@ -45,6 +47,14 @@ volumes:
|
|
|
driver: ${VOLUMES_DRIVER}
|
|
|
sonarqube:
|
|
|
driver: ${VOLUMES_DRIVER}
|
|
|
+ cassandra:
|
|
|
+ driver: ${VOLUMES_DRIVER}
|
|
|
+ graylog:
|
|
|
+ driver: ${VOLUMES_DRIVER}
|
|
|
+ docker-in-docker:
|
|
|
+ driver: ${VOLUMES_DRIVER}
|
|
|
+ react:
|
|
|
+ driver: ${VOLUMES_DRIVER}
|
|
|
|
|
|
services:
|
|
|
|
|
@@ -53,24 +63,42 @@ services:
|
|
|
build:
|
|
|
context: ./workspace
|
|
|
args:
|
|
|
+ - CHANGE_SOURCE=${CHANGE_SOURCE}
|
|
|
+ - SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH}
|
|
|
+ - SHELL_OH_MY_ZSH_AUTOSUGESTIONS=${SHELL_OH_MY_ZSH_AUTOSUGESTIONS}
|
|
|
+ - SHELL_OH_MY_ZSH_ALIASES=${SHELL_OH_MY_ZSH_ALIASES}
|
|
|
+ - UBUNTU_SOURCE=${UBUNTU_SOURCE}
|
|
|
+ - BASE_IMAGE_TAG_PREFIX=${WORKSPACE_BASE_IMAGE_TAG_PREFIX}
|
|
|
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
|
|
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
|
|
|
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
|
|
|
+ - INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2}
|
|
|
+ - INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
|
|
|
+ - INSTALL_GNUPG=${WORKSPACE_INSTALL_GNUPG}
|
|
|
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
|
|
|
+ - INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV}
|
|
|
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
|
|
|
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
|
|
- INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2}
|
|
|
- - INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
|
|
|
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
|
|
|
- INSTALL_XSL=${WORKSPACE_INSTALL_XSL}
|
|
|
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
|
|
|
+ - INSTALL_SMB=${WORKSPACE_INSTALL_SMB}
|
|
|
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
|
|
|
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
|
|
|
- INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
|
|
|
+ - INSTALL_CASSANDRA=${WORKSPACE_INSTALL_CASSANDRA}
|
|
|
+ - INSTALL_GEARMAN=${WORKSPACE_INSTALL_GEARMAN}
|
|
|
- INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
|
|
|
- INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
|
|
|
+ - NVM_NODEJS_ORG_MIRROR=${WORKSPACE_NVM_NODEJS_ORG_MIRROR}
|
|
|
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
|
|
|
- NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY}
|
|
|
+ - NPM_FETCH_RETRIES=${WORKSPACE_NPM_FETCH_RETRIES}
|
|
|
+ - NPM_FETCH_RETRY_FACTOR=${WORKSPACE_NPM_FETCH_RETRY_FACTOR}
|
|
|
+ - NPM_FETCH_RETRY_MINTIMEOUT=${WORKSPACE_NPM_FETCH_RETRY_MINTIMEOUT}
|
|
|
+ - NPM_FETCH_RETRY_MAXTIMEOUT=${WORKSPACE_NPM_FETCH_RETRY_MAXTIMEOUT}
|
|
|
+ - INSTALL_PNPM=${WORKSPACE_INSTALL_PNPM}
|
|
|
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
|
|
|
- INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP}
|
|
|
- INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER}
|
|
@@ -80,8 +108,10 @@ services:
|
|
|
- INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI}
|
|
|
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
|
|
|
- INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE}
|
|
|
+ - INSTALL_OCI8=${WORKSPACE_INSTALL_OCI8}
|
|
|
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
|
|
|
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
|
|
|
+ - COMPOSER_VERSION=${WORKSPACE_COMPOSER_VERSION}
|
|
|
- COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH}
|
|
|
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
|
|
|
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
|
|
@@ -93,6 +123,7 @@ services:
|
|
|
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
|
|
|
- INSTALL_SYMFONY=${WORKSPACE_INSTALL_SYMFONY}
|
|
|
- INSTALL_PYTHON=${WORKSPACE_INSTALL_PYTHON}
|
|
|
+ - INSTALL_PYTHON3=${WORKSPACE_INSTALL_PYTHON3}
|
|
|
- INSTALL_IMAGE_OPTIMIZERS=${WORKSPACE_INSTALL_IMAGE_OPTIMIZERS}
|
|
|
- INSTALL_IMAGEMAGICK=${WORKSPACE_INSTALL_IMAGEMAGICK}
|
|
|
- INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM}
|
|
@@ -102,35 +133,63 @@ services:
|
|
|
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
|
|
|
- INSTALL_TAINT=${WORKSPACE_INSTALL_TAINT}
|
|
|
- INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
|
|
|
+ - INSTALL_GRAPHVIZ=${WORKSPACE_INSTALL_GRAPHVIZ}
|
|
|
- INSTALL_IONCUBE=${WORKSPACE_INSTALL_IONCUBE}
|
|
|
- INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT}
|
|
|
- INSTALL_PING=${WORKSPACE_INSTALL_PING}
|
|
|
- INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS}
|
|
|
+ - INSTALL_INOTIFY=${WORKSPACE_INSTALL_INOTIFY}
|
|
|
+ - INSTALL_FSWATCH=${WORKSPACE_INSTALL_FSWATCH}
|
|
|
+ - INSTALL_AST=${WORKSPACE_INSTALL_AST}
|
|
|
+ - INSTALL_YAML=${WORKSPACE_INSTALL_YAML}
|
|
|
+ - INSTALL_RDKAFKA=${WORKSPACE_INSTALL_RDKAFKA}
|
|
|
+ - INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE}
|
|
|
+ - INSTALL_GIT_PROMPT=${WORKSPACE_INSTALL_GIT_PROMPT}
|
|
|
+ - INSTALL_XMLRPC=${WORKSPACE_INSTALL_XMLRPC}
|
|
|
- PUID=${WORKSPACE_PUID}
|
|
|
- PGID=${WORKSPACE_PGID}
|
|
|
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
|
|
|
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
|
|
|
- YARN_VERSION=${WORKSPACE_YARN_VERSION}
|
|
|
- DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION}
|
|
|
+ - AST_VERSION=${WORKSPACE_AST_VERSION}
|
|
|
+ - IMAGEMAGICK_VERSION=${WORKSPACE_IMAGEMAGICK_VERSION}
|
|
|
- TZ=${WORKSPACE_TIMEZONE}
|
|
|
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
|
|
|
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
|
|
|
- INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE}
|
|
|
+ - INSTALL_SUPERVISOR=${WORKSPACE_INSTALL_SUPERVISOR}
|
|
|
- INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG}
|
|
|
+ - INSTALL_AUDIOWAVEFORM=${WORKSPACE_INSTALL_AUDIOWAVEFORM}
|
|
|
+ - INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF}
|
|
|
- INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL}
|
|
|
+ - INSTALL_LNAV=${WORKSPACE_INSTALL_LNAV}
|
|
|
+ - INSTALL_PROTOC=${WORKSPACE_INSTALL_PROTOC}
|
|
|
+ - PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION}
|
|
|
+ - INSTALL_DOCKER_CLIENT=${WORKSPACE_INSTALL_DOCKER_CLIENT}
|
|
|
- http_proxy
|
|
|
- https_proxy
|
|
|
- no_proxy
|
|
|
volumes:
|
|
|
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
+ - docker-in-docker:/certs/client
|
|
|
+ - ./php-worker/supervisord.d:/etc/supervisord.d
|
|
|
extra_hosts:
|
|
|
- "dockerhost:${DOCKER_HOST_IP}"
|
|
|
ports:
|
|
|
- "${WORKSPACE_SSH_PORT}:22"
|
|
|
+ - "${WORKSPACE_BROWSERSYNC_HOST_PORT}:3000"
|
|
|
+ - "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001"
|
|
|
+ - "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
|
|
|
+ - "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
|
|
|
+ - "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200"
|
|
|
tty: true
|
|
|
environment:
|
|
|
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
|
|
- - DOCKER_HOST=tcp://docker-in-docker:2375
|
|
|
+ - DOCKER_HOST=tcp://docker-in-docker:2376
|
|
|
+ - DOCKER_TLS_VERIFY=1
|
|
|
+ - DOCKER_TLS_CERTDIR=/certs
|
|
|
+ - DOCKER_CERT_PATH=/certs/client
|
|
|
networks:
|
|
|
- frontend
|
|
|
- backend
|
|
@@ -142,25 +201,34 @@ services:
|
|
|
build:
|
|
|
context: ./php-fpm
|
|
|
args:
|
|
|
+ - CHANGE_SOURCE=${CHANGE_SOURCE}
|
|
|
+ - BASE_IMAGE_TAG_PREFIX=${PHP_FPM_BASE_IMAGE_TAG_PREFIX}
|
|
|
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
|
|
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
|
|
|
+ - INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2}
|
|
|
+ - INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
|
|
|
+ - INSTALL_GNUPG=${PHP_FPM_INSTALL_GNUPG}
|
|
|
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
|
|
|
+ - INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV}
|
|
|
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
|
|
|
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
|
|
- INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2}
|
|
|
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
|
|
|
- INSTALL_XSL=${PHP_FPM_INSTALL_XSL}
|
|
|
+ - INSTALL_SMB=${PHP_FPM_INSTALL_SMB}
|
|
|
- INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
|
|
|
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
|
|
|
- INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
|
|
|
+ - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA}
|
|
|
+ - INSTALL_GEARMAN=${PHP_FPM_INSTALL_GEARMAN}
|
|
|
- INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
|
|
|
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
|
|
|
- - INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
|
|
|
- INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
|
|
|
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
|
|
|
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
|
|
|
- INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
|
|
|
- INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE}
|
|
|
+ - INSTALL_OCI8=${PHP_FPM_INSTALL_OCI8}
|
|
|
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
|
|
|
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
|
|
- INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
|
|
@@ -177,27 +245,50 @@ services:
|
|
|
- INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME}
|
|
|
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
|
|
|
- INSTALL_APCU=${PHP_FPM_INSTALL_APCU}
|
|
|
+ - INSTALL_CACHETOOL=${PHP_FPM_INSTALL_CACHETOOL}
|
|
|
- INSTALL_YAML=${PHP_FPM_INSTALL_YAML}
|
|
|
- INSTALL_RDKAFKA=${PHP_FPM_INSTALL_RDKAFKA}
|
|
|
+ - INSTALL_GETTEXT=${PHP_FPM_INSTALL_GETTEXT}
|
|
|
- INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES}
|
|
|
- INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT}
|
|
|
- INSTALL_PING=${PHP_FPM_INSTALL_PING}
|
|
|
- INSTALL_SSHPASS=${PHP_FPM_INSTALL_SSHPASS}
|
|
|
+ - INSTALL_MAILPARSE=${PHP_FPM_INSTALL_MAILPARSE}
|
|
|
+ - INSTALL_PCNTL=${PHP_FPM_INSTALL_PCNTL}
|
|
|
- ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES}
|
|
|
- INSTALL_FFMPEG=${PHP_FPM_FFMPEG}
|
|
|
+ - INSTALL_AUDIOWAVEFORM=${PHP_FPM_AUDIOWAVEFORM}
|
|
|
+ - INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF}
|
|
|
+ - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF}
|
|
|
+ - INSTALL_XMLRPC=${PHP_FPM_INSTALL_XMLRPC}
|
|
|
+ - DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=${PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL}
|
|
|
+ - PUID=${PHP_FPM_PUID}
|
|
|
+ - PGID=${PHP_FPM_PGID}
|
|
|
+ - IMAGEMAGICK_VERSION=${PHP_FPM_IMAGEMAGICK_VERSION}
|
|
|
+ - LOCALE=${PHP_FPM_DEFAULT_LOCALE}
|
|
|
+ - PHP_FPM_NEW_RELIC=${PHP_FPM_NEW_RELIC}
|
|
|
+ - PHP_FPM_NEW_RELIC_KEY=${PHP_FPM_NEW_RELIC_KEY}
|
|
|
+ - PHP_FPM_NEW_RELIC_APP_NAME=${PHP_FPM_NEW_RELIC_APP_NAME}
|
|
|
+ - INSTALL_DOCKER_CLIENT=${PHP_FPM_INSTALL_DOCKER_CLIENT}
|
|
|
- http_proxy
|
|
|
- https_proxy
|
|
|
- no_proxy
|
|
|
volumes:
|
|
|
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
|
|
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
+ - docker-in-docker:/certs/client
|
|
|
+ ports:
|
|
|
+ - "${PHP_FPM_XDEBUG_PORT}:9003"
|
|
|
expose:
|
|
|
- "9000"
|
|
|
extra_hosts:
|
|
|
- "dockerhost:${DOCKER_HOST_IP}"
|
|
|
environment:
|
|
|
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
|
|
- - DOCKER_HOST=tcp://docker-in-docker:2375
|
|
|
+ - DOCKER_HOST=tcp://docker-in-docker:2376
|
|
|
+ - DOCKER_TLS_VERIFY=1
|
|
|
+ - DOCKER_TLS_CERTDIR=/certs
|
|
|
+ - DOCKER_CERT_PATH=/certs/client
|
|
|
- FAKETIME=${PHP_FPM_FAKETIME}
|
|
|
depends_on:
|
|
|
- workspace
|
|
@@ -211,22 +302,36 @@ services:
|
|
|
build:
|
|
|
context: ./php-worker
|
|
|
args:
|
|
|
- - PHP_VERSION=${PHP_VERSION}
|
|
|
+ - CHANGE_SOURCE=${CHANGE_SOURCE}
|
|
|
+ - LARADOCK_PHP_VERSION=${PHP_VERSION}
|
|
|
- PHALCON_VERSION=${PHALCON_VERSION}
|
|
|
+ - INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2}
|
|
|
+ - INSTALL_GD=${PHP_WORKER_INSTALL_GD}
|
|
|
+ - INSTALL_IMAGEMAGICK=${PHP_WORKER_INSTALL_IMAGEMAGICK}
|
|
|
+ - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
|
|
|
+ - INSTALL_GNUPG=${PHP_WORKER_INSTALL_GNUPG}
|
|
|
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
|
|
|
+ - INSTALL_MONGO=${PHP_WORKER_INSTALL_MONGO}
|
|
|
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
|
|
|
+ - INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8}
|
|
|
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
|
|
|
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
|
|
|
- INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
|
|
|
- INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
|
|
|
- INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP}
|
|
|
+ - INSTALL_CASSANDRA=${PHP_WORKER_INSTALL_CASSANDRA}
|
|
|
+ - INSTALL_GEARMAN=${PHP_WORKER_INSTALL_GEARMAN}
|
|
|
- INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT}
|
|
|
- INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE}
|
|
|
- INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
|
|
|
- INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG}
|
|
|
- - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
|
|
|
+ - INSTALL_AUDIOWAVEFORM=${PHP_WORKER_INSTALL_AUDIOWAVEFORM}
|
|
|
+ - INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS}
|
|
|
+ - INSTALL_IMAP=${PHP_WORKER_INSTALL_IMAP}
|
|
|
+ - INSTALL_XMLRPC=${PHP_WORKER_INSTALL_XMLRPC}
|
|
|
- PUID=${PHP_WORKER_PUID}
|
|
|
- PGID=${PHP_WORKER_PGID}
|
|
|
+ - IMAGEMAGICK_VERSION=${PHP_WORKER_IMAGEMAGICK_VERSION}
|
|
|
volumes:
|
|
|
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
- ./php-worker/supervisord.d:/etc/supervisord.d
|
|
@@ -241,10 +346,27 @@ services:
|
|
|
build:
|
|
|
context: ./laravel-horizon
|
|
|
args:
|
|
|
- - PHP_VERSION=${PHP_VERSION}
|
|
|
+ - CHANGE_SOURCE=${CHANGE_SOURCE}
|
|
|
+ - LARADOCK_PHP_VERSION=${PHP_VERSION}
|
|
|
+ - INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2}
|
|
|
+ - INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD}
|
|
|
+ - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP}
|
|
|
+ - INSTALL_GNUPG=${LARAVEL_HORIZON_INSTALL_GNUPG}
|
|
|
+ - INSTALL_IMAGEMAGICK=${LARAVEL_HORIZON_INSTALL_IMAGEMAGICK}
|
|
|
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
|
|
+ - INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE}
|
|
|
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
|
|
|
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
|
|
|
+ - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS}
|
|
|
+ - INSTALL_YAML=${LARAVEL_HORIZON_INSTALL_YAML}
|
|
|
+ - INSTALL_CASSANDRA=${LARAVEL_HORIZON_INSTALL_CASSANDRA}
|
|
|
+ - INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS}
|
|
|
+ - INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO}
|
|
|
+ - INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG}
|
|
|
+ - INSTALL_AUDIOWAVEFORM=${LARAVEL_HORIZON_INSTALL_AUDIOWAVEFORM}
|
|
|
+ - PUID=${LARAVEL_HORIZON_PUID}
|
|
|
+ - PGID=${LARAVEL_HORIZON_PGID}
|
|
|
+ - IMAGEMAGICK_VERSION=${LARAVEL_HORIZON_IMAGEMAGICK_VERSION}
|
|
|
volumes:
|
|
|
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
|
|
- ./laravel-horizon/supervisord.d:/etc/supervisord.d
|
|
@@ -260,9 +382,9 @@ services:
|
|
|
build:
|
|
|
context: ./nginx
|
|
|
args:
|
|
|
+ - CHANGE_SOURCE=${CHANGE_SOURCE}
|
|
|
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
|
|
|
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
|
|
|
- - CHANGE_SOURCE=${CHANGE_SOURCE}
|
|
|
- http_proxy
|
|
|
- https_proxy
|
|
|
- no_proxy
|
|
@@ -274,6 +396,7 @@ services:
|
|
|
ports:
|
|
|
- "${NGINX_HOST_HTTP_PORT}:80"
|
|
|
- "${NGINX_HOST_HTTPS_PORT}:443"
|
|
|
+ - "${VARNISH_BACKEND_PORT}:81"
|
|
|
depends_on:
|
|
|
- php-fpm
|
|
|
networks:
|
|
@@ -300,10 +423,12 @@ services:
|
|
|
- PHP_UPSTREAM_PORT=${APACHE_PHP_UPSTREAM_PORT}
|
|
|
- PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT}
|
|
|
- DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT}
|
|
|
+ - APACHE_INSTALL_HTTP2=${APACHE_INSTALL_HTTP2}
|
|
|
volumes:
|
|
|
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2
|
|
|
- ${APACHE_SITES_PATH}:/etc/apache2/sites-available
|
|
|
+ - ${APACHE_SSL_PATH}:/etc/apache2/ssl
|
|
|
ports:
|
|
|
- "${APACHE_HOST_HTTP_PORT}:80"
|
|
|
- "${APACHE_HOST_HTTPS_PORT}:443"
|
|
@@ -383,6 +508,7 @@ services:
|
|
|
build:
|
|
|
context: ./mssql
|
|
|
environment:
|
|
|
+ - MSSQL_PID=Express
|
|
|
- MSSQL_DATABASE=${MSSQL_DATABASE}
|
|
|
- SA_PASSWORD=${MSSQL_PASSWORD}
|
|
|
- ACCEPT_EULA=Y
|
|
@@ -401,12 +527,14 @@ services:
|
|
|
- http_proxy
|
|
|
- https_proxy
|
|
|
- no_proxy
|
|
|
+ - MARIADB_VERSION=${MARIADB_VERSION}
|
|
|
volumes:
|
|
|
- ${DATA_PATH_HOST}/mariadb:/var/lib/mysql
|
|
|
- ${MARIADB_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
|
|
ports:
|
|
|
- "${MARIADB_PORT}:3306"
|
|
|
environment:
|
|
|
+ - TZ=${WORKSPACE_TIMEZONE}
|
|
|
- MYSQL_DATABASE=${MARIADB_DATABASE}
|
|
|
- MYSQL_USER=${MARIADB_USER}
|
|
|
- MYSQL_PASSWORD=${MARIADB_PASSWORD}
|
|
@@ -416,7 +544,10 @@ services:
|
|
|
|
|
|
### PostgreSQL ###########################################
|
|
|
postgres:
|
|
|
- build: ./postgres
|
|
|
+ build:
|
|
|
+ context: ./postgres
|
|
|
+ args:
|
|
|
+ - POSTGRES_VERSION=${POSTGRES_VERSION}
|
|
|
volumes:
|
|
|
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
|
|
|
- ${POSTGRES_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
|
@@ -461,14 +592,15 @@ services:
|
|
|
|
|
|
### Neo4j ################################################
|
|
|
neo4j:
|
|
|
- build: ./neo4j
|
|
|
ports:
|
|
|
- - "7474:7474"
|
|
|
- - "1337:1337"
|
|
|
+ - '7401:7474'
|
|
|
+ - '7402:7687'
|
|
|
environment:
|
|
|
- - NEO4J_AUTH=default:secret
|
|
|
+ - NEO4J_AUTH=none
|
|
|
volumes:
|
|
|
- - ${DATA_PATH_HOST}/neo4j:/var/lib/neo4j/data
|
|
|
+ - ${DATA_PATH_HOST}/neo4j/data:/data
|
|
|
+ - ${DATA_PATH_HOST}/neo4j/logs:/logs
|
|
|
+ image: 'neo4j:latest'
|
|
|
networks:
|
|
|
- backend
|
|
|
|
|
@@ -479,6 +611,7 @@ services:
|
|
|
- "${MONGODB_PORT}:27017"
|
|
|
volumes:
|
|
|
- ${DATA_PATH_HOST}/mongo:/data/db
|
|
|
+ - ${DATA_PATH_HOST}/mongo_config:/data/configdb
|
|
|
networks:
|
|
|
- backend
|
|
|
|
|
@@ -492,7 +625,38 @@ services:
|
|
|
networks:
|
|
|
- backend
|
|
|
|
|
|
-### Redis ################################################
|
|
|
+ ### ClickHouse #############################################
|
|
|
+ clickhouse:
|
|
|
+ build:
|
|
|
+ context: ./clickhouse
|
|
|
+ args:
|
|
|
+ - CLICKHOUSE_VERSION=${CLICKHOUSE_VERSION}
|
|
|
+ - CLICKHOUSE_GOSU_VERSION=${CLICKHOUSE_GOSU_VERSION}
|
|
|
+ environment:
|
|
|
+ - CLICKHOUSE_USER=${CLICKHOUSE_USER}
|
|
|
+ - CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD}
|
|
|
+ volumes:
|
|
|
+ - ${DATA_PATH_HOST}/clickhouse:/var/lib/clickhouse
|
|
|
+ - ${CLICKHOUSE_CUSTOM_CONFIG}:/etc/clickhouse-server/config.xml
|
|
|
+ - ${CLICKHOUSE_USERS_CUSTOM_CONFIG}:/etc/clickhouse-server/users.xml
|
|
|
+ - ${CLICKHOUSE_HOST_LOG_PATH}:/var/log/clickhouse
|
|
|
+ - ${CLICKHOUSE_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
|
|
+ links:
|
|
|
+ - workspace
|
|
|
+ ports:
|
|
|
+ - "${CLICKHOUSE_HTTP_PORT}:8123"
|
|
|
+ - "${CLICKHOUSE_CLIENT_PORT}:9000"
|
|
|
+ - "${CLICKHOUSE_NATIVE_PORT}:9009"
|
|
|
+ ulimits:
|
|
|
+ nproc: 65535
|
|
|
+ nofile:
|
|
|
+ soft: 262144
|
|
|
+ hard: 262144
|
|
|
+ networks:
|
|
|
+# - frontend
|
|
|
+ - backend
|
|
|
+
|
|
|
+ ### Redis ################################################
|
|
|
redis:
|
|
|
build: ./redis
|
|
|
volumes:
|
|
@@ -562,6 +726,20 @@ services:
|
|
|
networks:
|
|
|
- backend
|
|
|
|
|
|
+### SQS #############################################
|
|
|
+ sqs:
|
|
|
+ build: ./sqs
|
|
|
+ ports:
|
|
|
+ - "${SQS_NODE_HOST_PORT}:9324"
|
|
|
+ - "${SQS_MANAGEMENT_HTTP_HOST_PORT}:9325"
|
|
|
+ privileged: true
|
|
|
+ hostname: laradock-sqs
|
|
|
+ volumes:
|
|
|
+ - ${DATA_PATH_HOST}/sqs:/opt/custom
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ - backend
|
|
|
+
|
|
|
### RabbitMQ #############################################
|
|
|
rabbitmq:
|
|
|
build: ./rabbitmq
|
|
@@ -581,6 +759,89 @@ services:
|
|
|
networks:
|
|
|
- backend
|
|
|
|
|
|
+### Mercure #############################################
|
|
|
+ mercure:
|
|
|
+ build: ./mercure
|
|
|
+ ports:
|
|
|
+ - "${MERCURE_NODE_HOST_HTTP_PORT}:80"
|
|
|
+ - "${MERCURE_NODE_HOST_HTTPS_PORT}:443"
|
|
|
+ privileged: true
|
|
|
+ environment:
|
|
|
+ - MERCURE_PUBLISHER_JWT_KEY=${MERCURE_PUBLISHER_JWT_KEY}
|
|
|
+ - MERCURE_SUBSCRIBER_JWT_KEY=${MERCURE_SUBSCRIBER_JWT_KEY}
|
|
|
+ - DEBUG=${MERCURE_DEBUG}
|
|
|
+ - SERVER_NAME=${MERCURE_SERVER_NAME}
|
|
|
+ - MERCURE_EXTRA_DIRECTIVES=cors_allowed_origins *\npublish_allowed_origins http://localhost:${MERCURE_NODE_HOST_HTTP_PORT} https://localhost:${MERCURE_NODE_HOST_HTTP_PORT}
|
|
|
+ hostname: laradock-mercure
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ - backend
|
|
|
+
|
|
|
+### Cassandra ############################################
|
|
|
+ cassandra:
|
|
|
+ build: ./cassandra
|
|
|
+ ports:
|
|
|
+ - "${CASSANDRA_TRANSPORT_PORT_NUMBER}:7000"
|
|
|
+ - "${CASSANDRA_JMX_PORT_NUMBER}:7199"
|
|
|
+ - "${CASSANDRA_CQL_PORT_NUMBER}:9042"
|
|
|
+ privileged: true
|
|
|
+ environment:
|
|
|
+ - CASSANDRA_VERSION=${CASSANDRA_VERSION}
|
|
|
+ - CASSANDRA_TRANSPORT_PORT_NUMBER=${CASSANDRA_TRANSPORT_PORT_NUMBER}
|
|
|
+ - CASSANDRA_JMX_PORT_NUMBER=${CASSANDRA_JMX_PORT_NUMBER}
|
|
|
+ - CASSANDRA_CQL_PORT_NUMBER=${CASSANDRA_CQL_PORT_NUMBER}
|
|
|
+ - CASSANDRA_USER=${CASSANDRA_USER}
|
|
|
+ - CASSANDRA_PASSWORD_SEEDER=${CASSANDRA_PASSWORD_SEEDER}
|
|
|
+ - CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD}
|
|
|
+ - CASSANDRA_NUM_TOKENS=${CASSANDRA_NUM_TOKENS}
|
|
|
+ - CASSANDRA_HOST=${CASSANDRA_HOST}
|
|
|
+ - CASSANDRA_CLUSTER_NAME=${CASSANDRA_CLUSTER_NAME}
|
|
|
+ - CASSANDRA_SEEDS=${CASSANDRA_SEEDS}
|
|
|
+ - CASSANDRA_ENDPOINT_SNITCH=${CASSANDRA_ENDPOINT_SNITCH}
|
|
|
+ - CASSANDRA_ENABLE_RPC=${CASSANDRA_ENABLE_RPC}
|
|
|
+ - CASSANDRA_DATACENTER=${CASSANDRA_DATACENTER}
|
|
|
+ - CASSANDRA_RACK=${CASSANDRA_RACK}
|
|
|
+ hostname: laradock-cassandra
|
|
|
+ volumes:
|
|
|
+ - ${DATA_PATH_HOST}/cassandra:/var/lib/cassandra
|
|
|
+ depends_on:
|
|
|
+ - php-fpm
|
|
|
+ networks:
|
|
|
+ - backend
|
|
|
+
|
|
|
+### Gearman ############################################
|
|
|
+ gearman:
|
|
|
+ build: ./gearman
|
|
|
+ ports:
|
|
|
+ - "${GEARMAN_PORT}:4730"
|
|
|
+ privileged: true
|
|
|
+ environment:
|
|
|
+ - GEARMAN_VERSION=${GEARMAN_VERSION}
|
|
|
+ - GEARMAN_VERBOSE=${GEARMAN_VERBOSE}
|
|
|
+ - GEARMAN_QUEUE_TYPE=${GEARMAN_QUEUE_TYPE}
|
|
|
+ - GEARMAN_THREADS=${GEARMAN_THREADS}
|
|
|
+ - GEARMAN_BACKLOG=${GEARMAN_BACKLOG}
|
|
|
+ - GEARMAN_FILE_DESCRIPTORS=${GEARMAN_FILE_DESCRIPTORS}
|
|
|
+ - GEARMAN_JOB_RETRIES=${GEARMAN_JOB_RETRIES}
|
|
|
+ - GEARMAN_ROUND_ROBIN=${GEARMAN_ROUND_ROBIN}
|
|
|
+ - GEARMAN_WORKER_WAKEUP=${GEARMAN_WORKER_WAKEUP}
|
|
|
+ - GEARMAN_KEEPALIVE=${GEARMAN_KEEPALIVE}
|
|
|
+ - GEARMAN_KEEPALIVE_IDLE=${GEARMAN_KEEPALIVE_IDLE}
|
|
|
+ - GEARMAN_KEEPALIVE_INTERVAL=${GEARMAN_KEEPALIVE_INTERVAL}
|
|
|
+ - GEARMAN_KEEPALIVE_COUNT=${GEARMAN_KEEPALIVE_COUNT}
|
|
|
+ - GEARMAN_MYSQL_HOST=${GEARMAN_MYSQL_HOST}
|
|
|
+ - GEARMAN_MYSQL_PORT=${GEARMAN_MYSQL_PORT}
|
|
|
+ - GEARMAN_MYSQL_USER=${GEARMAN_MYSQL_USER}
|
|
|
+ - GEARMAN_MYSQL_PASSWORD=${GEARMAN_MYSQL_PASSWORD}
|
|
|
+ - GEARMAN_MYSQL_PASSWORD_FILE=${GEARMAN_MYSQL_PASSWORD_FILE}
|
|
|
+ - GEARMAN_MYSQL_DB=${GEARMAN_MYSQL_DB}
|
|
|
+ - GEARMAN_MYSQL_TABLE=${GEARMAN_MYSQL_TABLE}
|
|
|
+ hostname: laradock-gearman
|
|
|
+ depends_on:
|
|
|
+ - php-fpm
|
|
|
+ networks:
|
|
|
+ - backend
|
|
|
+
|
|
|
### Beanstalkd Console ###################################
|
|
|
beanstalkd-console:
|
|
|
build: ./beanstalkd-console
|
|
@@ -616,6 +877,9 @@ services:
|
|
|
- MYSQL_USER=${PMA_USER}
|
|
|
- MYSQL_PASSWORD=${PMA_PASSWORD}
|
|
|
- MYSQL_ROOT_PASSWORD=${PMA_ROOT_PASSWORD}
|
|
|
+ - MAX_EXECUTION_TIME=${PMA_MAX_EXECUTION_TIME}
|
|
|
+ - MEMORY_LIMIT=${PMA_MEMORY_LIMIT}
|
|
|
+ - UPLOAD_LIMIT=${PMA_UPLOAD_LIMIT}
|
|
|
ports:
|
|
|
- "${PMA_PORT}:80"
|
|
|
depends_on:
|
|
@@ -630,6 +894,10 @@ services:
|
|
|
context: ./adminer
|
|
|
args:
|
|
|
- INSTALL_MSSQL=${ADM_INSTALL_MSSQL}
|
|
|
+ environment:
|
|
|
+ - ADMINER_PLUGINS=${ADM_PLUGINS}
|
|
|
+ - ADMINER_DESIGN=${ADM_DESIGN}
|
|
|
+ - ADMINER_DEFAULT_SERVER=${ADM_DEFAULT_SERVER}
|
|
|
ports:
|
|
|
- "${ADM_PORT}:8080"
|
|
|
depends_on:
|
|
@@ -654,19 +922,38 @@ services:
|
|
|
- frontend
|
|
|
- backend
|
|
|
|
|
|
+### MeiliSearch ##########################################
|
|
|
+ meilisearch:
|
|
|
+ image: getmeili/meilisearch:latest
|
|
|
+ volumes:
|
|
|
+ - ${DATA_PATH_HOST}/meilisearch:/var/lib/meilisearch
|
|
|
+ ports:
|
|
|
+ - "${MEILISEARCH_HOST_PORT}:7700"
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ - backend
|
|
|
+
|
|
|
### ElasticSearch ########################################
|
|
|
elasticsearch:
|
|
|
- build: ./elasticsearch
|
|
|
+ build:
|
|
|
+ context: ./elasticsearch
|
|
|
+ args:
|
|
|
+ - ELK_VERSION=${ELK_VERSION}
|
|
|
volumes:
|
|
|
- elasticsearch:/usr/share/elasticsearch/data
|
|
|
environment:
|
|
|
- cluster.name=laradock-cluster
|
|
|
+ - node.name=laradock-node
|
|
|
- bootstrap.memory_lock=true
|
|
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
|
+ - cluster.initial_master_nodes=laradock-node
|
|
|
ulimits:
|
|
|
memlock:
|
|
|
soft: -1
|
|
|
hard: -1
|
|
|
+ nofile:
|
|
|
+ soft: 65536
|
|
|
+ hard: 65536
|
|
|
ports:
|
|
|
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
|
|
|
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
|
|
@@ -678,7 +965,10 @@ services:
|
|
|
|
|
|
### Logstash ##############################################
|
|
|
logstash:
|
|
|
- build: ./logstash
|
|
|
+ build:
|
|
|
+ context: ./logstash
|
|
|
+ args:
|
|
|
+ - ELK_VERSION=${ELK_VERSION}
|
|
|
volumes:
|
|
|
- './logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml'
|
|
|
- './logstash/pipeline:/usr/share/logstash/pipeline'
|
|
@@ -696,7 +986,10 @@ services:
|
|
|
|
|
|
### Kibana ##############################################
|
|
|
kibana:
|
|
|
- build: ./kibana
|
|
|
+ build:
|
|
|
+ context: ./kibana
|
|
|
+ args:
|
|
|
+ - ELK_VERSION=${ELK_VERSION}
|
|
|
ports:
|
|
|
- "${KIBANA_HTTP_PORT}:5601"
|
|
|
depends_on:
|
|
@@ -705,6 +998,18 @@ services:
|
|
|
- frontend
|
|
|
- backend
|
|
|
|
|
|
+### Dejavu ##############################################
|
|
|
+ dejavu:
|
|
|
+ build:
|
|
|
+ context: ./dejavu
|
|
|
+ ports:
|
|
|
+ - "${DEJAVU_HTTP_PORT}:1358"
|
|
|
+ depends_on:
|
|
|
+ - elasticsearch
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ - backend
|
|
|
+
|
|
|
### Certbot #########################################
|
|
|
certbot:
|
|
|
build:
|
|
@@ -718,6 +1023,16 @@ services:
|
|
|
networks:
|
|
|
- frontend
|
|
|
|
|
|
+### MailCatcher ################################################
|
|
|
+ mailcatcher:
|
|
|
+ build: ./mailcatcher
|
|
|
+ ports:
|
|
|
+ - "1025:1025"
|
|
|
+ - "1080:1080"
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ - backend
|
|
|
+
|
|
|
### Mailhog ################################################
|
|
|
mailhog:
|
|
|
build: ./mailhog
|
|
@@ -750,6 +1065,7 @@ services:
|
|
|
|
|
|
### Varnish ##########################################
|
|
|
proxy:
|
|
|
+ container_name: proxy
|
|
|
build: ./varnish
|
|
|
expose:
|
|
|
- ${VARNISH_PORT}
|
|
@@ -761,12 +1077,15 @@ services:
|
|
|
- BACKEND_HOST=${VARNISH_PROXY1_BACKEND_HOST}
|
|
|
- BACKEND_PORT=${VARNISH_BACKEND_PORT}
|
|
|
- VARNISH_SERVER=${VARNISH_PROXY1_SERVER}
|
|
|
+ ports:
|
|
|
+ - "${VARNISH_PORT}:${VARNISH_PORT}"
|
|
|
links:
|
|
|
- workspace
|
|
|
networks:
|
|
|
- frontend
|
|
|
|
|
|
proxy2:
|
|
|
+ container_name: proxy2
|
|
|
build: ./varnish
|
|
|
expose:
|
|
|
- ${VARNISH_PORT}
|
|
@@ -778,6 +1097,8 @@ services:
|
|
|
- BACKEND_HOST=${VARNISH_PROXY2_BACKEND_HOST}
|
|
|
- BACKEND_PORT=${VARNISH_BACKEND_PORT}
|
|
|
- VARNISH_SERVER=${VARNISH_PROXY2_SERVER}
|
|
|
+ ports:
|
|
|
+ - "${VARNISH_PORT}:${VARNISH_PORT}"
|
|
|
links:
|
|
|
- workspace
|
|
|
networks:
|
|
@@ -823,38 +1144,40 @@ services:
|
|
|
|
|
|
### Graylog #######################################
|
|
|
graylog:
|
|
|
- build: ./graylog
|
|
|
- environment:
|
|
|
- - GRAYLOG_PASSWORD_SECRET=${GRAYLOG_PASSWORD}
|
|
|
- - GRAYLOG_ROOT_PASSWORD_SHA2=${GRAYLOG_SHA256_PASSWORD}
|
|
|
- - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:${GRAYLOG_PORT}/
|
|
|
- links:
|
|
|
- - mongo
|
|
|
- - elasticsearch
|
|
|
- depends_on:
|
|
|
- - mongo
|
|
|
- - elasticsearch
|
|
|
- ports:
|
|
|
- # Graylog web interface and REST API
|
|
|
- - ${GRAYLOG_PORT}:9000
|
|
|
- # Syslog TCP
|
|
|
- - ${GRAYLOG_SYSLOG_TCP_PORT}:514
|
|
|
- # Syslog UDP
|
|
|
- - ${GRAYLOG_SYSLOG_UDP_PORT}:514/udp
|
|
|
- # GELF TCP
|
|
|
- - ${GRAYLOG_GELF_TCP_PORT}:12201
|
|
|
- # GELF UDP
|
|
|
- - ${GRAYLOG_GELF_UDP_PORT}:12201/udp
|
|
|
- user: root
|
|
|
- volumes:
|
|
|
- - ./graylog/config:/usr/share/graylog/data/config
|
|
|
- networks:
|
|
|
- - backend
|
|
|
+ build: ./graylog
|
|
|
+ environment:
|
|
|
+ - GRAYLOG_PASSWORD_SECRET=${GRAYLOG_PASSWORD}
|
|
|
+ - GRAYLOG_ROOT_PASSWORD_SHA2=${GRAYLOG_SHA256_PASSWORD}
|
|
|
+ - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:${GRAYLOG_PORT}/
|
|
|
+ links:
|
|
|
+ - mongo
|
|
|
+ - elasticsearch
|
|
|
+ depends_on:
|
|
|
+ - mongo
|
|
|
+ - elasticsearch
|
|
|
+ ports:
|
|
|
+ # Graylog web interface and REST API
|
|
|
+ - ${GRAYLOG_PORT}:9000
|
|
|
+ # Syslog TCP
|
|
|
+ - ${GRAYLOG_SYSLOG_TCP_PORT}:514
|
|
|
+ # Syslog UDP
|
|
|
+ - ${GRAYLOG_SYSLOG_UDP_PORT}:514/udp
|
|
|
+ # GELF TCP
|
|
|
+ - ${GRAYLOG_GELF_TCP_PORT}:12201
|
|
|
+ # GELF UDP
|
|
|
+ - ${GRAYLOG_GELF_UDP_PORT}:12201/udp
|
|
|
+ user: graylog
|
|
|
+ volumes:
|
|
|
+ - ${DATA_PATH_HOST}/graylog:/usr/share/graylog/data
|
|
|
+ networks:
|
|
|
+ - backend
|
|
|
|
|
|
### Laravel Echo Server #######################################
|
|
|
laravel-echo-server:
|
|
|
build:
|
|
|
context: ./laravel-echo-server
|
|
|
+ args:
|
|
|
+ - CHANGE_SOURCE=${CHANGE_SOURCE}
|
|
|
volumes:
|
|
|
- ./laravel-echo-server/laravel-echo-server.json:/app/laravel-echo-server.json:ro
|
|
|
ports:
|
|
@@ -999,7 +1322,7 @@ services:
|
|
|
### AWS EB-CLI ################################################
|
|
|
aws:
|
|
|
build:
|
|
|
- context: ./aws
|
|
|
+ context: ./aws-eb-cli
|
|
|
volumes:
|
|
|
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
|
|
depends_on:
|
|
@@ -1123,10 +1446,13 @@ services:
|
|
|
|
|
|
### Docker-in-Docker ################################################
|
|
|
docker-in-docker:
|
|
|
- image: docker:dind
|
|
|
+ image: docker:19.03-dind
|
|
|
+ environment:
|
|
|
+ DOCKER_TLS_SAN: DNS:docker-in-docker
|
|
|
privileged: true
|
|
|
volumes:
|
|
|
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
|
|
+ - docker-in-docker:/certs/client
|
|
|
expose:
|
|
|
- 2375
|
|
|
networks:
|
|
@@ -1134,11 +1460,13 @@ services:
|
|
|
|
|
|
### NetData ################################################
|
|
|
netdata:
|
|
|
- image: titpetric/netdata:latest
|
|
|
+ image: netdata/netdata:latest
|
|
|
cap_add:
|
|
|
- - SYS_PTRACE
|
|
|
+ - SYS_PTRACE
|
|
|
volumes:
|
|
|
- - /:/host:ro
|
|
|
+ - /proc:/host/proc:ro
|
|
|
+ - /sys:/host/sys:ro
|
|
|
+ - /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
ports:
|
|
|
- "${NETDATA_PORT}:19999"
|
|
|
networks:
|
|
@@ -1443,19 +1771,38 @@ services:
|
|
|
traefik:
|
|
|
build:
|
|
|
context: ./traefik
|
|
|
- command: --docker
|
|
|
volumes:
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
+ - ./traefik/data:/data
|
|
|
+ command:
|
|
|
+ - "--api"
|
|
|
+ - "--providers.docker.exposedbydefault=false"
|
|
|
+ - "--accesslog.filepath=/data/access.log"
|
|
|
+ # entrypoints
|
|
|
+ - "--entrypoints.http.address=:${TRAEFIK_HOST_HTTP_PORT}"
|
|
|
+ - "--entrypoints.http.http.redirections.entrypoint.to=https"
|
|
|
+ - "--entrypoints.https.address=:${TRAEFIK_HOST_HTTPS_PORT}"
|
|
|
+ - "--entrypoints.traefik.address=:${TRAEFIK_DASHBOARD_PORT}"
|
|
|
+ # certificatesresolvers
|
|
|
+ - "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}"
|
|
|
+ - "--certificatesresolvers.letsencrypt.acme.storage=/data/acme.json"
|
|
|
+ - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=http"
|
|
|
ports:
|
|
|
- - "${TRAEFIK_HOST_HTTP_PORT}:80"
|
|
|
- - "${TRAEFIK_HOST_HTTPS_PORT}:443"
|
|
|
+ - "${TRAEFIK_HOST_HTTP_PORT}:${TRAEFIK_HOST_HTTP_PORT}"
|
|
|
+ - "${TRAEFIK_HOST_HTTPS_PORT}:${TRAEFIK_HOST_HTTPS_PORT}"
|
|
|
+ - "${TRAEFIK_DASHBOARD_PORT}:${TRAEFIK_DASHBOARD_PORT}"
|
|
|
networks:
|
|
|
- frontend
|
|
|
- backend
|
|
|
labels:
|
|
|
- - traefik.backend=traefik
|
|
|
- - traefik.frontend.rule=Host:monitor.localhost
|
|
|
- - traefik.port=8080
|
|
|
+ - "traefik.enable=true"
|
|
|
+ - "traefik.http.routers.traefik.rule=Host(`${ACME_DOMAIN}`)"
|
|
|
+ - "traefik.http.routers.traefik.entrypoints=traefik"
|
|
|
+ - "traefik.http.routers.traefik.service=api@internal"
|
|
|
+ - "traefik.http.routers.traefik.middlewares=access-auth"
|
|
|
+ - "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
|
|
|
+ - "traefik.http.middlewares.access-auth.basicauth.realm=Login Required"
|
|
|
+ - "traefik.http.middlewares.access-auth.basicauth.users=${TRAEFIK_DASHBOARD_USER}"
|
|
|
|
|
|
### MOSQUITTO Broker #########################################
|
|
|
mosquitto:
|
|
@@ -1487,7 +1834,7 @@ services:
|
|
|
volumes:
|
|
|
- ${MANTICORE_CONFIG_PATH}:/etc/sphinxsearch
|
|
|
- ${DATA_PATH_HOST}/manticore/data:/var/lib/manticore/data
|
|
|
- - ${DATA_PATH_HOST}/manticore/log:/var/lib/manticore/log
|
|
|
+ - ${DATA_PATH_HOST}/manticore/log:/var/log/manticore
|
|
|
ports:
|
|
|
- "${MANTICORE_API_PORT}:9312"
|
|
|
- "${MANTICORE_SPHINXQL_PORT}:9306"
|
|
@@ -1517,6 +1864,7 @@ services:
|
|
|
networks:
|
|
|
- backend
|
|
|
- frontend
|
|
|
+
|
|
|
### CONFLUENCE ################################################
|
|
|
confluence:
|
|
|
container_name: Confluence
|
|
@@ -1530,4 +1878,53 @@ services:
|
|
|
depends_on:
|
|
|
- postgres
|
|
|
volumes:
|
|
|
- - ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data
|
|
|
+ - ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data
|
|
|
+
|
|
|
+### SWAGGER EDITOR ############################################
|
|
|
+ swagger-editor:
|
|
|
+ build: ./swagger-editor
|
|
|
+ ports:
|
|
|
+ - ${SWAGGER_EDITOR_PORT}:8080
|
|
|
+ networks:
|
|
|
+ - backend
|
|
|
+
|
|
|
+### SWAGGER UI ################################################
|
|
|
+ swagger-ui:
|
|
|
+ build: ./swagger-ui
|
|
|
+ environment:
|
|
|
+ - API_URL=${SWAGGER_API_URL}
|
|
|
+ ports:
|
|
|
+ - ${SWAGGER_UI_PORT}:8080
|
|
|
+ networks:
|
|
|
+ - backend
|
|
|
+
|
|
|
+### tomcat ####################################################
|
|
|
+ tomcat:
|
|
|
+ container_name: tomcat
|
|
|
+ image: tomcat:${TOMCAT_VERSION}
|
|
|
+ ports:
|
|
|
+ - "${TOMCAT_HOST_HTTP_PORT}:8080"
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ - backend
|
|
|
+ volumes:
|
|
|
+ - ${DATA_PATH_HOST}/tomcat/webapps:/usr/local/tomcat/webapps
|
|
|
+ - ${DATA_PATH_HOST}/tomcat/logs:/usr/local/tomcat/logs
|
|
|
+ # restart: always
|
|
|
+
|
|
|
+### react #####################################################
|
|
|
+ react:
|
|
|
+ build:
|
|
|
+ context: ./react
|
|
|
+ ports:
|
|
|
+ - "3000:3000"
|
|
|
+ container_name: react
|
|
|
+ stdin_open: true
|
|
|
+ environment:
|
|
|
+ - CHOKIDAR_USEPOLLING=true
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ - backend
|
|
|
+ volumes:
|
|
|
+ - ./react:/usr/src/app/react
|
|
|
+ - /usr/src/app/react/node_modules
|