* 'master' of https://github.com/Laradock/laradock:
  Fixed path variable for windows users
  fixes up so Yarn is installable again
  align file format
  for file format
  use '`' to quote identifier
  use CREATE USER to define account authentication characteristics
  use CREATE USER to define account authentication characteristics
  Updated project example confs to fit nameing convention used in apache example
  Updated project example confs to not have gitignore issues
  docker-71 file now also works with new env-example setup
  Adding Arg to docker-compose
  Adding MSSQL Support
This commit is contained in:
Mahmoud Zalt 2017-03-21 10:02:10 -04:00
commit 99b8a45f3b
8 changed files with 103 additions and 16 deletions

View File

@ -14,7 +14,7 @@ services:
workspace: workspace:
build: build:
context: ./workspace context: ./workspace
args: args:
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
@ -32,7 +32,7 @@ services:
- PUID=${WORKSPACE_PUID} - PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID} - PGID=${WORKSPACE_PGID}
- NODE_VERSION=${WORKSPACE_NODE_VERSION} - NODE_VERSION=${WORKSPACE_NODE_VERSION}
- YARN_VERSION=${WORKSPACE_TIMEZONE} - YARN_VERSION=${WORKSPACE_YARN_VERSION}
- TZ=${WORKSPACE_TIMEZONE} - TZ=${WORKSPACE_TIMEZONE}
volumes_from: volumes_from:
- applications - applications
@ -57,7 +57,7 @@ services:
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
- INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
- INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION} - INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION}
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI} - INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
- INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER} - INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
- INSTALL_INTL=${PHP_FPM_INSTALL_INTL} - INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
@ -72,7 +72,7 @@ services:
- "dockerhost:${DOCKER_HOST_IP}" - "dockerhost:${DOCKER_HOST_IP}"
environment: environment:
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
### PHP Worker Container ##################################### ### PHP Worker Container #####################################
php-worker: php-worker:
build: build:
@ -91,7 +91,7 @@ services:
- PHP_UPSTREAM=php-fpm - PHP_UPSTREAM=php-fpm
volumes_from: volumes_from:
- applications - applications
volumes: volumes:
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx - ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available - ${NGINX_SITES_PATH}:/etc/nginx/sites-available
ports: ports:
@ -112,7 +112,7 @@ services:
volumes: volumes:
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2 - ${APACHE_HOST_LOG_PATH}:/var/log/apache2
- ./apache2/sites:/etc/apache2/sites-available - ./apache2/sites:/etc/apache2/sites-available
ports: ports:
- "${APACHE_HOST_HTTP_PORT}:80" - "${APACHE_HOST_HTTP_PORT}:80"
@ -349,9 +349,9 @@ services:
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300" - "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
depends_on: depends_on:
- php-fpm - php-fpm
### Certbot Container ################################## ### Certbot Container ##################################
certbot: certbot:
build: build:
context: ./certbot context: ./certbot

View File

@ -1,3 +1,6 @@
# Fix for windows users to make sure the application path works.
COMPOSE_CONVERT_WINDOWS_PATHS=1
### Application ### Application
# Point to your application code, wish should be available at `/var/www` # Point to your application code, wish should be available at `/var/www`
APPLICATION=../ APPLICATION=../
@ -29,6 +32,7 @@ WORKSPACE_INSTALL_MC=false
WORKSPACE_PUID=1000 WORKSPACE_PUID=1000
WORKSPACE_PGID=1000 WORKSPACE_PGID=1000
WORKSPACE_NODE_VERSION=stable WORKSPACE_NODE_VERSION=stable
WORKSPACE_YARN_VERSION=latest
WORKSPACE_TIMEZONE=UTC WORKSPACE_TIMEZONE=UTC
WORKSPACE_SSH_PORT=2222 WORKSPACE_SSH_PORT=2222

View File

