Merge branch 'master' into graphviz

This commit is contained in:
Madson Jr 2018-09-10 22:40:19 -03:00 committed by GitHub
commit 94f262a793
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 439 additions and 97 deletions

View File

@ -323,7 +323,7 @@ PHP_FPM_INSTALL_PHPDBG=true
<a name="Setup remote debugging for PhpStorm on Linux"></a> <a name="Setup remote debugging for PhpStorm on Linux"></a>
## Setup remote debugging for PhpStorm on Linux ## Setup remote debugging for PhpStorm on Linux
- Make sure you have followed the steps above in the [Install Xdebug section](http://laradock.io/documentation/#install-xdebug). - Make sure you have followed the steps above in the [Install Xdebug section](#install-xdebug).
- Make sure Xdebug accepts connections and listens on port 9000. (Should be default configuration). - Make sure Xdebug accepts connections and listens on port 9000. (Should be default configuration).
@ -353,6 +353,28 @@ Note: If `.php-fpm/xdebug` doesn't execute and gives `Permission Denied` error t
<br>
<a name="Install-ionCube-Loader"></a>
## Install ionCube Loader
1 - First install `ionCube Loader` in the Workspace and the PHP-FPM Containers:
<br>
a) open the `.env` file
<br>
b) search for the `WORKSPACE_INSTALL_IONCUBE` argument under the Workspace Container
<br>
c) set it to `true`
<br>
d) search for the `PHP_FPM_INSTALL_IONCUBE` argument under the PHP-FPM Container
<br>
e) set it to `true`
2 - Re-build the containers `docker-compose build workspace php-fpm`
Always download the latest version of [Loaders for ionCube ](http://www.ioncube.com/loaders.php).
<br> <br>
@ -407,7 +429,7 @@ To learn more about how Docker publishes ports, please read [this excellent post
<a name="Digital-Ocean"></a> <a name="Digital-Ocean"></a>
## Setup Laravel and Docker on Digital Ocean ## Setup Laravel and Docker on Digital Ocean
### [Full Guide Here](https://github.com/laradock/laradock/blob/master/_guides/digital_ocean.md) ### [Full Guide Here](/guides/#Digital-Ocean)
@ -522,6 +544,7 @@ b) add a new service container by simply copy-paste this section below PHP-FPM c
context: ./php-worker context: ./php-worker
args: args:
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} #Optionally install PGSQL PHP drivers - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} #Optionally install PGSQL PHP drivers
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} #Optionally install BCMath php package
volumes_from: volumes_from:
- applications - applications
depends_on: depends_on:
@ -554,6 +577,19 @@ docker-compose up -d netdata
2 - Open your browser and visit the localhost on port **19999**: `http://localhost:19999` 2 - Open your browser and visit the localhost on port **19999**: `http://localhost:19999`
<br>
<a name="Use-Metabase"></a>
## Use Metabase
1 - Run the Metabase Container (`metbase`) with the `docker-compose up` command. Example:
```bash
docker-compose up -d metabase
```
2 - Open your browser and visit the localhost on port **3030**: `http://localhost:3030`
3 - You can use environment to configure Metabase container. See docs in: [Running Metabase on Docker](https://www.metabase.com/docs/v0.12.0/operations-guide/running-metabase-on-docker.html)
@ -1485,17 +1521,40 @@ e) set it to `true`
3 - Set it to `true` 3 - Set it to `true`
<br> <br>
4 - Re-build the containers `docker-compose build php-fpm` 4 - Re-build the containers `docker-compose build php-fpm`
<br>
<br>
<a name="Install-Faketime"></a>
## Install libfaketime in the php-fpm container
Libfaketime allows you to control the date and time that is returned from the operating system.
It can be used by specifying a special string in the `PHP_FPM_FAKETIME` variable in the `.env` file.
For example:
`PHP_FPM_FAKETIME=-1d`
will set the clock back 1 day. See (https://github.com/wolfcw/libfaketime) for more information.
1 - Open the `.env` file
<br>
2 - Search for the `PHP_FPM_INSTALL_FAKETIME` argument under the PHP-FPM container
<br>
3 - Set it to `true`
<br>
4 - Search for the `PHP_FPM_FAKETIME` argument under the PHP-FPM container
<br>
5 - Set it to the desired string
<br>
6 - Re-build the containers `docker-compose build php-fpm`<br>
<br> <br>
<a name="phpstorm-debugging"></a> <a name="phpstorm-debugging"></a>
## PHPStorm Debugging Guide ## PHPStorm Debugging Guide
Remote debug Laravel web and phpunit tests. Remote debug Laravel web and phpunit tests.
[**Debugging Guide Here**](https://github.com/laradock/laradock/blob/master/_guides/phpstorm.md) [**Debugging Guide Here**](/guides/#PHPStorm-Debugging)

View File

@ -81,10 +81,10 @@ We'll need to do step 1 of the [Usage](#Usage) section now to make this happen.
cp env-example .env cp env-example .env
``` ```
At the top, change the `APPLICATION` variable to your project path. At the top, change the `APP_CODE_PATH_HOST` variable to your project path.
``` ```
APPLICATION=../project-z/ APP_CODE_PATH_HOST=../project-z/
``` ```
Make sure to replace `project-z` with your project folder name. Make sure to replace `project-z` with your project folder name.

View File

@ -197,7 +197,7 @@ This is needed Prior to Creating Let's Encypt
## Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt ## Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
``` ```
$root@server:~/laravel/laradock/caddy# docker-compose up caddy $root@server:~/laravel/laradock# docker-compose up caddy
``` ```
You'll be prompt here to enter your email... you may enter it or not You'll be prompt here to enter your email... you may enter it or not
@ -218,8 +218,8 @@ After it finishes, press `Ctrl` + `C` to exit.
## Stop All Containers and ReRun Caddy and Other Containers on Background ## Stop All Containers and ReRun Caddy and Other Containers on Background
``` ```
$root@server:~/laravel/laradock/caddy# docker-compose down $root@server:~/laravel/laradock# docker-compose down
$root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy $root@server:~/laravel/laradock# docker-compose up -d mysql caddy
``` ```
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com) View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)

