Commit 5745a50d authored by MyController's avatar MyController Committed by GitHub

Merge pull request #1 from laradock/master

跟进主干
parents bf4a5beb 18b6c1b9
...@@ -25,6 +25,7 @@ A Docker PHP development environment that facilitates running **PHP** Apps on ** ...@@ -25,6 +25,7 @@ A Docker PHP development environment that facilitates running **PHP** Apps on **
- [Winfried van Loon](https://github.com/winfried-van-loon) @winfried-van-loon - [Winfried van Loon](https://github.com/winfried-van-loon) @winfried-van-loon
- [TJ Miller](https://github.com/sixlive) @sixlive - [TJ Miller](https://github.com/sixlive) @sixlive
- [Yu-Lung Shao (Allen)](https://github.com/bestlong) @bestlong - [Yu-Lung Shao (Allen)](https://github.com/bestlong) @bestlong
- [Milan Urukalo](https://github.com/urukalo) @urukalo
- Join Us. - Join Us.
## License ## License
......
...@@ -8,5 +8,22 @@ MAINTAINER Patrick Artounian <partounian@gmail.com> ...@@ -8,5 +8,22 @@ MAINTAINER Patrick Artounian <partounian@gmail.com>
# Add volume for sessions to allow session persistence # Add volume for sessions to allow session persistence
VOLUME /sessions VOLUME /sessions
#####################################
# SQL SERVER:
#####################################
USER root
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN if [ ${INSTALL_MSSQL} = true ]; then \
set -xe \
&& apk --update add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc unixodbc-dev \
&& pecl channel-update pecl.php.net \
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
&& echo "extension=sqlsrv.so" > /usr/local/etc/php/conf.d/20-sqlsrv.ini \
&& echo "extension=pdo_sqlsrv.so" > /usr/local/etc/php/conf.d/20-pdo_sqlsrv.ini \
;fi
USER adminer
# We expose Adminer on port 8080 (Adminer's default) # We expose Adminer on port 8080 (Adminer's default)
EXPOSE 8080 EXPOSE 8080
...@@ -28,6 +28,7 @@ services: ...@@ -28,6 +28,7 @@ services:
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH} - INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY} - INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
- INSTALL_LARAVEL_INSTALLER=${WORKSPACE_INSTALL_LARAVEL_INSTALLER}
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER} - INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW} - INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
- INSTALL_MC=${WORKSPACE_INSTALL_MC} - INSTALL_MC=${WORKSPACE_INSTALL_MC}
...@@ -440,7 +441,10 @@ services: ...@@ -440,7 +441,10 @@ services:
### Adminer Container #################################### ### Adminer Container ####################################
adminer: adminer:
build: ./adminer build:
context: ./adminer
args:
- INSTALL_MSSQL=${ADM_INSTALL_MSSQL}
ports: ports:
- "${ADM_PORT}:8080" - "${ADM_PORT}:8080"
depends_on: depends_on:
...@@ -563,6 +567,7 @@ services: ...@@ -563,6 +567,7 @@ services:
- proxy2 - proxy2
### Jenkins ################################################### ### Jenkins ###################################################
jenkins: jenkins:
build: ./jenkins build: ./jenkins
environment: environment:
...@@ -578,6 +583,19 @@ services: ...@@ -578,6 +583,19 @@ services:
- frontend - frontend
- backend - backend
### Laravel Echo Server #######################################
laravel-echo-server:
build:
context: ./laravel-echo-server
volumes:
- ./laravel-echo-server/laravel-echo-server.json:/app/laravel-echo-server.json:ro
ports:
- "${LARAVEL_ECHO_SERVER_PORT}:6001"
links:
- redis
networks:
- frontend
- backend
### Networks Setup ############################################ ### Networks Setup ############################################
......
...@@ -10,7 +10,7 @@ APPLICATION=../ ...@@ -10,7 +10,7 @@ APPLICATION=../
### Data Path: ### Data Path:
# For all storage systems. # For all storage systems.
DATA_SAVE_PATH=/tmp DATA_SAVE_PATH=~/.laradock/data
### PHP version ### PHP version
# Applies to the Workspace and PHP-FPM containers (Does not apply to HHVM) # Applies to the Workspace and PHP-FPM containers (Does not apply to HHVM)
...@@ -41,6 +41,7 @@ WORKSPACE_INSTALL_V8JS=false ...@@ -41,6 +41,7 @@ WORKSPACE_INSTALL_V8JS=false
WORKSPACE_COMPOSER_GLOBAL_INSTALL=false WORKSPACE_COMPOSER_GLOBAL_INSTALL=false
WORKSPACE_INSTALL_WORKSPACE_SSH=false WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_LARAVEL_ENVOY=false WORKSPACE_INSTALL_LARAVEL_ENVOY=false
WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
WORKSPACE_INSTALL_DEPLOYER=false WORKSPACE_INSTALL_DEPLOYER=false
WORKSPACE_INSTALL_LINUXBREW=false WORKSPACE_INSTALL_LINUXBREW=false
WORKSPACE_INSTALL_MC=false WORKSPACE_INSTALL_MC=false
...@@ -161,6 +162,7 @@ MINIO_PORT=9000 ...@@ -161,6 +162,7 @@ MINIO_PORT=9000
### ADMINER ############################################################################################################ ### ADMINER ############################################################################################################
ADM_PORT=8080 ADM_PORT=8080
ADM_INSTALL_MSSQL=false
### PHP MY ADMIN ####################################################################################################### ### PHP MY ADMIN #######################################################################################################
...@@ -239,6 +241,10 @@ CADDY_HOST_HTTPS_PORT=443 ...@@ -239,6 +241,10 @@ CADDY_HOST_HTTPS_PORT=443
CADDY_HOST_LOG_PATH=./logs/caddy CADDY_HOST_LOG_PATH=./logs/caddy
CADDY_CUSTOM_CADDYFILE=./caddy/Caddyfile CADDY_CUSTOM_CADDYFILE=./caddy/Caddyfile
### LARAVEL ECHO SERVER ################################################################################################
LARAVEL_ECHO_SERVER_PORT=6001
##### TO BE CONTINUE ................................. ##### TO BE CONTINUE .................................
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
FROM node:argon
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY laravel-echo-server.json /usr/src/app/laravel-echo-server.json
EXPOSE 3000
CMD [ "npm", "start" ]
\ No newline at end of file
{
"authHost": "localhost",
"authEndpoint": "/broadcasting/auth",
"clients": [],
"database": "redis",
"databaseConfig": {
"redis": {
"port": "6379",
"host": "redis"
}
},
"devMode": true,
"host": null,
"port": "6001",
"protocol": "http",
"socketio": {},
"sslCertPath": "",
"sslKeyPath": ""
}
\ No newline at end of file
{
"name": "laravel-echo-server-docker",
"description": "Docker container for running laravel-echo-server",
"version": "0.0.1",
"license": "MIT",
"dependencies": {
"laravel-echo-server": "^1.2.8"
},
"scripts": {
"start": "laravel-echo-server start"
}
}
\ No newline at end of file
#wait for the SQL Server to come up #wait for the SQL Server to come up
sleep 45s sleep 45
#run the setup script to create the DB and the schema in the DB #run the setup script to create the DB and the schema in the DB
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -d master -i setup.sql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -d master -i setup.sql
\ No newline at end of file
#start SQL Server, start the script to create the DB and import the data, start the app #start SQL Server, start the script to create the DB and import the data, start the app
/opt/mssql/bin/sqlservr.sh & /usr/src/app/create_table.sh & tail -f /dev/null /opt/mssql/bin/sqlservr & /usr/src/app/create_table.sh & tail -f /dev/null
\ No newline at end of file
#!/usr/bin/env bash #!/usr/bin/env bash
#### halt script on error #### halt script on error
set -e set -xe
echo '##### Print docker version' echo '##### Print docker version'
docker --version docker --version
......
...@@ -117,13 +117,17 @@ COPY ./aliases.sh /home/laradock/aliases.sh ...@@ -117,13 +117,17 @@ COPY ./aliases.sh /home/laradock/aliases.sh
RUN echo "" >> ~/.bashrc && \ RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \ echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
USER root USER root
RUN echo "" >> ~/.bashrc && \ RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \ echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
##################################### #####################################
# xDebug: # xDebug:
...@@ -186,7 +190,8 @@ ENV INSTALL_MONGO ${INSTALL_MONGO} ...@@ -186,7 +190,8 @@ ENV INSTALL_MONGO ${INSTALL_MONGO}
RUN if [ ${INSTALL_MONGO} = true ]; then \ RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension # Install the mongodb extension
pecl install mongodb && \ pecl install mongodb && \
echo "extension=mongodb.so" >> /etc/php/5.6/cli/conf.d/30-mongodb.ini \ echo "extension=mongodb.so" >> /etc/php/5.6/mods-available/mongodb.ini && \
ln -s /etc/php/5.6/mods-available/mongodb.ini /etc/php/5.6/cli/conf.d/30-mongodb.ini \
;fi ;fi
##################################### #####################################
...@@ -333,6 +338,23 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \ ...@@ -333,6 +338,23 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
composer global require "laravel/envoy=~1.0" \ composer global require "laravel/envoy=~1.0" \
;fi ;fi
#####################################
# Laravel Installer:
#####################################
USER root
ARG INSTALL_LARAVEL_INSTALLER=true
ENV INSTALL_LARAVEL_INSTALLER ${INSTALL_LARAVEL_INSTALLER}
RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \
# Install the Laravel Installer
echo "" >> ~/.bashrc && \
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc \
&& composer global require "laravel/installer" \
;fi
USER laradock
##################################### #####################################
# Deployer: # Deployer:
##################################### #####################################
......
...@@ -117,13 +117,17 @@ COPY ./aliases.sh /home/laradock/aliases.sh ...@@ -117,13 +117,17 @@ COPY ./aliases.sh /home/laradock/aliases.sh
RUN echo "" >> ~/.bashrc && \ RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \ echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
USER root USER root
RUN echo "" >> ~/.bashrc && \ RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \ echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
##################################### #####################################
# xDebug: # xDebug:
...@@ -186,7 +190,8 @@ ENV INSTALL_MONGO ${INSTALL_MONGO} ...@@ -186,7 +190,8 @@ ENV INSTALL_MONGO ${INSTALL_MONGO}
RUN if [ ${INSTALL_MONGO} = true ]; then \ RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension # Install the mongodb extension
pecl install mongodb && \ pecl install mongodb && \
echo "extension=mongodb.so" >> /etc/php/7.0/cli/conf.d/30-mongodb.ini \ echo "extension=mongodb.so" >> /etc/php/7.0/mods-available/mongodb.ini && \
ln -s /etc/php/7.0/mods-available/mongodb.ini /etc/php/7.0/cli/conf.d/30-mongodb.ini \
;fi ;fi
##################################### #####################################
...@@ -350,6 +355,23 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \ ...@@ -350,6 +355,23 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
composer global require "laravel/envoy=~1.0" \ composer global require "laravel/envoy=~1.0" \
;fi ;fi
#####################################
# Laravel Installer:
#####################################
USER root
ARG INSTALL_LARAVEL_INSTALLER=true
ENV INSTALL_LARAVEL_INSTALLER ${INSTALL_LARAVEL_INSTALLER}
RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \
# Install the Laravel Installer
echo "" >> ~/.bashrc && \
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc \
&& composer global require "laravel/installer" \
;fi
USER laradock
##################################### #####################################
# Deployer: # Deployer:
##################################### #####################################
......
...@@ -113,13 +113,17 @@ COPY ./aliases.sh /home/laradock/aliases.sh ...@@ -113,13 +113,17 @@ COPY ./aliases.sh /home/laradock/aliases.sh
RUN echo "" >> ~/.bashrc && \ RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \ echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
USER root USER root
RUN echo "" >> ~/.bashrc && \ RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \ echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \ echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
##################################### #####################################
# xDebug: # xDebug:
...@@ -182,7 +186,8 @@ ENV INSTALL_MONGO ${INSTALL_MONGO} ...@@ -182,7 +186,8 @@ ENV INSTALL_MONGO ${INSTALL_MONGO}
RUN if [ ${INSTALL_MONGO} = true ]; then \ RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension # Install the mongodb extension
pecl install mongodb && \ pecl install mongodb && \
echo "extension=mongodb.so" >> /etc/php/7.1/cli/conf.d/30-mongodb.ini \ echo "extension=mongodb.so" >> /etc/php/7.1/mods-available/mongodb.ini && \
ln -s /etc/php/7.1/mods-available/mongodb.ini /etc/php/7.1/cli/conf.d/30-mongodb.ini \
;fi ;fi
##################################### #####################################
...@@ -350,6 +355,23 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \ ...@@ -350,6 +355,23 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
composer global require "laravel/envoy=~1.0" \ composer global require "laravel/envoy=~1.0" \
;fi ;fi
#####################################
# Laravel Installer:
#####################################
USER root
ARG INSTALL_LARAVEL_INSTALLER=true
ENV INSTALL_LARAVEL_INSTALLER ${INSTALL_LARAVEL_INSTALLER}
RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \
# Install the Laravel Installer
echo "" >> ~/.bashrc && \
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc \
&& composer global require "laravel/installer" \
;fi
USER laradock
##################################### #####################################
# Deployer: # Deployer:
##################################### #####################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment