Merge branch 'multiple_frameworks' of https://github.com/Mvzundert/laradock into Mvzundert-multiple_frameworks
* 'multiple_frameworks' of https://github.com/Mvzundert/laradock: Seperated mysqli and tokenizer as seperate options without putting them under code igniter Apache should just go to /var/www not /var/www/public when supporting multiple projects fixed example and docker-compose.yml Fixed php-fpm variables and example Split up mysqli and tokenizer Removed homestead entirely this time Removed homestead entirely this time Removed Homestead reference in all DB containers Removed reference to homestead Fixed timezone issue in docker-compose.yml Added NGINX from env file and updated env-example Updated PHP-FPM container to accept .env variables Added workspace from env file and updated env-example Removed .env file Added env-example and adjusted docker-compose yml to support new env file Updated gitignore
This commit is contained in:
commit
7f27073a4e
|
@ -1,3 +1,4 @@
|
|||
.idea
|
||||
/logs
|
||||
/data
|
||||
.env
|
|
@ -6,11 +6,11 @@ ARG PHP_SOCKET=php-fpm:9000
|
|||
|
||||
ENV WEB_PHP_SOCKET=$PHP_SOCKET
|
||||
|
||||
ENV WEB_DOCUMENT_ROOT=/var/www/public
|
||||
ENV WEB_DOCUMENT_ROOT=/var/www/
|
||||
|
||||
EXPOSE 80 443
|
||||
|
||||
WORKDIR /var/www/public
|
||||
WORKDIR /var/www/
|
||||
|
||||
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
|
||||
|
||||
|
|
|
@ -7,34 +7,32 @@ services:
|
|||
applications:
|
||||
image: tianon/true
|
||||
volumes:
|
||||
- ../:/var/www
|
||||
# - ../sample/:/var/www/sample
|
||||
- ${APPLICATIONS_HOST_DIR}:/var/www
|
||||
|
||||
### Workspace Utilities Container ###########################
|
||||
|
||||
workspace:
|
||||
build:
|
||||
context: ./workspace
|
||||
args:
|
||||
- INSTALL_XDEBUG=false
|
||||
- INSTALL_SOAP=false
|
||||
- INSTALL_MONGO=false
|
||||
- INSTALL_NODE=false
|
||||
- INSTALL_YARN=false
|
||||
- INSTALL_DRUSH=false
|
||||
- INSTALL_AEROSPIKE_EXTENSION=false
|
||||
- INSTALL_V8JS_EXTENSION=false
|
||||
- COMPOSER_GLOBAL_INSTALL=false
|
||||
- INSTALL_WORKSPACE_SSH=false
|
||||
- INSTALL_LARAVEL_ENVOY=false
|
||||
- INSTALL_DEPLOYER=false
|
||||
- INSTALL_LINUXBREW=false
|
||||
- INSTALL_MC=false
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- NODE_VERSION=stable
|
||||
- YARN_VERSION=latest
|
||||
- TZ=UTC
|
||||
args:
|
||||
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
|
||||
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
|
||||
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
|
||||
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
|
||||
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
|
||||
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
|
||||
- INSTALL_AEROSPIKE_EXTENSION=${WORKSPACE_INSTALL_AEROSPIKE_EXTENSION}
|
||||
- INSTALL_V8JS_EXTENSION=${WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION}
|
||||
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
|
||||
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
|
||||
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
|
||||
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
|
||||
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
|
||||
- PUID=${WORKSPACE_PUID}
|
||||
- PGID=${WORKSPACE_PGID}
|
||||
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
|
||||
- YARN_VERSION=${WORKSPACE_TIMEZONE}
|
||||
- TZ=${WORKSPACE_TIMEZONE}
|
||||
volumes_from:
|
||||
- applications
|
||||
extra_hosts:
|
||||
|
@ -50,18 +48,19 @@ services:
|
|||
build:
|
||||
context: ./php-fpm
|
||||
args:
|
||||
- INSTALL_XDEBUG=false
|
||||
- INSTALL_SOAP=false
|
||||
- INSTALL_MONGO=false
|
||||
- INSTALL_ZIP_ARCHIVE=false
|
||||
- INSTALL_BCMATH=false
|
||||
- INSTALL_PHPREDIS=false
|
||||
- INSTALL_MEMCACHED=false
|
||||
- INSTALL_OPCACHE=false
|
||||
- INSTALL_EXIF=false
|
||||
- INSTALL_AEROSPIKE_EXTENSION=false
|
||||
- CODEIGNITER=false
|
||||
dockerfile: Dockerfile-70
|
||||
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
|
||||
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
|
||||
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
|
||||
- INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE}
|
||||
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
|
||||
- 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_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION}
|
||||
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
|
||||
- INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
|
||||
dockerfile: ${PHP_FPM_DOCKER_FILE}
|
||||
volumes_from:
|
||||
- applications
|
||||
expose:
|
||||
|
@ -84,9 +83,9 @@ services:
|
|||
- PHP_UPSTREAM=php-fpm
|
||||
volumes_from:
|
||||
- applications
|
||||
volumes:
|
||||
- ./logs/nginx/:/var/log/nginx
|
||||
- ./nginx/sites/:/etc/nginx/sites-available
|
||||
volumes:
|
||||
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
|
||||
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
|
@ -139,8 +138,8 @@ services:
|
|||
build:
|
||||
context: ./mysql
|
||||
args:
|
||||
- MYSQL_DATABASE=homestead
|
||||
- MYSQL_USER=homestead
|
||||
- MYSQL_DATABASE=default
|
||||
- MYSQL_USER=default
|
||||
- MYSQL_PASSWORD=secret
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
volumes:
|
||||
|
@ -157,8 +156,8 @@ services:
|
|||
ports:
|
||||
- "3306:3306"
|
||||
environment:
|
||||
MYSQL_DATABASE: homestead
|
||||
MYSQL_USER: homestead
|
||||
MYSQL_DATABASE: default
|
||||
MYSQL_USER: default
|
||||
MYSQL_PASSWORD: secret
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
|
||||
|
@ -171,8 +170,8 @@ services:
|
|||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
POSTGRES_DB: homestead
|
||||
POSTGRES_USER: homestead
|
||||
POSTGRES_DB: default
|
||||
POSTGRES_USER: default
|
||||
POSTGRES_PASSWORD: secret
|
||||
|
||||
### PostgreSQL PostGis Container ############################
|
||||
|
@ -184,8 +183,8 @@ services:
|
|||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
POSTGRES_DB: homestead
|
||||
POSTGRES_USER: homestead
|
||||
POSTGRES_DB: default
|
||||
POSTGRES_USER: default
|
||||
POSTGRES_PASSWORD: secret
|
||||
|
||||
### Neo4j Container #########################################
|
||||
|
@ -196,7 +195,7 @@ services:
|
|||
- "7474:7474"
|
||||
- "1337:1337"
|
||||
environment:
|
||||
- NEO4J_AUTH=homestead:secret
|
||||
- NEO4J_AUTH=default:secret
|
||||
volumes:
|
||||
- neo4j:/var/lib/neo4j/data
|
||||
|
||||
|
@ -310,7 +309,7 @@ services:
|
|||
build: ./phpmyadmin
|
||||
environment:
|
||||
PMA_ARBITRARY: 1
|
||||
MYSQL_USER: homestead
|
||||
MYSQL_USER: default
|
||||
MYSQL_PASSWORD: secret
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
ports:
|
||||
|
|
|
@ -0,0 +1,167 @@
|
|||
##################
|
||||
# DOCKER COMPOSE #
|
||||
# ################
|
||||
|
||||
DOCKER_HOST_IP=10.0.75.1
|
||||
|
||||
# Switch between PHP and HHVM interpreter
|
||||
# PHP_INTERPRETER=hhvm
|
||||
PHP_INTERPRETER=php-fpm
|
||||
|
||||
# Switch between supported PHP versions... does not apply for HHVM.
|
||||
# Please see composer.json in Laravel Framework for the minimum Php Version
|
||||
#PHP_VERSION=55
|
||||
#PHP_VERSION=56
|
||||
PHP_VERSION=70
|
||||
|
||||
# APPLICATIONS
|
||||
APPLICATIONS_HOST_DIR=../
|
||||
APPLICATIONS_IMAGE_NAME=tianon/true
|
||||
APPLICATIONS_CONTAINER_NAME=applications
|
||||
|
||||
# WORKSPACE
|
||||
WORKSPACE_INSTALL_XDEBUG=false
|
||||
WORKSPACE_INSTALL_SOAP=false
|
||||
WORKSPACE_INSTALL_MONGO=false
|
||||
WORKSPACE_INSTALL_NODE=false
|
||||
WORKSPACE_INSTALL_YARN=false
|
||||
WORKSPACE_INSTALL_DRUSH=false
|
||||
WORKSPACE_INSTALL_AEROSPIKE_EXTENSION=false
|
||||
WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION=false
|
||||
WORKSPACE_COMPOSER_GLOBAL_INSTALL=false
|
||||
WORKSPACE_INSTALL_WORKSPACE_SSH=false
|
||||
WORKSPACE_INSTALL_LARAVEL_ENVOY=false
|
||||
WORKSPACE_INSTALL_DEPLOYER=false
|
||||
WORKSPACE_INSTALL_LINUXBREW=false
|
||||
WORKSPACE_PUID=1000
|
||||
WORKSPACE_PGID=1000
|
||||
WORKSPACE_NODE_VERSION=stable
|
||||
WORKSPACE_TIMEZONE=UTC
|
||||
WORKSPACE_SSH_PORT=2222
|
||||
|
||||
# PHP_FPM
|
||||
PHP_FPM_DOCKER_FILE=Dockerfile-70
|
||||
PHP_FPM_INSTALL_XDEBUG=false
|
||||
PHP_FPM_INSTALL_MONGO=false
|
||||
PHP_FPM_INSTALL_SOAP=false
|
||||
PHP_FPM_INSTALL_ZIP_ARCHIVE=false
|
||||
PHP_FPM_INSTALL_BCMATH=false
|
||||
PHP_FPM_INSTALL_PHPREDIS=false
|
||||
PHP_FPM_INSTALL_MEMCACHED=false
|
||||
PHP_FPM_INSTALL_OPCACHE=false
|
||||
PHP_FPM_INSTALL_EXIF=false
|
||||
PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false
|
||||
PHP_FPM_INSTALL_MYSQLI=false
|
||||
PHP_FPM_INSTALL_TOKENIZER=false
|
||||
|
||||
# NGINX
|
||||
NGINX_HOST_HTTP_PORT=8080
|
||||
NGINX_HOST_HTTPS_PORT=8433
|
||||
NGINX_HOST_LOG_PATH=./logs/nginx/
|
||||
NGINX_SITES_PATH=./nginx/sites/
|
||||
|
||||
|
||||
|
||||
# APACHE
|
||||
APACHE2_BUILD_PATH=./apache2
|
||||
APACHE2_CONTAINER_NAME=apache2
|
||||
APACHE_HOST_HTTP_PORT=7080
|
||||
APACHE_HOST_HTTPS_PORT=7443
|
||||
APACHE2_PHP_SOCKET=php-fpm:9000
|
||||
APACHE_HOST_LOG_PATH=./logs/apache2
|
||||
|
||||
# HHVM
|
||||
HHVM_BUILD_PATH=./hhvm
|
||||
HHVM_CONTAINER_NAME=hhvm
|
||||
HHVM_HOST_PORT=9000
|
||||
|
||||
# MYSQL
|
||||
MYSQL_BUILD_PATH=./mysql
|
||||
MYSQL_CONTAINER_NAME=mysql
|
||||
MYSQL_HOST_PORT=3307
|
||||
MYSQL_ROOT_PASSWORD=root
|
||||
|
||||
# MEMCACHED
|
||||
MEMCACHED_BUILD_PATH=./memcached
|
||||
MEMCACHED_CONTAINER_NAME=memcached
|
||||
MEMCACHED_HOST_PORT=11211
|
||||
|
||||
# BEANSTALKD
|
||||
BEANSTALKD_BUILD_PATH=./beanstalkd
|
||||
BEANSTALKD_CONTAINER_NAME=beanstalkd
|
||||
BEANSTALKD_HOST_PORT=11300
|
||||
|
||||
# BEANSTALKD CONSOLE
|
||||
BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console
|
||||
BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console
|
||||
BEANSTALKD_CONSOLE_HOST_PORT=2080
|
||||
|
||||
# RABBITMQ
|
||||
RABBITMQ_BUILD_PATH=./rabbitmq
|
||||
RABBITMQ_CONTAINER_NAME=rabbitmq
|
||||
RABBITMQ_NODE_HOST_PORT=5672
|
||||
RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
|
||||
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
|
||||
RABBITMQ_DEFAULT_USER=guest
|
||||
RABBITMQ_DEFAULT_PASS=guest
|
||||
|
||||
# ELASTICSEARCH
|
||||
ELASTICSEARCH_BUILD_PATH=./elasticsearch/versions/2
|
||||
ELASTICSEARCH_CONTAINER_NAME=elasticsearch
|
||||
ELASTICSEARCH_HOST_HTTP_PORT=9200
|
||||
ELASTICSEARCH_HOST_TRANSPORT_PORT=9300
|
||||
|
||||
####################
|
||||
# LARAVEL SPECIFIC #
|
||||
# ##################
|
||||
|
||||
# APP
|
||||
APP_ENV=local
|
||||
APP_KEY=base64:FeZgPe6Pqm7dOCy7Sx0P/PQ9ICMuwAsHLms7DUOxCkI=
|
||||
APP_DEBUG=true
|
||||
APP_LOG_LEVEL=debug
|
||||
APP_URL=http://localhost
|
||||
|
||||
# DATABASE
|
||||
DB_CONNECTION=mysql
|
||||
|
||||
# Laravel Original: DB_HOST=127.0.0.1
|
||||
# must match the service name or container name.
|
||||
# so if we want to use mariadb it must look like:
|
||||
# DB_HOST=mariadb
|
||||
DB_HOST=mysql
|
||||
|
||||
# IMPORTANT:
|
||||
# - ports are defined in docker-compose.yml like HOST_PORT:CONTAINER_PORT
|
||||
# - DB_PORT=3306 represents the CONTAINER_PORT not the HOST_PORT
|
||||
#
|
||||
# This means that this should not be changed unless you have also tweaked the database image created by
|
||||
# docker-compose.yml.
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=default
|
||||
DB_USERNAME=default
|
||||
DB_PASSWORD=secret
|
||||
|
||||
# DRIVERS
|
||||
BROADCAST_DRIVER=log
|
||||
CACHE_DRIVER=file
|
||||
SESSION_DRIVER=file
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
# REDIS
|
||||
REDIS_HOST=redis
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
# MAIL
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_HOST=mailtrap.io
|
||||
MAIL_PORT=2525
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_ENCRYPTION=null
|
||||
|
||||
# PUSHER
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_KEY=
|
||||
PUSHER_SECRET=
|
|
@ -6,8 +6,8 @@ ADD startup /etc/mysql/startup
|
|||
|
||||
RUN chown -R mysql:root /var/lib/mysql/
|
||||
|
||||
ARG MYSQL_DATABASE=homestead
|
||||
ARG MYSQL_USER=homestead
|
||||
ARG MYSQL_DATABASE=default
|
||||
ARG MYSQL_USER=default
|
||||
ARG MYSQL_PASSWORD=secret
|
||||
ARG MYSQL_ROOT_PASSWORD=root
|
||||
|
||||
|
|
|
@ -145,13 +145,20 @@ RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
|||
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||
|
||||
#####################################
|
||||
# Codeigniter Modifications:
|
||||
# Mysqli Modifications:
|
||||
#####################################
|
||||
|
||||
ARG CODEIGNITER=false
|
||||
RUN if [ ${CODEIGNITER} = true ]; then \
|
||||
# Install Codeigniter PHP extentions requirements
|
||||
docker-php-ext-install mysqli && \
|
||||
ARG INSTALL_MYSQLI=false
|
||||
RUN if [ ${INSTALL_MYSQLI} = true ]; then \
|
||||
docker-php-ext-install mysqli \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Tokenizer Modifications:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_TOKENIZER=false
|
||||
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
|
|
|
@ -176,13 +176,19 @@ RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
|||
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||
|
||||
#####################################
|
||||
# Codeigniter Modifications:
|
||||
# Mysqli Modifications:
|
||||
#####################################
|
||||
ARG INSTALL_MYSQLI=false
|
||||
RUN if [ ${INSTALL_MYSQLI} = true ]; then \
|
||||
docker-php-ext-install mysqli \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Tokenizer Modifications:
|
||||
#####################################
|
||||
|
||||
ARG CODEIGNITER=false
|
||||
RUN if [ ${CODEIGNITER} = true ]; then \
|
||||
# Install Codeigniter PHP extentions requirements
|
||||
docker-php-ext-install mysqli && \
|
||||
ARG INSTALL_TOKENIZER=false
|
||||
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
|
|
Loading…
Reference in New Issue