View File

@ -6,12 +6,14 @@ ARG plugins="cors"
## ARG plugins="cors cgi cloudflare azure linode" ## ARG plugins="cors cgi cloudflare azure linode"
RUN caddyplug install ${plugins} RUN caddyplug install ${plugins}
RUN apk add --no-cache inotify-tools \
&& echo -e "#!/bin/sh\nwhile inotifywait -e modify /etc/caddy; do\n\tpkill caddy\ndone " >> /start.sh \
&& chmod +x /start.sh
EXPOSE 80 443 2015 EXPOSE 80 443 2015
WORKDIR /var/www/public WORKDIR /var/www/public
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile","-agree"] CMD ["sh","-c","/start.sh & /usr/bin/caddy -conf /etc/caddy/Caddyfile -agree"]

View File

@ -44,3 +44,8 @@ laradock2.demo:80 {
#proxy domain.com #proxy domain.com
#cors #cors
} }
laradock3.demo:80 {
import authlist.conf
root /var/www/public
}

View File

@ -0,0 +1 @@
basicauth / laradock laradock

View File

@ -47,11 +47,13 @@ services:
build: build:
context: ./workspace context: ./workspace
args: args:
- PHP_VERSION=${PHP_VERSION} - LARADOCK_PHP_VERSION=${PHP_VERSION}
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG} - INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE} - INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2}
- INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP} - INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP} - INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
@ -89,6 +91,7 @@ services:
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE} - INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
- INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG} - INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
- INSTALL_GRAPHVIZ=${WORKSPACE_INSTALL_GRAPHVIZ} - INSTALL_GRAPHVIZ=${WORKSPACE_INSTALL_GRAPHVIZ}
- INSTALL_IONCUBE=${WORKSPACE_INSTALL_IONCUBE}
- PUID=${WORKSPACE_PUID} - PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID} - PGID=${WORKSPACE_PGID}
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
@ -116,10 +119,11 @@ services:
build: build:
context: ./php-fpm context: ./php-fpm
args: args:
- PHP_VERSION=${PHP_VERSION} - LARADOCK_PHP_VERSION=${PHP_VERSION}
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG} - INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE} - INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2}
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP} - INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
- INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP} - INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
@ -145,6 +149,8 @@ services:
- INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS} - INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
- INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK} - INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
- INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR} - INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
- INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME}
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
volumes: volumes:
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
@ -155,6 +161,7 @@ services:
environment: environment:
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
- DOCKER_HOST=tcp://docker-in-docker:2375 - DOCKER_HOST=tcp://docker-in-docker:2375
- FAKETIME=${PHP_FPM_FAKETIME}
depends_on: depends_on:
- workspace - workspace
networks: networks:
@ -169,6 +176,7 @@ services:
args: args:
- PHP_VERSION=${PHP_VERSION} - PHP_VERSION=${PHP_VERSION}
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ./php-worker/supervisord.d:/etc/supervisord.d - ./php-worker/supervisord.d:/etc/supervisord.d
@ -468,7 +476,7 @@ services:
build: ./caddy build: ./caddy
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${CADDY_CUSTOM_CADDYFILE}:/etc/Caddyfile - ${CADDY_CONFIG_PATH}:/etc/caddy
- ${CADDY_HOST_LOG_PATH}:/var/log/caddy - ${CADDY_HOST_LOG_PATH}:/var/log/caddy
- ${DATA_PATH_HOST}:/root/.caddy - ${DATA_PATH_HOST}:/root/.caddy
ports: ports:
@ -876,3 +884,72 @@ services:
- backend - backend
depends_on: depends_on:
- mongo - mongo
### Metabase #################################################
metabase:
image: metabase/metabase:latest
environment:
- MB_DB_FILE=/metabase-data/${METABASE_DB_FILE}
ports:
- ${METABASE_PORT}:3000
volumes:
- ${DATA_PATH_HOST}/metabase-data:/metabase-data
networks:
- backend
### IDE-THEIA ################################################
ide-theia:
build:
context: ./ide-theia
volumes:
- ${APP_CODE_PATH_HOST}:/home/project
ports:
- "${IDE_THEIA_PORT}:3000"
networks:
- backend
### IDE-WEBIDE ################################################
ide-webide:
build:
context: ./ide-webide
volumes:
- ${DATA_PATH_HOST}/ide/webide/ide.db:/root/.coding-ide/ide.db
ports:
- "${IDE_WEBIDE_PORT}:8080"
networks:
- backend
### IDE-CODIAD ################################################
ide-codiad:
build:
context: ./ide-codiad
environment:
- APP_CODE_PATH_CONTAINER=${APP_CODE_PATH_CONTAINER}
- TZ=${WORKSPACE_TIMEZONE}
- PGID=1000
- PUID=1000
volumes:
- /etc/localtime:/etc/localtime:ro
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${DATA_PATH_HOST}/ide/codiad:/config
ports:
- "${IDE_CODIAD_PORT}:80"
networks:
- backend
### IDE-ICECODER ################################################
ide-icecoder:
build:
context: ./ide-icecoder
environment:
- DOCUMENT_ROOT=${APP_CODE_PATH_CONTAINER}
- TZ=${WORKSPACE_TIMEZONE}
- PGID=1000
- PUID=1000
volumes:
- /etc/localtime:/etc/localtime:ro
- ${APP_CODE_PATH_HOST}:/home/laradock/ICEcoder/dev
ports:
- "${IDE_ICECODER_PORT}:8080"
networks:
- backend