@ -1,4 +1,4 @@
DROP USER IF EXISTS 'MYSQL_USER'; DROP USER IF EXISTS 'MYSQL_USER';
CREATE USER 'MYSQL_USER'@'%'; CREATE USER 'MYSQL_USER'@'%' IDENTIFIED BY 'MYSQL_PASSWORD';
CREATE DATABASE IF NOT EXISTS MYSQL_DATABASE; CREATE DATABASE IF NOT EXISTS `MYSQL_DATABASE`;
GRANT ALL ON MYSQL_DATABASE.* TO 'MYSQL_USER'@'%' IDENTIFIED BY 'MYSQL_PASSWORD'; GRANT ALL ON `MYSQL_DATABASE`.* TO 'MYSQL_USER'@'%';

View File

@ -192,6 +192,79 @@ RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
docker-php-ext-install tokenizer \ docker-php-ext-install tokenizer \
;fi ;fi
#####################################
# SQL SERVER:
#####################################
ARG MSSQL=false
RUN if [ ${MSSQL} = true ]; then \
#####################################
# Install Depenencies:
#####################################
apt-get update && \
apt-get install -y --force-yes wget apt-transport-https curl freetds-common php5-odbc libsybdb5 freetds-bin unixodbc unixodbc-dev php5-sybase && \
#####################################
# The following steps were taken from
# Microsoft's github account:
# https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways
#####################################
# Add PHP 7 repository
# for Debian jessie
# And System upgrade
echo "deb http://packages.dotdeb.org jessie all" \
| tee /etc/apt/sources.list.d/dotdeb.list \
&& wget -qO- https://www.dotdeb.org/dotdeb.gpg \
| apt-key add - \
&& apt-get update \
&& apt-get upgrade -qq && \
# Install UnixODBC
# Compile odbc_config as it is not part of unixodbc package
apt-get install -y whiptail \
unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \
&& dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \
&& cd unixodbc-*/ \
&& dpkg-buildpackage -uc -us -B -d \
&& cp -v ./exe/odbc_config /usr/local/bin/ && \
# Fake uname for install.sh
printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \
| tee /usr/local/bin/uname \
&& chmod +x /usr/local/bin/uname && \
# Microsoft ODBC Driver 13 for Linux
# Note: There's a copy of this tar on my hubiC
wget -nv -O msodbcsql-13.0.0.0.tar.gz \
"https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \
&& tar -xf msodbcsql-13.0.0.0.tar.gz \
&& cd msodbcsql-*/ \
&& ldd lib64/libmsodbcsql-13.0.so.0.0 \
&& ./install.sh install --accept-license \
&& ls -l /opt/microsoft/msodbcsql/ \
&& odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \
#####################################
# Install sqlsrv y pdo_sqlsrv
# extensions:
#####################################
pecl install sqlsrv-4.0.6 && \
pecl install pdo_sqlsrv-4.0.6 && \
#####################################
# Set locales for the container
#####################################
apt-get install -y locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
;fi
##################################### #####################################
# Human Language and Character Encoding Support: # Human Language and Character Encoding Support:
##################################### #####################################
@ -218,6 +291,7 @@ RUN if [ ${GHOSTSCRIPT} = true ]; then \
ghostscript \ ghostscript \
;fi ;fi
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# Final Touch # Final Touch

View File

@ -130,13 +130,19 @@ RUN if [ ${INSTALL_OPCACHE} = true ]; then \
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini 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 ARG INSTALL_TOKENIZER=false
RUN if [ ${CODEIGNITER} = true ]; then \ RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
# Install Codeigniter PHP extentions requirements
docker-php-ext-install mysqli && \
docker-php-ext-install tokenizer \ docker-php-ext-install tokenizer \
;fi ;fi

View File

@ -11,3 +11,6 @@ upload_max_filesize = 20M
; Sets max size of post data allowed. ; Sets max size of post data allowed.
; http://php.net/post-max-size ; http://php.net/post-max-size
post_max_size = 20M post_max_size = 20M
; Enables the MSSQL extensions
extension=sqlsrv.so
extension=pdo_sqlsrv.so