View File

@ -88,7 +88,9 @@ WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_SUBVERSION=false WORKSPACE_INSTALL_SUBVERSION=false
WORKSPACE_INSTALL_XDEBUG=false WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_PHPDBG=false WORKSPACE_INSTALL_PHPDBG=false
WORKSPACE_INSTALL_SSH2=false
WORKSPACE_INSTALL_LDAP=false WORKSPACE_INSTALL_LDAP=false
WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_SOAP=false WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_IMAP=false WORKSPACE_INSTALL_IMAP=false
WORKSPACE_INSTALL_MONGO=false WORKSPACE_INSTALL_MONGO=false
@ -115,6 +117,7 @@ WORKSPACE_INSTALL_PG_CLIENT=false
WORKSPACE_INSTALL_SWOOLE=false WORKSPACE_INSTALL_SWOOLE=false
WORKSPACE_INSTALL_LIBPNG=false WORKSPACE_INSTALL_LIBPNG=false
WORKSPACE_INSTALL_GRAPHVIZ=false WORKSPACE_INSTALL_GRAPHVIZ=false
WORKSPACE_INSTALL_IONCUBE=false
WORKSPACE_PUID=1000 WORKSPACE_PUID=1000
WORKSPACE_PGID=1000 WORKSPACE_PGID=1000
WORKSPACE_CHROME_DRIVER_VERSION=2.32 WORKSPACE_CHROME_DRIVER_VERSION=2.32
@ -139,6 +142,7 @@ PHP_FPM_INSTALL_IMAP=false
PHP_FPM_INSTALL_MONGO=false PHP_FPM_INSTALL_MONGO=false
PHP_FPM_INSTALL_AMQP=false PHP_FPM_INSTALL_AMQP=false
PHP_FPM_INSTALL_MSSQL=false PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SSH2=false
PHP_FPM_INSTALL_SOAP=false PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_GMP=false PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_EXIF=false PHP_FPM_INSTALL_EXIF=false
@ -150,10 +154,14 @@ PHP_FPM_INSTALL_SWOOLE=false
PHP_FPM_INSTALL_PG_CLIENT=false PHP_FPM_INSTALL_PG_CLIENT=false
PHP_FPM_INSTALL_PCNTL=false PHP_FPM_INSTALL_PCNTL=false
PHP_FPM_INSTALL_CALENDAR=false PHP_FPM_INSTALL_CALENDAR=false
PHP_FPM_INSTALL_FAKETIME=false
PHP_FPM_INSTALL_IONCUBE=false
PHP_FPM_FAKETIME=-0
### PHP_WORKER ############################################ ### PHP_WORKER ############################################
PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_PGSQL=false
PHP_WORKER_INSTALL_BCMATH=false
### NGINX ################################################# ### NGINX #################################################
@ -336,6 +344,8 @@ AEROSPIKE_INFO_PORT=3003
# for all versions "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" # for all versions "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz"
# for php 7.2 (using this branch until the support for 7.2 on master) "https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.tar.gz" # for php 7.2 (using this branch until the support for 7.2 on master) "https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.tar.gz"
AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.tar.gz AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.tar.gz
# for php 5.6
# AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php5/archive/3.4.15.tar.gz
### RETHINKDB ############################################# ### RETHINKDB #############################################
@ -350,7 +360,7 @@ MONGODB_PORT=27017
CADDY_HOST_HTTP_PORT=80 CADDY_HOST_HTTP_PORT=80
CADDY_HOST_HTTPS_PORT=443 CADDY_HOST_HTTPS_PORT=443
CADDY_HOST_LOG_PATH=./logs/caddy CADDY_HOST_LOG_PATH=./logs/caddy
CADDY_CUSTOM_CADDYFILE=./caddy/Caddyfile CADDY_CONFIG_PATH=./caddy/caddy
### LARAVEL ECHO SERVER ################################### ### LARAVEL ECHO SERVER ###################################
@ -402,3 +412,14 @@ MONGO_WEBUI_PORT=3000
MONGO_WEBUI_ROOT_URL=http://localhost MONGO_WEBUI_ROOT_URL=http://localhost
MONGO_WEBUI_MONGO_URL=mongodb://mongo:27017/ MONGO_WEBUI_MONGO_URL=mongodb://mongo:27017/
MONGO_WEBUI_INSTALL_MONGO=false MONGO_WEBUI_INSTALL_MONGO=false
### METABASE ###############################################
METABASE_PORT=3030
METABASE_DB_FILE=metabase.db
METABASE_JAVA_TIMEZONE=US/Pacific
### IDE ###############################################
IDE_THEIA_PORT=987
IDE_WEBIDE_PORT=984
IDE_CODIAD_PORT=985
IDE_ICECODER_PORT=986

5
ide-codiad/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM linuxserver/codiad
LABEL maintainer="ahkui <ahkui@outlook.com>"
COPY config.php /defaults/config.php

43
ide-codiad/config.php Normal file
View File

@ -0,0 +1,43 @@
<?php
/*
* Copyright (c) Codiad & Kent Safranski (codiad.com), distributed
* as-is and without warranty under the MIT License. See
* [root]/license.txt for more. This information must remain intact.
*/
//////////////////////////////////////////////////////////////////
// CONFIG
//////////////////////////////////////////////////////////////////
// PATH TO CODIAD
define("BASE_PATH", "/config/www/");
// BASE URL TO CODIAD (without trailing slash)
define("BASE_URL", "localhost");
// THEME : default, modern or clear (look at /themes)
define("THEME", "default");
// ABSOLUTE PATH, this is used as whitelist for absolute path projects
define("WHITEPATHS", BASE_PATH . ",/home,/");
// SESSIONS (e.g. 7200)
$cookie_lifetime = "0";
// TIMEZONE
date_default_timezone_set(getenv('TZ','UTC'));
// Allows to overwrite the default language
//define("LANGUAGE", "en");
// External Authentification
//define("AUTH_PATH", "/path/to/customauth.php");
//////////////////////////////////////////////////////////////////
// ** DO NOT EDIT CONFIG BELOW **
//////////////////////////////////////////////////////////////////
// PATHS
define("COMPONENTS", BASE_PATH . "/components");
define("PLUGINS", BASE_PATH . "/plugins");
define("THEMES", BASE_PATH . "/themes");
define("DATA", BASE_PATH . "/data");
define("WORKSPACE", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
// URLS
define("WSURL", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
// Marketplace
define("MARKETURL", "http://market.codiad.com/json");
// Update Check
//define("UPDATEURL", "http://update.codiad.com/?v={VER}&o={OS}&p={PHP}&w={WEB}&a={ACT}");
define("ARCHIVEURL", "https://github.com/Codiad/Codiad/archive/master.zip");
define("COMMITURL", "https://api.github.com/repos/Codiad/Codiad/commits");
?>

21
ide-icecoder/Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM php:alpine
LABEL maintainer="ahkui <ahkui@outlook.com>"
ARG PUID=1000
ENV PUID ${PUID}
ARG PGID=1000
ENV PGID ${PGID}
RUN apk add --no-cache git
RUN addgroup -g $PGID -S laradock && \
adduser -u $PUID -S laradock -G laradock
USER laradock
RUN cd /home/laradock && git clone https://github.com/mattpass/ICEcoder.git
WORKDIR /home/laradock/ICEcoder
CMD ["php","-S","0.0.0.0:8080"]

5
ide-theia/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM theiaide/theia
LABEL maintainer="ahkui <ahkui@outlook.com>"
RUN echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf

3
ide-webide/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM webide/webide
LABEL maintainer="ahkui <ahkui@outlook.com>"

View File

@ -12,12 +12,14 @@
# Note: Base Image name format {image-tag}-{php-version} # Note: Base Image name format {image-tag}-{php-version}
# #
ARG PHP_VERSION=${PHP_VERSION} ARG LARADOCK_PHP_VERSION
FROM laradock/php-fpm:2.2-${PHP_VERSION} FROM laradock/php-fpm:2.2-${LARADOCK_PHP_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ARG LARADOCK_PHP_VERSION
# Set Environment Variables # Set Environment Variables
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
@ -48,6 +50,23 @@ RUN apt-get update -yqq && \
# - INSTALL_ZIP_ARCHIVE=true # - INSTALL_ZIP_ARCHIVE=true
# #
###########################################################################
# SSH2:
###########################################################################
ARG INSTALL_SSH2=false
RUN if [ ${INSTALL_SSH2} = true ]; then \
# Install the ssh2 extension
apt-get -y install libssh2-1-dev && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a ssh2-0.13; \
else \
pecl install -a ssh2-1.1.2; \
fi && \
docker-php-ext-enable ssh2 \
;fi
########################################################################### ###########################################################################
# SOAP: # SOAP:
########################################################################### ###########################################################################
@ -114,11 +133,10 @@ RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /usr/local/e
########################################################################### ###########################################################################
ARG INSTALL_PHPDBG=false ARG INSTALL_PHPDBG=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_PHPDBG} = true ]; then \ RUN if [ ${INSTALL_PHPDBG} = true ]; then \
# Load the xdebug extension only with phpunit commands # Load the xdebug extension only with phpunit commands
apt-get install -y --force-yes php${PHP_VERSION}-phpdbg \ apt-get install -y --force-yes php${LARADOCK_PHP_VERSION}-phpdbg \
;fi ;fi
########################################################################### ###########################################################################
@ -324,6 +342,21 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
&& docker-php-ext-enable aerospike \ && docker-php-ext-enable aerospike \
;fi ;fi
###########################################################################
# IonCube Loader:
###########################################################################
ARG INSTALL_IONCUBE=false
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
# Install the php ioncube loader
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
&& printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
&& rm -rf /tmp/ioncube* \
;fi
########################################################################### ###########################################################################
# Opcache: # Opcache:
########################################################################### ###########################################################################
@ -416,14 +449,16 @@ RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux # Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
apt-get install -y apt-transport-https gnupg \ apt-get install -y apt-transport-https gnupg \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \ && curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update -yqq \ && apt-get update -yqq \
# Install Dependencies # Install Dependencies
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \ && ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql17 locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \ && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
# link local aliases
&& ln -sfn /etc/locale.alias /usr/share/locale/locale.alias \
&& locale-gen \ && locale-gen \
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version. # Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \ && pecl install pdo_sqlsrv sqlsrv \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \ && docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& php -m | grep -q 'pdo_sqlsrv' \ && php -m | grep -q 'pdo_sqlsrv' \
&& php -m | grep -q 'sqlsrv' \ && php -m | grep -q 'sqlsrv' \
@ -482,13 +517,23 @@ RUN if [ ${INSTALL_CALENDAR} = true ]; then \
docker-php-ext-install calendar \ docker-php-ext-install calendar \
;fi ;fi
###########################################################################
# libfaketime:
###########################################################################
USER root
ARG INSTALL_FAKETIME=false
RUN if [ ${INSTALL_FAKETIME} = true ]; then \
apt-get install -y libfaketime \
;fi
########################################################################### ###########################################################################
# Check PHP version: # Check PHP version:
########################################################################### ###########################################################################
ARG PHP_VERSION=${PHP_VERSION} RUN php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}."
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
@ -508,6 +553,12 @@ RUN apt-get clean && \
RUN usermod -u 1000 www-data RUN usermod -u 1000 www-data
# Adding the faketime library to the preload file needs to be done last
# otherwise it will preload it for all commands that follow in this file
RUN if [ ${INSTALL_FAKETIME} = true ]; then \
echo "/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" > /etc/ld.so.preload \
;fi
WORKDIR /var/www WORKDIR /var/www
CMD ["php-fpm"] CMD ["php-fpm"]

View File

@ -25,6 +25,12 @@ RUN apk --update add wget \
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached
#Install BCMath package:
ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \
;fi
# Install PostgreSQL drivers: # Install PostgreSQL drivers:
ARG INSTALL_PGSQL=false ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \ RUN if [ ${INSTALL_PGSQL} = true ]; then \

1
php-worker/supervisord.d/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.conf

View File

@ -4,4 +4,4 @@ command=php /var/www/artisan queue:work --sleep=3 --tries=3 --daemon
autostart=true autostart=true
autorestart=true autorestart=true
numprocs=8 numprocs=8
redirect_stderr=true redirect_stderr=true

View File

@ -14,6 +14,11 @@ if [ -n "${PHP_VERSION}" ]; then
cp env-example .env cp env-example .env
sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${PHP_VERSION}/g" .env sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${PHP_VERSION}/g" .env
sed -i -- 's/=false/=true/g' .env sed -i -- 's/=false/=true/g' .env
sed -i -- 's/PHPDBG=true/PHPDBG=false/g' .env
if [ "${PHP_VERSION}" == "5.6" ]; then
sed -i -- 's/^AEROSPIKE_PHP_REPOSITORY=/##AEROSPIKE_PHP_REPOSITORY=/g' .env
sed -i -- 's/^# AEROSPIKE_PHP_REPOSITORY=/AEROSPIKE_PHP_REPOSITORY=/g' .env
fi
cat .env cat .env
docker-compose build ${BUILD_SERVICE} docker-compose build ${BUILD_SERVICE}
docker images docker images

View File

@ -266,7 +266,7 @@ sub vcl_hit {
return (deliver); return (deliver);
} else { } else {
# No candidate for grace. Fetch a fresh object. # No candidate for grace. Fetch a fresh object.
return(fetch); return(miss);
} }
} else { } else {
# backend is sick - use full grace # backend is sick - use full grace
@ -275,12 +275,12 @@ sub vcl_hit {
return (deliver); return (deliver);
} else { } else {
# no graced object. # no graced object.
return (fetch); return (miss);
} }
} }
# fetch & deliver once we get the result # fetch & deliver once we get the result
return (fetch); # Dead code, keep as a safeguard return (miss); # Dead code, keep as a safeguard
} }
sub vcl_miss { sub vcl_miss {

View File

@ -11,7 +11,7 @@ exec bash -c \
"exec varnishd \ "exec varnishd \
-a :$VARNISH_PORT \ -a :$VARNISH_PORT \
-T localhost:6082 \ -T localhost:6082 \
-F -u varnish \ -F \
-f $VARNISH_CONFIG \ -f $VARNISH_CONFIG \
-s malloc,$CACHE_SIZE \ -s malloc,$CACHE_SIZE \
$VARNISHD_PARAMS" $VARNISHD_PARAMS"

View File

@ -12,12 +12,14 @@
# Note: Base Image name format {image-tag}-{php-version} # Note: Base Image name format {image-tag}-{php-version}
# #
ARG PHP_VERSION=${PHP_VERSION} ARG LARADOCK_PHP_VERSION
FROM laradock/workspace:2.2-${PHP_VERSION} FROM laradock/workspace:2.2-${LARADOCK_PHP_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ARG LARADOCK_PHP_VERSION
# Set Environment Variables # Set Environment Variables
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
@ -172,6 +174,33 @@ RUN if [ ${INSTALL_DRUSH} = true ]; then \
drush core-status \ drush core-status \
;fi ;fi
###########################################################################
# SSH2:
###########################################################################
USER root
ARG INSTALL_SSH2=false
RUN if [ ${INSTALL_SSH2} = true ]; then \
# Install the PHP SSH2 extension
apt-get -y install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2 \
;fi
###########################################################################
# SOAP:
###########################################################################
USER root
ARG INSTALL_GMP=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the PHP SOAP extension
apt-get -y install php${PHP_VERSION}-gmp \
;fi
########################################################################### ###########################################################################
# SOAP: # SOAP:
########################################################################### ###########################################################################
@ -179,11 +208,10 @@ RUN if [ ${INSTALL_DRUSH} = true ]; then \
USER root USER root
ARG INSTALL_SOAP=false ARG INSTALL_SOAP=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_SOAP} = true ]; then \ RUN if [ ${INSTALL_SOAP} = true ]; then \
# Install the PHP SOAP extension # Install the PHP SOAP extension
apt-get -y install libxml2-dev php${PHP_VERSION}-soap \ apt-get -y install libxml2-dev php${LARADOCK_PHP_VERSION}-soap \
;fi ;fi
########################################################################### ###########################################################################
@ -191,11 +219,10 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_LDAP=false ARG INSTALL_LDAP=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_LDAP} = true ]; then \ RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get install -y libldap2-dev && \ apt-get install -y libldap2-dev && \
apt-get install -y php${PHP_VERSION}-ldap \ apt-get install -y php${LARADOCK_PHP_VERSION}-ldap \
;fi ;fi
########################################################################### ###########################################################################
@ -203,10 +230,9 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_IMAP=false ARG INSTALL_IMAP=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_IMAP} = true ]; then \ RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get install -y php${PHP_VERSION}-imap \ apt-get install -y php${LARADOCK_PHP_VERSION}-imap \
;fi ;fi
########################################################################### ###########################################################################
@ -229,21 +255,20 @@ RUN if [ ${INSTALL_SUBVERSION} = true ]; then \
USER root USER root
ARG INSTALL_XDEBUG=false ARG INSTALL_XDEBUG=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_XDEBUG} = true ]; then \ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# Load the xdebug extension only with phpunit commands # Load the xdebug extension only with phpunit commands
apt-get install -y php${PHP_VERSION}-xdebug && \ apt-get install -y php${LARADOCK_PHP_VERSION}-xdebug && \
sed -i 's/^;//g' /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini && \ sed -i 's/^;//g' /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-xdebug.ini && \
echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/vendor/bin/phpunit'" >> ~/.bashrc \ echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/vendor/bin/phpunit'" >> ~/.bashrc \
;fi ;fi
# ADD for REMOTE debugging # ADD for REMOTE debugging
COPY ./xdebug.ini /etc/php/${PHP_VERSION}/cli/conf.d/xdebug.ini COPY ./xdebug.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini
RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /etc/php/${PHP_VERSION}/cli/conf.d/xdebug.ini && \ RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /etc/php/${PHP_VERSION}/cli/conf.d/xdebug.ini && \ sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /etc/php/${PHP_VERSION}/cli/conf.d/xdebug.ini sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini
########################################################################### ###########################################################################
# Phpdbg: # Phpdbg:
@ -252,11 +277,10 @@ RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /etc/php/${P
USER root USER root
ARG INSTALL_PHPDBG=false ARG INSTALL_PHPDBG=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_PHPDBG} = true ]; then \ RUN if [ ${INSTALL_PHPDBG} = true ]; then \
# Load the xdebug extension only with phpunit commands # Load the xdebug extension only with phpunit commands
apt-get install -y --force-yes php${PHP_VERSION}-phpdbg \ apt-get install -y --force-yes php${LARADOCK_PHP_VERSION}-phpdbg \
;fi ;fi
########################################################################### ###########################################################################
@ -302,18 +326,17 @@ RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_MONGO=false ARG INSTALL_MONGO=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_MONGO} = true ]; then \ RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension # Install the mongodb extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install mongo && \ pecl install mongo && \
echo "extension=mongo.so" >> /etc/php/${PHP_VERSION}/mods-available/mongo.ini && \ echo "extension=mongo.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini && \
ln -s /etc/php/${PHP_VERSION}/mods-available/mongo.ini /etc/php/${PHP_VERSION}/cli/conf.d/30-mongo.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongo.ini \
;fi && \ ;fi && \
pecl install mongodb && \ pecl install mongodb && \
echo "extension=mongodb.so" >> /etc/php/${PHP_VERSION}/mods-available/mongodb.ini && \ echo "extension=mongodb.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini && \
ln -s /etc/php/${PHP_VERSION}/mods-available/mongodb.ini /etc/php/${PHP_VERSION}/cli/conf.d/30-mongodb.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongodb.ini \
;fi ;fi
########################################################################### ###########################################################################
@ -321,13 +344,12 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_AMQP=false ARG INSTALL_AMQP=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_AMQP} = true ]; then \ RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \ apt-get install librabbitmq-dev -y && \
pecl -q install amqp && \ pecl -q install amqp && \
echo "extension=amqp.so" >> /etc/php/${PHP_VERSION}/mods-available/amqp.ini && \ echo "extension=amqp.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini && \
ln -s /etc/php/${PHP_VERSION}/mods-available/amqp.ini /etc/php/${PHP_VERSION}/cli/conf.d/30-amqp.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/amqp.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-amqp.ini \
;fi ;fi
########################################################################### ###########################################################################
@ -335,12 +357,11 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_PHPREDIS=false ARG INSTALL_PHPREDIS=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
# Install Php Redis extension # Install Php Redis extension
printf "\n" | pecl -q install -o -f redis && \ printf "\n" | pecl -q install -o -f redis && \
echo "extension=redis.so" >> /etc/php/${PHP_VERSION}/mods-available/redis.ini && \ echo "extension=redis.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/redis.ini && \
phpenmod redis \ phpenmod redis \
;fi ;fi
@ -349,7 +370,6 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_SWOOLE=false ARG INSTALL_SWOOLE=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_SWOOLE} = true ]; then \ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension # Install Php Swoole Extension
@ -362,8 +382,8 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
pecl install swoole; \ pecl install swoole; \
fi \ fi \
fi && \ fi && \
echo "extension=swoole.so" >> /etc/php/${PHP_VERSION}/mods-available/swoole.ini && \ echo "extension=swoole.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini && \
ln -s /etc/php/${PHP_VERSION}/mods-available/swoole.ini /etc/php/${PHP_VERSION}/cli/conf.d/20-swoole.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-swoole.ini \
;fi ;fi
########################################################################### ###########################################################################
@ -378,6 +398,7 @@ RUN if [ ${INSTALL_LIBPNG} = true ]; then \
;fi ;fi
########################################################################### ###########################################################################
# GraphViz extension # GraphViz extension
########################################################################### ###########################################################################
@ -388,6 +409,20 @@ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
apt-get install -y graphviz \ apt-get install -y graphviz \
;fi ;fi
# IonCube Loader
###########################################################################
ARG INSTALL_IONCUBE=false
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
# Install the php ioncube loader
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
&& echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/0ioncube.ini \
&& rm -rf /tmp/ioncube* \
;fi
########################################################################### ###########################################################################
# Drupal Console: # Drupal Console:
########################################################################### ###########################################################################
@ -439,6 +474,7 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
&& if [ ${INSTALL_NPM_VUE_CLI} = true ]; then \ && if [ ${INSTALL_NPM_VUE_CLI} = true ]; then \
npm install -g @vue/cli \ npm install -g @vue/cli \
;fi \ ;fi \
&& ln -s `npm bin --global` /home/laradock/.node-bin \
;fi ;fi
# Wouldn't execute when added to the RUN statement in the above block # Wouldn't execute when added to the RUN statement in the above block
@ -459,7 +495,7 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
;fi ;fi
# Add PATH for node # Add PATH for node
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin ENV PATH $PATH:/home/laradock/.node-bin
RUN if [ ${NPM_REGISTRY} ]; then \ RUN if [ ${NPM_REGISTRY} ]; then \
. ~/.bashrc && npm config set registry ${NPM_REGISTRY} \ . ~/.bashrc && npm config set registry ${NPM_REGISTRY} \
@ -495,6 +531,9 @@ RUN if [ ${INSTALL_YARN} = true ]; then \
echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.bashrc \ echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.bashrc \
;fi ;fi
# Add PATH for YARN
ENV PATH $PATH:/home/laradock/.yarn/bin
########################################################################### ###########################################################################
# PHP Aerospike: # PHP Aerospike:
########################################################################### ###########################################################################
@ -502,7 +541,6 @@ RUN if [ ${INSTALL_YARN} = true ]; then \
USER root USER root
ARG INSTALL_AEROSPIKE=false ARG INSTALL_AEROSPIKE=false
ARG PHP_VERSION=${PHP_VERSION}
ARG AEROSPIKE_PHP_REPOSITORY ARG AEROSPIKE_PHP_REPOSITORY
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
@ -512,16 +550,26 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
curl -L -o /tmp/aerospike-client-php.tar.gz ${AEROSPIKE_PHP_REPOSITORY} \ curl -L -o /tmp/aerospike-client-php.tar.gz ${AEROSPIKE_PHP_REPOSITORY} \
&& mkdir -p aerospike-client-php \ && mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \ && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \ && \
cd aerospike-client-php/src \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
&& phpize \ ( \
&& ./build.sh \ cd aerospike-client-php/src/aerospike \
&& make install \ && phpize \
) \ && ./build.sh \
&& make install \
) \
else \
( \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
) \
fi \
&& rm /tmp/aerospike-client-php.tar.gz \ && rm /tmp/aerospike-client-php.tar.gz \
&& echo 'extension=aerospike.so' >> /etc/php/${PHP_VERSION}/cli/conf.d/aerospike.ini \ && echo 'extension=aerospike.so' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/${PHP_VERSION}/cli/conf.d/aerospike.ini \ && echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua' >> /etc/php/${PHP_VERSION}/cli/conf.d/aerospike.ini \ && echo 'aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \
;fi ;fi
########################################################################### ###########################################################################
@ -531,15 +579,14 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
USER root USER root
ARG INSTALL_V8JS=false ARG INSTALL_V8JS=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_V8JS} = true ]; then \ RUN if [ ${INSTALL_V8JS} = true ]; then \
# Install the php V8JS extension # Install the php V8JS extension
add-apt-repository -y ppa:pinepain/libv8-archived \ add-apt-repository -y ppa:pinepain/libv8-archived \
&& apt-get update -yqq \ && apt-get update -yqq \
&& apt-get install -y php${PHP_VERSION}-xml php${PHP_VERSION}-dev php-pear libv8-5.4 \ && apt-get install -y php${LARADOCK_PHP_VERSION}-xml php${LARADOCK_PHP_VERSION}-dev php-pear libv8-5.4 \
&& pecl install v8js \ && pecl install v8js \
&& echo "extension=v8js.so" >> /etc/php/${PHP_VERSION}/cli/php.ini \ && echo "extension=v8js.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \
;fi ;fi
########################################################################### ###########################################################################
@ -637,7 +684,6 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
########################################################################### ###########################################################################
ARG INSTALL_MSSQL=false ARG INSTALL_MSSQL=false
ARG PHP_VERSION=${PHP_VERSION}
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \ RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
@ -652,25 +698,14 @@ RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \ curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
apt-get update -yqq && \ apt-get update -yqq && \
ACCEPT_EULA=Y apt-get install -yqq msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1 && \ ACCEPT_EULA=Y apt-get install -y msodbcsql17 mssql-tools unixodbc unixodbc-dev libgss3 odbcinst locales && \
apt-get install -yqq unixodbc-dev-utf16 && \ ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd && \
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd && \ ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp && \
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp && \
ACCEPT_EULA=Y apt-get install -yqq \
unixodbc \
unixodbc-dev \
libgss3 \
odbcinst \
msodbcsql \
locales && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \ locale-gen && \
pecl install sqlsrv-4.3.0 pdo_sqlsrv-4.3.0 && \ pecl install sqlsrv pdo_sqlsrv && \
apt-get install -y locales && \ echo "extension=sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-sqlsrv.ini && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ echo "extension=pdo_sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-pdo_sqlsrv.ini \
locale-gen && \
echo "extension=sqlsrv.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-sqlsrv.ini && \
echo "extension=pdo_sqlsrv.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-pdo_sqlsrv.ini \
&& php -m | grep -q 'sqlsrv' \ && php -m | grep -q 'sqlsrv' \
&& php -m | grep -q 'pdo_sqlsrv' \ && php -m | grep -q 'pdo_sqlsrv' \
;fi \ ;fi \
@ -777,7 +812,11 @@ ARG INSTALL_PG_CLIENT=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql client # Install the pgsql client
apt-get -y install postgresql-client \ apt-get install wget \
&& add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" \
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
&& apt-get update \
&& apt-get -y install postgresql-client-10 \
;fi ;fi
########################################################################### ###########################################################################
@ -819,9 +858,7 @@ RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
# Check PHP version: # Check PHP version:
########################################################################### ###########################################################################
ARG PHP_VERSION=${PHP_VERSION} RUN php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}."
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------