Compare commits

...

42 Commits

Author SHA1 Message Date
329462a637 update base image (#2034) 2019-03-03 20:57:07 +08:00
e105ec9569 Update index.md (#1531)
Docker-compose is installed on a Digital Ocean Docker Image already
2019-03-02 12:50:52 +08:00
76218808fd Support PHP 7.3 (#2028)
* Support PHP 7.3
* travics-ci build test by pass:
  * SSH2 extension does not yet support PHP 7.3
  * V8JS extension does not yet support PHP 7.3.
  * xdebug extension does not yet support PHP 7.3.
  * memcached extension does not yet support PHP 7.3.
2019-03-01 18:24:14 +08:00
f18eb9728b add an official redis stable config file (#1911)
for more convenience start with default settings.
ref. from http://download.redis.io/redis-stable/redis.conf
2019-03-01 15:48:23 +08:00
d404555cf5 fix ipython-controller build fail (#2027) 2019-03-01 12:16:08 +08:00
d964e2898c fix Dockerfile parse error line
#2022
2019-03-01 12:04:32 +08:00
2d7b780e56 Auth file for magento 2 installation (#2022) 2019-03-01 11:04:03 +08:00
cf6a9ba2c9 php-fpm and workspace replace base image (#2025)
* php-fpm and workspace replace base image
* Aerospike PHP 5.6.40 Debian 9.6 is not supported, travis-ci build by pass.
2019-03-01 11:02:13 +08:00
8f6923531f added variable for xsl (#2016) 2019-02-26 21:14:32 +08:00
61d7b18922 Optimize php-fpm and workspace Dockerfile. (#2015) 2019-02-23 16:46:46 +08:00
cde20c3ced Fix workspace php56 install V8JS build fail (#2013)
* Add check swoole extenstion after install.
* Fix php 5.6 install swoole-2.0.11 get segmentation fault.
* Fix php 5.6 install v8js build fail.
2019-02-23 12:24:58 +08:00
f7dff0f72f update version of elastic and kibana (#1996) 2019-02-23 12:19:34 +08:00
1ec9244f7f Fix workspace php56 build fail (#2012)
* check swoole extenstion after install.
* php 5.6 install swoole-2.0.11 downgrade version to 2.0.10 avoid segmentation fault.
2019-02-23 00:52:14 +08:00
176d4e8033 php 7.0 php-fpm and workspace PECL install sqlsrv pdo_sqlsrv specify 5.3.0 version. (#2010) 2019-02-22 23:45:21 +08:00
2deb9bf1cb php-fpm install mysql-client (#2005) 2019-02-22 18:30:05 +08:00
b0edaf93a1 reorganizaion aerospike extension install (#2008) 2019-02-22 17:46:25 +08:00
27af2bca8c fix install zip fail (#1998) 2019-02-17 01:19:20 +08:00
61ac73e806 Added WORKSPACE_INSTALL_NPM_ANGULAR_CLI option to install Angular CLI to Workspace (#1857) 2019-02-17 00:08:33 +08:00
14ee775e39 add: redis-cluster (#1981) 2019-02-16 23:38:18 +08:00
1282c413fd added zip to php-fpm workspace container (so there is no composer warning) (#1903) 2019-02-16 23:32:03 +08:00
ee2db98c61 xsl support added (feature for magento 2) (#1995)
* Update php-fpm Dockerfile
* Update workspace Dockerfile
* Update env-example
2019-02-16 23:03:42 +08:00
739e8d3448 Fixed docker command permission denied error while building (#1822) 2019-02-14 21:56:59 +08:00
1286b7ef06 Support for additional locales in PHP-FPM (#1976) 2019-02-14 21:52:40 +08:00
e0d7229e95 fix adminer INSTALL_MSSQL build fail. (#1991)
1. adminer:4 now use php 7.3, but extension sqlsrv and pdo_sqlsrv not support.
2. add pdo_dblib to support mssql.
2019-02-12 21:24:06 +08:00
931f99ed0f workspace redis extension use apt install. (#1990) 2019-02-12 18:37:38 +08:00
fc3355a9cc Add CouchDB (#1974)
* Add CouchDB
2019-02-09 20:07:37 +08:00
53ca88714c Map cll And cla Aliases To Correct Commands (#1696) 2019-02-09 19:58:12 +08:00
1d420a2507 Separate variable flag container path out from APP_CODE_PATH_CONTAINER (#1591)
Because Container cannot volume when use APP_CODE_PATH_CONTAINER (with flag) concat with path name, e.g. /var/www:nocache/letencrypt
This will fix 1540.
2019-02-09 19:57:11 +08:00
c7aa535598 Added WP-CLI support to workspace (#1748)
* Added WP-CLI support
* Updated documentation for WP-CLI
2019-02-09 19:48:28 +08:00
5edf3f398b Update document and fix some container bug (#1785) 2019-02-09 19:37:11 +08:00
f6c5aa1801 fix build Solr, failed in https://travis-ci.org/laradock/laradock/jobs/479960032 (#1957) 2019-02-09 19:29:51 +08:00
a09144f02b persistent RabbitMQ (#1956) 2019-02-09 19:29:25 +08:00
9e4dfa2a0c fix caddy failed download (#1977)
* fix caddy  failed download
* RUN command inline
2019-02-09 19:28:29 +08:00
99f7e65c99 Backup Rethikdb (#1937)
- You requiere run python-pip for backing up your data
2019-02-09 19:26:50 +08:00
e0dc683d3f Add gloga alias (#1970)
This add `git log --oneline --decorate --graph --all` command alias.
2019-02-09 19:25:50 +08:00
eb0c941313 Add traefik (#1916)
* Add mosquitto broker
* Add documetation to mosquitto
* Add traefik
2019-02-09 19:25:21 +08:00
d27f4368ee Run bash when login by laradock via ssh (#1541) 2019-02-09 17:06:26 +08:00
7430a34dd5 Add logstash support (#1852)
* add logstash support
2019-02-09 16:40:14 +08:00
d5647295ca add MYSQL_CLIENT and AMQP for php-worker (#1949) 2019-02-09 16:34:34 +08:00
b1e346383b fix php-fpm AMQP build for 5.6, 7.0 and 7.1 (#1965) 2019-02-09 16:33:06 +08:00
913abc54f9 chore(pgadmin) use alpine (#1936) 2019-01-13 23:03:24 +08:00
53e8229313 using Alpine for Beanstalkd and RabbitMQ, list all ports exposed for RabbitMQ (#1950) 2019-01-11 18:52:12 +08:00
41 changed files with 3997 additions and 193 deletions

4
.gitignore vendored
View File

@ -5,6 +5,10 @@
/.project
.docker-sync
/jenkins/jenkins_home
/logstash/pipeline/*.conf
/logstash/config/pipelines.yml
/nginx/ssl/*.crt
/nginx/ssl/*.key
/nginx/ssl/*.csr

View File

@ -11,11 +11,13 @@ env:
- PHP_VERSION=7.0 BUILD_SERVICE=workspace
- PHP_VERSION=7.1 BUILD_SERVICE=workspace
- PHP_VERSION=7.2 BUILD_SERVICE=workspace
- PHP_VERSION=7.3 BUILD_SERVICE=workspace
- PHP_VERSION=5.6 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.0 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.1 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.2 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.3 BUILD_SERVICE=php-fpm
- PHP_VERSION=hhvm BUILD_SERVICE=hhvm
@ -23,6 +25,7 @@ env:
- PHP_VERSION=7.0 BUILD_SERVICE=php-worker
- PHP_VERSION=7.1 BUILD_SERVICE=php-worker
- PHP_VERSION=7.2 BUILD_SERVICE=php-worker
- PHP_VERSION=7.3 BUILD_SERVICE=php-worker
- PHP_VERSION=NA BUILD_SERVICE=solr
- PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
@ -30,6 +33,7 @@ env:
- PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin"
- PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy"
- PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server"
- PHP_VERSION=NA BUILD_SERVICE="ipython-controller"
# - PHP_VERSION=NA BUILD_SERVICE="aws"
# Installing a newer Docker version

View File

@ -708,6 +708,44 @@ composer require predis/predis:^1.0
<br>
<a name="Use-Redis-Cluster"></a>
## Use Redis Cluster
1 - First make sure you run the Redis-Cluster Container (`redis-cluster`) with the `docker-compose up` command.
```bash
docker-compose up -d redis-cluster
```
2 - Open your Laravel's `config/database.php` and set the redis cluster configuration. Below is example configuration with phpredis.
Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#configuration) for more details.
```php
'redis' => [
'client' => 'phpredis',
'options' => [
'cluster' => 'redis',
],
'clusters' => [
'default' => [
[
'host' => 'redis-cluster',
'password' => null,
'port' => 7000,
'database' => 0,
],
],
],
],
```
<br>
<a name="Use-Mongo"></a>
## Use Mongo
@ -1018,8 +1056,9 @@ docker-compose up -d rethinkdb
- set the `DB_DATABASE` to `database`.
#### Additional Notes
- You may do backing up of your data using the next reference: [backing up your data](https://www.rethinkdb.com/docs/backup/).
<br>
@ -1121,6 +1160,87 @@ docker-compose up -d grafana
<br>
<a name="Use-Traefik"></a>
## Use Traefik
To use Traefik you need to do some changes in `traefik/trafik.toml` and `docker-compose.yml`.
1 - Open `traefik.toml` and change the `e-mail` property in `acme` section.
2 - Change your domain in `acme.domains`. For example: `main = "example.org"`
2.1 - If you have subdomains, you must add them to `sans` property in `acme.domains` section.
```bash
[[acme.domais]]
main = "example.org"
sans = ["monitor.example.org", "pma.example.org"]
```
3 - If you need to add basic authentication (https://docs.traefik.io/configuration/entrypoints/#basic-authentication), you just need to add the following text after `[entryPoints.https.tls]`:
```bash
[entryPoints.https.auth.basic]
users = ["user:password"]
```
4 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels.
4.1 For example, let's try with NGINX. You must have:
```bash
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
depends_on:
- php-fpm
networks:
- frontend
- backend
labels:
- traefik.backend=nginx
- traefik.frontend.rule=Host:example.org
- traefik.port=80
```
instead of
```bash
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
ports:
- "${NGINX_HOST_HTTP_PORT}:80"
- "${NGINX_HOST_HTTPS_PORT}:443"
depends_on:
- php-fpm
networks:
- frontend
- backend
```
<br>
<a name="Use-Mosquitto"></a>
## Use Mosquitto (MQTT Broker)
@ -1144,7 +1264,6 @@ docker-compose up -d mosquitto
<br>
<a name="CodeIgniter"></a>
@ -1219,6 +1338,19 @@ We also recommend [setting the timezone in Laravel](http://www.camroncade.com/ma
<br>
<a name="Add locales to PHP-FPM"></a>
## Add locales to PHP-FPM
To add locales to the container:
1 - Open the `.env` file and set `PHP_FPM_INSTALL_ADDITIONAL_LOCALES` to `true`.
2 - Add locale codes to `PHP_FPM_ADDITIONAL_LOCALES`.
3 - Re-build your PHP-FPM Container `docker-compose build php-fpm`.
4 - Check enabled locales with `docker-compose exec php-fpm locale -a`
@ -1411,6 +1543,23 @@ Enabling Global Composer Install during the build for the container allows you t
<br>
<a name="Magento-2-authentication-credentials"></a>
## Magento 2 authentication credential (composer install)
1 - Open the `.env` file
2 - Search for the `WORKSPACE_COMPOSER_AUTH` argument under the Workspace Container and set it to `true`
3 - Now add your credentials to `workspace/auth.json`
4 - Re-build the Workspace Container `docker-compose build workspace`
<br>
<a name="Install-Prestissimo"></a>
## Install Prestissimo
@ -1519,6 +1668,22 @@ To install NPM VUE CLI in the Workspace container
<br>
<a name="Install-NPM-ANGULAR-CLI"></a>
## Install NPM ANGULAR CLI
To install NPM ANGULAR CLI in the Workspace container
1 - Open the `.env` file
2 - Search for the `WORKSPACE_INSTALL_NPM_ANGULAR_CLI` argument under the Workspace Container and set it to `true`
3 - Re-build the container `docker-compose build workspace`
<br>
<a name="Install-Linuxbrew"></a>
@ -1751,7 +1916,7 @@ Laradock comes with `sync.sh`, an optional bash script, that automates installin
DOCKER_SYNC_STRATEGY=native_osx
```
3) set `APP_CODE_PATH_CONTAINER=/var/www` to `APP_CODE_PATH_CONTAINER=/var/www:nocopy` in the .env file
3) set `APP_CODE_CONTAINER_FLAG` to `APP_CODE_CONTAINER_FLAG=:nocopy` in the .env file
4) Install the docker-sync gem on the host-machine:
```bash

View File

@ -50,12 +50,6 @@ $root@server:~/laravel/ git submodule add https://github.com/Laradock/laradock.g
$root@server:~/laravel/ cd laradock
```
## Install docker-compose command
```
$root@server:~/laravel/laradock# curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
$root@server:~/chmod +x /usr/local/bin/docker-compose
```
## Enter the laradock folder and rename env-example to .env.
```
$root@server:~/laravel/laradock# cp env-example .env

View File

@ -58,7 +58,7 @@ That's it! enjoy :)
<a name="features"></a>
## Features
- Easy switch between PHP versions: 7.2, 7.1, 5.6...
- Easy switch between PHP versions: 7.3, 7.2, 7.1, 5.6...
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
- Run your own combination of software: Memcached, HHVM, Beanstalkd...
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
@ -103,7 +103,7 @@ Laradock introduces the **Workspace** Image, as a development environment.
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
**Workspace Image Tools**
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush...
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush - WP-CLI...
You can choose, which tools to install in your workspace container and other containers, from the `.env` file.

View File

@ -13,11 +13,15 @@ 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 \
# && 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 \
&& apk --update add --no-cache freetds unixodbc \
&& apk --update add --no-cache --virtual .build-deps $PHPIZE_DEPS freetds-dev unixodbc-dev \
&& docker-php-ext-install pdo_dblib \
&& apk del .build-deps \
;fi
USER adminer

View File

@ -1,16 +1,7 @@
FROM phusion/baseimage:latest
FROM alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ENV DEBIAN_FRONTEND noninteractive
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN apt-get update
RUN apt-get install -y beanstalkd
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
VOLUME /var/lib/beanstalkd/data
RUN apk add --no-cache beanstalkd
EXPOSE 11300
CMD ["/usr/bin/beanstalkd"]
ENTRYPOINT ["/usr/bin/beanstalkd"]

View File

@ -5,8 +5,11 @@ LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
RUN apk add --no-cache \
openssh \
git \
build-base && \
go get github.com/abiosoft/caddyplug/caddyplug \
build-base \
&& mkdir -p $GOPATH/src/golang.org/x/ \
&& cd $GOPATH/src/golang.org/x/ \
&& git clone https://github.com/golang/sys.git sys \
&& go get github.com/abiosoft/caddyplug/caddyplug \
&& caddyplug install-caddy \
apk del build-base

3
couchdb/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM couchdb
EXPOSE 5984

View File

@ -58,6 +58,7 @@ services:
- 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_IMAP=${WORKSPACE_INSTALL_IMAP}
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
@ -70,12 +71,14 @@ services:
- INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP}
- INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER}
- INSTALL_NPM_VUE_CLI=${WORKSPACE_INSTALL_NPM_VUE_CLI}
- INSTALL_NPM_ANGULAR_CLI=${WORKSPACE_INSTALL_NPM_ANGULAR_CLI}
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
- INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI}
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
- INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE}
- AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY}
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
- COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH}
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
@ -106,7 +109,7 @@ services:
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
ports:
@ -133,11 +136,11 @@ services:
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2}
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
- INSTALL_XSL=${PHP_FPM_INSTALL_XSL}
- INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
- INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
- INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
- INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE}
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
- INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
- INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
@ -145,7 +148,6 @@ services:
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
- INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
- INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE}
- AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY}
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
- INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
@ -161,9 +163,12 @@ services:
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
- INSTALL_APCU=${PHP_FPM_INSTALL_APCU}
- INSTALL_YAML=${PHP_FPM_INSTALL_YAML}
- INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES}
- INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT}
- ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES}
volumes:
- ./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}${APP_CODE_CONTAINER_FLAG}
expose:
- "9000"
extra_hosts:
@ -191,10 +196,12 @@ services:
- 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}
- PUID=${PHP_WORKER_PUID}
- PGID=${PHP_WORKER_PGID}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ./php-worker/supervisord.d:/etc/supervisord.d
depends_on:
- workspace
@ -230,7 +237,7 @@ services:
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
@ -264,7 +271,7 @@ services:
- PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT}
- DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${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
ports:
@ -280,7 +287,7 @@ services:
hhvm:
build: ./hhvm
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
expose:
- "9000"
depends_on:
@ -384,6 +391,14 @@ services:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- GITLAB_POSTGRES_INIT=${GITLAB_POSTGRES_INIT}
- GITLAB_POSTGRES_USER=${GITLAB_POSTGRES_USER}
- GITLAB_POSTGRES_PASSWORD=${GITLAB_POSTGRES_PASSWORD}
- GITLAB_POSTGRES_DB=${GITLAB_POSTGRES_DB}
- JUPYTERHUB_POSTGRES_INIT=${JUPYTERHUB_POSTGRES_INIT}
- JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER}
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
- JUPYTERHUB_POSTGRES_DB=${JUPYTERHUB_POSTGRES_DB}
networks:
- backend
@ -444,6 +459,14 @@ services:
networks:
- backend
### Redis Cluster ##########################################
redis-cluster:
build: ./redis-cluster
ports:
- "${REDIS_CLUSTER_PORT_RANGE}:7000-7005"
networks:
- backend
### ZooKeeper #########################################
zookeeper:
build: ./zookeeper
@ -503,6 +526,9 @@ services:
environment:
- RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
hostname: laradock-rabbitmq
volumes:
- ${DATA_PATH_HOST}/rabbitmq:/var/lib/rabbitmq
depends_on:
- php-fpm
networks:
@ -522,7 +548,7 @@ services:
caddy:
build: ./caddy
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${CADDY_CONFIG_PATH}:/etc/caddy
- ${CADDY_HOST_LOG_PATH}:/var/log/caddy
- ${DATA_PATH_HOST}:/root/.caddy
@ -600,6 +626,24 @@ services:
- frontend
- backend
### Logstash ##############################################
logstash:
build: ./logstash
volumes:
- './logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml'
- './logstash/pipeline:/usr/share/logstash/pipeline'
ports:
- '5001:5001'
environment:
LS_JAVA_OPTS: '-Xmx1g -Xms1g'
env_file:
- .env
networks:
- frontend
- backend
depends_on:
- elasticsearch
### Kibana ##############################################
kibana:
build: ./kibana
@ -740,7 +784,7 @@ services:
networks:
- frontend
- backend
### Solr ################################################
solr:
build:
@ -877,7 +921,7 @@ services:
build:
context: ./aws
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
depends_on:
- workspace
tty: true
@ -902,18 +946,19 @@ services:
context: ./gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url '${GITLAB_DOMAIN_NAME}'
redis['enable'] = false
nginx['listen_https'] = false
nginx['listen_port'] = 80
postgresql['enable'] = false
gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2']
gitlab_rails['redis_host'] = 'redis'
external_url '${GITLAB_DOMAIN_NAME}'
redis['enable'] = false
nginx['listen_https'] = false
nginx['listen_port'] = 80
nginx['custom_gitlab_server_config'] = "set_real_ip_from 172.0.0.0/8;\nreal_ip_header X-Real-IP;\nreal_ip_recursive on;"
postgresql['enable'] = false
gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2']
gitlab_rails['redis_host'] = 'redis'
gitlab_rails['redis_database'] = 8
gitlab_rails['db_host'] = 'postgres'
gitlab_rails['db_username'] = 'laradock_gitlab'
gitlab_rails['db_password'] = 'laradock_gitlab'
gitlab_rails['db_database'] = 'laradock_gitlab'
gitlab_rails['db_host'] = '${GITLAB_POSTGRES_HOST}'
gitlab_rails['db_username'] = '${GITLAB_POSTGRES_USER}'
gitlab_rails['db_password'] = '${GITLAB_POSTGRES_PASSWORD}'
gitlab_rails['db_database'] = '${GITLAB_POSTGRES_DB}'
gitlab_rails['initial_root_password'] = '${GITLAB_ROOT_PASSWORD}'
gitlab_rails['gitlab_shell_ssh_port'] = ${GITLAB_HOST_SSH_PORT}
volumes:
@ -932,12 +977,15 @@ services:
gitlab-runner:
image: gitlab/gitlab-runner:latest
environment:
- CI_SERVER_URL=${GITLAB_DOMAIN_NAME}
- CI_SERVER_URL=${GITLAB_CI_SERVER_URL}
- REGISTRATION_TOKEN=${GITLAB_RUNNER_REGISTRATION_TOKEN}
- RUNNER_NAME=${COMPOSE_PROJECT_NAME}-runner
- REGISTER_NON_INTERACTIVE=${GITLAB_REGISTER_NON_INTERACTIVE}
- RUNNER_EXECUTOR=shell
volumes:
- ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock:rw
restart: always
### JupyterHub #########################################
jupyterhub:
build:
@ -945,7 +993,6 @@ services:
depends_on:
- postgres
- jupyterhub-user
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
- ${DATA_PATH_HOST}/jupyterhub/:/data
@ -966,7 +1013,8 @@ services:
- JUPYTERHUB_OAUTH_CALLBACK_URL=${JUPYTERHUB_OAUTH_CALLBACK_URL}
- JUPYTERHUB_OAUTH_CLIENT_ID=${JUPYTERHUB_OAUTH_CLIENT_ID}
- JUPYTERHUB_OAUTH_CLIENT_SECRET=${JUPYTERHUB_OAUTH_CLIENT_SECRET}
- JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE=${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE}
- JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE=${COMPOSE_PROJECT_NAME}_jupyterhub-user
- JUPYTERHUB_ENABLE_NVIDIA=${JUPYTERHUB_ENABLE_NVIDIA}
jupyterhub-user:
build:
context: ./jupyterhub
@ -1016,9 +1064,10 @@ services:
networks:
- backend
### PHPRedisAdmin ################################################
phpredisadmin:
image: erikdubbelboer/phpredisadmin:latest
### REDISWEBUI ################################################
redis-webui:
build:
context: ./redis-webui
environment:
- ADMIN_USER=${REDIS_WEBUI_USERNAME}
- ADMIN_PASS=${REDIS_WEBUI_PASSWORD}
@ -1035,7 +1084,6 @@ services:
mongo-webui:
build:
context: ./mongo-webui
restart: always
environment:
- ROOT_URL=${MONGO_WEBUI_ROOT_URL}
- MONGO_URL=${MONGO_WEBUI_MONGO_URL}
@ -1048,7 +1096,7 @@ services:
- backend
depends_on:
- mongo
### Metabase #################################################
metabase:
image: metabase/metabase:latest
@ -1311,6 +1359,24 @@ services:
aliases:
- fetchmail
### TRAEFIK #########################################
traefik:
build:
context: ./traefik
command: --docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "${TRAEFIK_HOST_HTTP_PORT}:80"
- "${TRAEFIK_HOST_HTTPS_PORT}:443"
networks:
- frontend
- backend
labels:
- traefik.backend=traefik
- traefik.frontend.rule=Host:monitor.localhost
- traefik.port=8080
### MOSQUITTO Broker #########################################
mosquitto:
build:
@ -1322,3 +1388,14 @@ services:
networks:
- frontend
- backend
### COUCHDB ###################################################
couchdb:
build:
context: ./couchdb
volumes:
- ${DATA_PATH_HOST}/couchdb/data:/opt/couchdb/data
ports:
- "${COUCHDB_PORT}:5984"
networks:
- backend

View File

@ -1,3 +1,3 @@
FROM docker.elastic.co/elasticsearch/elasticsearch:6.2.3
FROM docker.elastic.co/elasticsearch/elasticsearch:6.6.0
EXPOSE 9200 9300

View File

@ -7,8 +7,11 @@
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../
# Point to where the `APP_CODE_PATH_HOST` should be in the container. You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
APP_CODE_PATH_CONTAINER=/var/www:cached
# Point to where the `APP_CODE_PATH_HOST` should be in the container
APP_CODE_PATH_CONTAINER=/var/www
# You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
APP_CODE_CONTAINER_FLAG=:cached
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock/data
@ -34,7 +37,7 @@ COMPOSE_PROJECT_NAME=laradock
### PHP Version ###########################################
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.2 - 7.1 - 7.0 - 5.6
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.2
### Phalcon Version ###########################################
@ -79,6 +82,7 @@ DOCKER_SYNC_STRATEGY=native_osx
### WORKSPACE #############################################
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
WORKSPACE_COMPOSER_AUTH=false
WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_INSTALL_NODE=true
WORKSPACE_NODE_VERSION=node
@ -88,6 +92,7 @@ WORKSPACE_YARN_VERSION=latest
WORKSPACE_INSTALL_NPM_GULP=true
WORKSPACE_INSTALL_NPM_BOWER=false
WORKSPACE_INSTALL_NPM_VUE_CLI=true
WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false
WORKSPACE_INSTALL_PHPREDIS=true
WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_SUBVERSION=false
@ -97,6 +102,7 @@ WORKSPACE_INSTALL_SSH2=false
WORKSPACE_INSTALL_LDAP=false
WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_XSL=false
WORKSPACE_INSTALL_IMAP=false
WORKSPACE_INSTALL_MONGO=false
WORKSPACE_INSTALL_AMQP=false
@ -104,6 +110,7 @@ WORKSPACE_INSTALL_MSSQL=false
WORKSPACE_INSTALL_DRUSH=false
WORKSPACE_DRUSH_VERSION=8.1.17
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
WORKSPACE_INSTALL_WP_CLI=false
WORKSPACE_INSTALL_AEROSPIKE=false
WORKSPACE_INSTALL_V8JS=false
WORKSPACE_INSTALL_LARAVEL_ENVOY=false
@ -132,7 +139,6 @@ WORKSPACE_SSH_PORT=2222
### PHP_FPM ###############################################
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
PHP_FPM_INSTALL_BCMATH=true
PHP_FPM_INSTALL_MYSQLI=true
PHP_FPM_INSTALL_INTL=true
@ -149,6 +155,7 @@ PHP_FPM_INSTALL_AMQP=false
PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SSH2=false
PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_XSL=false
PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_EXIF=false
PHP_FPM_INSTALL_AEROSPIKE=false
@ -165,6 +172,9 @@ PHP_FPM_INSTALL_IONCUBE=false
PHP_FPM_FAKETIME=-0
PHP_FPM_INSTALL_APCU=false
PHP_FPM_INSTALL_YAML=false
PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false
PHP_FPM_INSTALL_MYSQL_CLIENT=false
PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8"
### PHP_WORKER ############################################
@ -173,6 +183,8 @@ PHP_WORKER_INSTALL_BCMATH=false
PHP_WORKER_INSTALL_PHALCON=false
PHP_WORKER_INSTALL_SOAP=false
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
PHP_WORKER_INSTALL_MYSQL_CLIENT=false
PHP_WORKER_INSTALL_AMQP=false
PHP_WORKER_PUID=1000
PHP_WORKER_PGID=1000
@ -211,6 +223,10 @@ MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
REDIS_PORT=6379
### REDIS CLUSTER #########################################
REDIS_CLUSTER_PORT_RANGE=7000-7005
### ZooKeeper #############################################
ZOOKEEPER_PORT=2181
@ -358,11 +374,6 @@ AEROSPIKE_FABRIC_PORT=3001
AEROSPIKE_HEARTBEAT_PORT=3002
AEROSPIKE_INFO_PORT=3003
# for all versions
AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz
# for php 5.6
# AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php5/archive/3.4.15.tar.gz
### RETHINKDB #############################################
RETHINKDB_PORT=8090
@ -498,14 +509,25 @@ SOLR_DATAIMPORTHANDLER_MYSQL=false
SOLR_DATAIMPORTHANDLER_MSSQL=false
### GITLAB ###############################################
GITLAB_POSTGRES_INIT=true
GITLAB_HOST_HTTP_PORT=8989
GITLAB_HOST_HTTPS_PORT=9898
GITLAB_HOST_SSH_PORT=2289
GITLAB_DOMAIN_NAME=http://localhost
GITLAB_ROOT_PASSWORD=laradock
GITLAB_HOST_LOG_PATH=./logs/gitlab
GITLAB_POSTGRES_HOST=postgres
GITLAB_POSTGRES_USER=laradock_gitlab
GITLAB_POSTGRES_PASSWORD=laradock_gitlab
GITLAB_POSTGRES_DB=laradock_gitlab
### GITLAB-RUNNER ###############################################
GITLAB_CI_SERVER_URL=http://localhost:8989
GITLAB_RUNNER_REGISTRATION_TOKEN=<my-registration-token>
GITLAB_REGISTER_NON_INTERACTIVE=true
### JUPYTERHUB ###############################################
JUPYTERHUB_POSTGRES_INIT=true
JUPYTERHUB_POSTGRES_HOST=postgres
JUPYTERHUB_POSTGRES_USER=laradock_jupyterhub
JUPYTERHUB_POSTGRES_PASSWORD=laradock_jupyterhub
@ -514,10 +536,10 @@ JUPYTERHUB_PORT=9991
JUPYTERHUB_OAUTH_CALLBACK_URL=http://laradock:9991/hub/oauth_callback
JUPYTERHUB_OAUTH_CLIENT_ID={GITHUB_CLIENT_ID}
JUPYTERHUB_OAUTH_CLIENT_SECRET={GITHUB_CLIENT_SECRET}
JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE=laradock_jupyterhub-user
JUPYTERHUB_CUSTOM_CONFIG=./jupyterhub/jupyterhub_config.py
JUPYTERHUB_USER_DATA=/jupyterhub
JUPYTERHUB_USER_LIST=./jupyterhub/userlist
JUPYTERHUB_ENABLE_NVIDIA=false
### IPYTHON ##################################################
LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
@ -525,7 +547,7 @@ LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
### NETDATA ###############################################
NETDATA_PORT=19999
### PHPREDISADMIN #########################################
### REDISWEBUI #########################################
REDIS_WEBUI_USERNAME=laradock
REDIS_WEBUI_PASSWORD=laradock
REDIS_WEBUI_CONNECT_HOST=redis
@ -621,6 +643,17 @@ MAILU_WEBMAIL=rainloop
# Dav server implementation (value: radicale, none)
MAILU_WEBDAV=radicale
### TRAEFIK #################################################
TRAEFIK_HOST_HTTP_PORT=80
TRAEFIK_HOST_HTTPS_PORT=443
### MOSQUITTO #################################################
MOSQUITTO_PORT=9001
### COUCHDB ###################################################
COUCHDB_PORT=5984

View File

@ -5,3 +5,5 @@ LABEL maintainer="ahkui <ahkui@outlook.com>"
USER root
RUN echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf
USER theia

View File

@ -4,7 +4,7 @@ LABEL maintainer="ahkui <ahkui@outlook.com>"
USER root
RUN apk add --no-cache build-base
RUN apk add --no-cache build-base zeromq-dev
RUN python -m pip --quiet --no-cache-dir install \
ipyparallel
@ -14,4 +14,4 @@ RUN ipython profile create --parallel --profile=default
COPY ipcontroller-client.json /root/.ipython/profile_default/security/ipcontroller-client.json
COPY ipcontroller-engine.json /root/.ipython/profile_default/security/ipcontroller-engine.json
CMD ["sh","-c","ipcontroller --ip=* --reuse"]
CMD ["sh","-c","ipcontroller --ip=* --reuse"]

View File

@ -4,7 +4,7 @@ LABEL maintainer="ahkui <ahkui@outlook.com>"
USER root
RUN apk add --no-cache build-base
RUN apk add --no-cache build-base zeromq-dev
RUN python -m pip --quiet --no-cache-dir install \
ipyparallel \

View File

@ -108,3 +108,7 @@ COPY install-plugins.sh /usr/local/bin/install-plugins.sh
#RUN chmod 644 /var/jenkins_home/.ssh/id_rsa.pub
## ssh-keyscan -H github.com >> ~/.ssh/known_hosts
## ssh-keyscan -H bitbucket.org >> ~/.ssh/known_hosts
# Fix docker permission denied error
USER root
RUN usermod -aG docker jenkins

View File

@ -10,6 +10,7 @@ ENV JUPYTERHUB_OAUTH_CALLBACK_URL ${JUPYTERHUB_OAUTH_CALLBACK_URL}
ENV JUPYTERHUB_OAUTH_CLIENT_ID ${JUPYTERHUB_OAUTH_CLIENT_ID}
ENV JUPYTERHUB_OAUTH_CLIENT_SECRET ${JUPYTERHUB_OAUTH_CLIENT_SECRET}
ENV JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE ${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE}
ENV JUPYTERHUB_ENABLE_NVIDIA ${JUPYTERHUB_ENABLE_NVIDIA}
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -

View File

@ -6,6 +6,9 @@ import os
c = get_config()
# create system users that don't exist yet
c.LocalAuthenticator.create_system_users = True
def create_dir_hook(spawner):
username = spawner.user.name # get the username
volume_path = os.path.join('/user-data', username)
@ -45,8 +48,12 @@ network_name = os.environ.get('JUPYTERHUB_NETWORK_NAME','laradock_backend')
c.DockerSpawner.use_internal_ip = True
c.DockerSpawner.network_name = network_name
enable_nvidia = os.environ.get('JUPYTERHUB_ENABLE_NVIDIA','false')
# Pass the network name as argument to spawned containers
c.DockerSpawner.extra_host_config = { 'network_mode': network_name, 'runtime': 'nvidia' }
c.DockerSpawner.extra_host_config = { 'network_mode': network_name }
if 'true' == enable_nvidia:
c.DockerSpawner.extra_host_config = { 'network_mode': network_name, 'runtime': 'nvidia' }
pass
# c.DockerSpawner.extra_host_config = { 'network_mode': network_name, "devices":["/dev/nvidiactl","/dev/nvidia-uvm","/dev/nvidia0"] }
# Explicitly set notebook directory because we'll be mounting a host volume to
# it. Most jupyter/docker-stacks *-notebook images run the Notebook server as

View File

@ -1,3 +1,3 @@
FROM docker.elastic.co/kibana/kibana:6.2.3
FROM docker.elastic.co/kibana/kibana:6.6.0
EXPOSE 5601

10
logstash/Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM docker.elastic.co/logstash/logstash:6.4.2
USER root
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
RUN curl -L -o /usr/share/logstash/lib/mysql-connector-java-5.1.47.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
ADD ./pipeline/ /usr/share/logstash/pipeline/
ADD ./config/ /usr/share/logstash/config/
RUN logstash-plugin install logstash-input-jdbc

View File

@ -0,0 +1,5 @@
http.host: "0.0.0.0"
xpack.monitoring.enabled: false
config.reload.automatic: true
path.config: "/usr/share/logstash/pipeline"

View File

View File

@ -1,4 +1,4 @@
FROM fenglc/pgadmin4
FROM fenglc/pgadmin4:alpine
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"

View File

@ -14,7 +14,8 @@
ARG LARADOCK_PHP_VERSION
FROM laradock/php-fpm:2.2-${LARADOCK_PHP_VERSION}
# FROM laradock/php-fpm:2.2-${LARADOCK_PHP_VERSION}
FROM letsdockerize/laradock-php-fpm:2.4-${LARADOCK_PHP_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
@ -24,20 +25,27 @@ ARG LARADOCK_PHP_VERSION
ENV DEBIAN_FRONTEND noninteractive
# always run apt update when start and after add new source list, then clean up at end.
RUN apt-get update -yqq && \
apt-get install -y apt-utils && \
pecl channel-update pecl.php.net
#
#--------------------------------------------------------------------------
# Mandatory Software's Installation
#--------------------------------------------------------------------------
#
# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....)
# are installed on the base image 'laradock/php-fpm' image. If you want
# to add more Software's or remove existing one, you need to edit the
# base image (https://github.com/Laradock/php-fpm).
#
RUN set -xe; \
apt-get update -yqq && \
pecl channel-update pecl.php.net && \
apt-get install -yqq \
apt-utils \
#
#--------------------------------------------------------------------------
# Mandatory Software's Installation
#--------------------------------------------------------------------------
#
# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....)
# are installed on the base image 'laradock/php-fpm' image. If you want
# to add more Software's or remove existing one, you need to edit the
# base image (https://github.com/Laradock/php-fpm).
#
# next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846
libzip-dev zip unzip && \
docker-php-ext-configure zip --with-libzip && \
# Install the zip extension
docker-php-ext-install zip && \
php -m | grep -q 'zip'
#
#--------------------------------------------------------------------------
@ -47,7 +55,7 @@ RUN apt-get update -yqq && \
# Optional Software's will only be installed if you set them to `true`
# in the `docker-compose.yml` before the build.
# Example:
# - INSTALL_ZIP_ARCHIVE=true
# - INSTALL_SOAP=true
#
###########################################################################
@ -92,6 +100,18 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
docker-php-ext-install soap \
;fi
###########################################################################
# XSL:
###########################################################################
ARG INSTALL_XSL=false
RUN if [ ${INSTALL_XSL} = true ]; then \
# Install the xsl extension
apt-get -y install libxslt-dev && \
docker-php-ext-install xsl \
;fi
###########################################################################
# pgsql
###########################################################################
@ -187,7 +207,7 @@ ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install swoole-2.0.11; \
pecl install swoole-2.0.10; \
else \
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install swoole-2.2.0; \
@ -196,6 +216,7 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
fi \
fi && \
docker-php-ext-enable swoole \
&& php -m | grep -q 'swoole' \
;fi
###########################################################################
@ -221,7 +242,16 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \
# download and install manually, to make sure it's compatible with ampq installed by pecl later
# install cmake first
apt-get update && apt-get -y install cmake && \
curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \
mkdir -p rabbitmq-c && \
tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \
cd rabbitmq-c/ && \
mkdir _build && cd _build/ && \
cmake .. && \
cmake --build . --target install && \
# Install the amqp extension
pecl install amqp && \
docker-php-ext-enable amqp && \
@ -229,19 +259,6 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
docker-php-ext-install sockets \
;fi
###########################################################################
# ZipArchive:
###########################################################################
ARG INSTALL_ZIP_ARCHIVE=false
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
apt-get install libzip-dev -y && \
docker-php-ext-configure zip --with-libzip && \
# Install the zip extension
docker-php-ext-install zip \
;fi
###########################################################################
# pcntl
###########################################################################
@ -323,30 +340,30 @@ RUN if [ ${INSTALL_EXIF} = true ]; then \
USER root
ARG INSTALL_AEROSPIKE=false
ARG AEROSPIKE_PHP_REPOSITORY
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
RUN set -xe; \
if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get -y install sudo wget && \
# Install the php aerospike extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/aerospike-client-php.tar.gz https://github.com/aerospike/aerospike-client-php5/archive/master.tar.gz; \
else \
curl -L -o /tmp/aerospike-client-php.tar.gz ${AEROSPIKE_PHP_REPOSITORY}; \
curl -L -o /tmp/aerospike-client-php.tar.gz https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz; \
fi \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& mkdir -p /tmp/aerospike-client-php \
&& tar -C /tmp/aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
( \
cd aerospike-client-php/src/aerospike \
cd /tmp/aerospike-client-php/src/aerospike \
&& phpize \
&& ./build.sh \
&& make install \
) \
else \
( \
cd aerospike-client-php/src \
cd /tmp/aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
@ -440,7 +457,8 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
ARG INSTALL_MSSQL=false
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 \
apt-get -y install freetds-dev libsybdb5 \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.so /usr/lib/libsybdb.so \
@ -463,12 +481,16 @@ RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
&& ln -sfn /etc/locale.alias /usr/share/locale/locale.alias \
&& locale-gen \
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
&& pecl install pdo_sqlsrv sqlsrv \
&& if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install pdo_sqlsrv-5.3.0 sqlsrv-5.3.0 \
;else \
pecl install pdo_sqlsrv sqlsrv \
;fi \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& php -m | grep -q 'pdo_sqlsrv' \
&& php -m | grep -q 'sqlsrv' \
;fi \
;fi
;fi
###########################################################################
# Image optimizers:
@ -550,7 +572,11 @@ RUN if [ $INSTALL_PHALCON = true ]; then \
ARG INSTALL_APCU=false
RUN if [ ${INSTALL_APCU} = true ]; then \
pecl install apcu && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a apcu-4.0.11; \
else \
pecl install apcu; \
fi && \
docker-php-ext-enable apcu \
;fi
@ -564,15 +590,48 @@ ARG INSTALL_YAML=false
RUN if [ ${INSTALL_YAML} = true ]; then \
apt-get install libyaml-dev -y ; \
pecl install yaml ; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a yaml-1.3.2; \
else \
pecl install yaml; \
fi && \
docker-php-ext-enable yaml \
;fi
###########################################################################
# Install additional locales:
###########################################################################
ARG INSTALL_ADDITIONAL_LOCALES=false
ARG ADDITIONAL_LOCALES
RUN if [ ${INSTALL_ADDITIONAL_LOCALES} = true ]; then \
apt-get install -y locales \
&& echo '' >> /usr/share/locale/locale.alias \
&& temp="${ADDITIONAL_LOCALES%\"}" \
&& temp="${temp#\"}" \
&& for i in ${temp}; do sed -i "/$i/s/^#//g" /etc/locale.gen; done \
&& locale-gen \
;fi
###########################################################################
# MySQL Client:
###########################################################################
USER root
ARG INSTALL_MYSQL_CLIENT=false
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apt-get update -yqq && \
apt-get -y install mysql-client \
;fi
###########################################################################
# Check PHP version:
###########################################################################
RUN php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
RUN set -xe; php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
#
#--------------------------------------------------------------------------

1918
php-fpm/php7.3.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@ -63,8 +63,21 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
docker-php-ext-install zip \
;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
# Install MySQL Client:
ARG INSTALL_MYSQL_CLIENT=false
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apk --update add mysql-client \
;fi
# Install AMQP:
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
apk --update add rabbitmq-c rabbitmq-c-dev && \
pecl install amqp && \
docker-php-ext-enable amqp && \
docker-php-ext-install sockets \
;fi
# Install Phalcon ext
ARG INSTALL_PHALCON=false
@ -80,6 +93,9 @@ RUN if [ $INSTALL_PHALCON = true ]; then \
&& rm -rf /tmp/cphalcon* \
;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
#
#--------------------------------------------------------------------------
# Optional Supervisord Configuration

View File

@ -33,9 +33,12 @@
# EOSQL
#
### default database and user for gitlab ##############################################
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER laradock_gitlab WITH PASSWORD 'laradock_gitlab';
CREATE DATABASE laradock_gitlab;
GRANT ALL PRIVILEGES ON DATABASE laradock_gitlab TO laradock_gitlab;
ALTER ROLE laradock_gitlab CREATEROLE SUPERUSER;
EOSQL
if [ "$GITLAB_POSTGRES_INIT" == 'true' ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER $GITLAB_POSTGRES_USER WITH PASSWORD '$GITLAB_POSTGRES_PASSWORD';
CREATE DATABASE $GITLAB_POSTGRES_DB;
GRANT ALL PRIVILEGES ON DATABASE $GITLAB_POSTGRES_DB TO $GITLAB_POSTGRES_USER;
ALTER ROLE $GITLAB_POSTGRES_USER CREATEROLE SUPERUSER;
EOSQL
echo
fi

View File

@ -33,9 +33,12 @@
# EOSQL
#
### default database and user for jupyterhub ##############################################
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER laradock_jupyterhub WITH PASSWORD 'laradock_jupyterhub';
CREATE DATABASE laradock_jupyterhub;
GRANT ALL PRIVILEGES ON DATABASE laradock_jupyterhub TO laradock_jupyterhub;
ALTER ROLE laradock_jupyterhub CREATEROLE SUPERUSER;
EOSQL
if [ $JUPYTERHUB_POSTGRES_INIT == 'true' ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER $JUPYTERHUB_POSTGRES_USER WITH PASSWORD '$JUPYTERHUB_POSTGRES_PASSWORD';
CREATE DATABASE $JUPYTERHUB_POSTGRES_DB;
GRANT ALL PRIVILEGES ON DATABASE $JUPYTERHUB_POSTGRES_DB TO $JUPYTERHUB_POSTGRES_USER;
ALTER ROLE $JUPYTERHUB_POSTGRES_USER CREATEROLE SUPERUSER;
EOSQL
echo
fi

View File

@ -1,7 +1,7 @@
FROM rabbitmq
FROM rabbitmq:alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN rabbitmq-plugins enable --offline rabbitmq_management
EXPOSE 15671 15672
EXPOSE 4369 5671 5672 15671 15672 25672

3
redis-cluster/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM grokzen/redis-cluster:latest
LABEL maintainer="hareku <hareku908@gmail.com>"

3
redis-webui/Dockerfile Normal file
View File

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

1377
redis/redis.conf Normal file

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,13 @@ LABEL maintainer="Cristian Mello <cristianc.mello@gmail.com>"
VOLUME /data/rethinkdb_data
#Necessary for the backup rethinkdb
RUN apt-get -y update \
&& apt-get -y upgrade \
&& apt-get -y install python-pip \
&& pip install rethinkdb \
&& rm -rf /var/lib/apt/lists/*
RUN cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf
CMD ["rethinkdb", "--bind", "all"]

View File

@ -18,7 +18,7 @@ ENV SOLR_DATAIMPORTHANDLER_MSSQL ${SOLR_DATAIMPORTHANDLER_MSSQL}
# download mssql connector for dataimporthandler
RUN if [ ${SOLR_DATAIMPORTHANDLER_MSSQL} = true ]; then \
curl -L -o /tmp/mssql-jdbc-7.0.0.jre8.jar "https://github.com/Microsoft/mssql-jdbc/releases/download/v7.0.0/mssql-jdbc-7.0.0.jre8.jar" \
&& mkdir /opt/solr/contrib/dataimporthandler/lib \
&& mkdir -p /opt/solr/contrib/dataimporthandler/lib \
&& mv /tmp/mssql-jdbc-7.0.0.jre8.jar "/opt/solr/contrib/dataimporthandler/lib/mssql-jdbc-7.0.0.jre8.jar" \
;fi

7
traefik/Dockerfile Normal file
View File

@ -0,0 +1,7 @@
FROM traefik:1.7.5-alpine
LABEL maintainer="Luis Coutinho <luis@luiscoutinho.pt>"
COPY traefik.toml acme.json /
RUN chmod 600 /acme.json

0
traefik/acme.json Normal file
View File

23
traefik/traefik.toml Normal file
View File

@ -0,0 +1,23 @@
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[web]
address = ":8080"
[acme]
email = "email@example.org"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"
[[acme.domais]]
main = "localhost"

View File

@ -16,8 +16,19 @@ if [ -n "${PHP_VERSION}" ]; then
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
# Aerospike C Client SDK 4.0.7, Debian 9.6 is not supported
# https://github.com/aerospike/aerospike-client-php5/issues/145
sed -i -- 's/PHP_FPM_INSTALL_AEROSPIKE=true/PHP_FPM_INSTALL_AEROSPIKE=false/g' .env
fi
if [ "${PHP_VERSION}" == "7.3" ]; then
# V8JS extension does not yet support PHP 7.3.
sed -i -- 's/WORKSPACE_INSTALL_V8JS=true/WORKSPACE_INSTALL_V8JS=false/g' .env
# This ssh2 extension does not yet support PHP 7.3.
sed -i -- 's/PHP_FPM_INSTALL_SSH2=true/PHP_FPM_INSTALL_SSH2=false/g' .env
# xdebug extension does not yet support PHP 7.3.
sed -i -- 's/PHP_FPM_INSTALL_XDEBUG=true/PHP_FPM_INSTALL_XDEBUG=false/g' .env
# memcached extension does not yet support PHP 7.3.
sed -i -- 's/PHP_FPM_INSTALL_MEMCACHED=true/PHP_FPM_INSTALL_MEMCACHED=false/g' .env
fi
cat .env
docker-compose build ${BUILD_SERVICE}

View File

@ -14,7 +14,8 @@
ARG LARADOCK_PHP_VERSION
FROM laradock/workspace:2.2-${LARADOCK_PHP_VERSION}
# FROM laradock/workspace:2.2-${LARADOCK_PHP_VERSION}
FROM letsdockerize/laradock-workspace:2.4-${LARADOCK_PHP_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
@ -37,22 +38,31 @@ ARG PGID=1000
ENV PGID ${PGID}
# always run apt update when start and after add new source list, then clean up at end.
RUN apt-get update -yqq && \
RUN set -xe; \
apt-get update -yqq && \
pecl channel-update pecl.php.net && \
groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock -G docker_env && \
usermod -p "*" laradock
#
#--------------------------------------------------------------------------
# Mandatory Software's Installation
#--------------------------------------------------------------------------
#
# Mandatory Software's such as ("php-cli", "git", "vim", ....) are
# installed on the base image 'laradock/workspace' image. If you want
# to add more Software's or remove existing one, you need to edit the
# base image (https://github.com/Laradock/workspace).
#
usermod -p "*" laradock -s /bin/bash && \
apt-get install -yqq \
apt-utils \
#
#--------------------------------------------------------------------------
# Mandatory Software's Installation
#--------------------------------------------------------------------------
#
# Mandatory Software's such as ("php-cli", "git", "vim", ....) are
# installed on the base image 'laradock/workspace' image. If you want
# to add more Software's or remove existing one, you need to edit the
# base image (https://github.com/Laradock/workspace).
#
# next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846
libzip-dev zip unzip \
# Install the zip extension
php${LARADOCK_PHP_VERSION}-zip \
# nasm
nasm && \
php -m | grep -q 'zip'
#
#--------------------------------------------------------------------------
@ -90,14 +100,14 @@ RUN sed -i 's/\r//' /root/aliases.sh && \
echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
echo "" >> ~/.bashrc
USER laradock
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
echo "" >> ~/.bashrc
###########################################################################
# Composer:
@ -108,6 +118,9 @@ USER root
# Add the composer.json
COPY ./composer.json /home/laradock/.composer/composer.json
# Add the auth.json for magento 2 credentials
COPY ./auth.json /home/laradock/.composer/auth.json
# Make sure that ~/.composer belongs to laradock
RUN chown -R laradock:laradock /home/laradock/.composer
@ -122,6 +135,15 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
composer global install \
;fi
# Check if auth file is disabled
ARG COMPOSER_AUTH=false
ENV COMPOSER_AUTH ${COMPOSER_AUTH}
RUN if [ ${COMPOSER_AUTH} = false ]; then \
# remove the file
rm /home/laradock/.composer/auth.json \
;fi
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
@ -174,6 +196,21 @@ RUN if [ ${INSTALL_DRUSH} = true ]; then \
drush core-status \
;fi
###########################################################################
# WP CLI:
###########################################################################
# The command line interface for WordPress
USER root
ARG INSTALL_WP_CLI=false
RUN if [ ${INSTALL_WP_CLI} = true ]; then \
curl -fsSL -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar | bash && \
chmod +x /usr/local/bin/wp \
;fi
###########################################################################
# SSH2:
###########################################################################
@ -214,6 +251,20 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
apt-get -y install libxml2-dev php${LARADOCK_PHP_VERSION}-soap \
;fi
###########################################################################
# XSL:
###########################################################################
USER root
ARG INSTALL_XSL=false
RUN if [ ${INSTALL_XSL} = true ]; then \
# Install the PHP XSL extension
apt-get -y install libxslt-dev php${LARADOCK_PHP_VERSION}-xsl \
;fi
###########################################################################
# LDAP:
###########################################################################
@ -359,10 +410,7 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
ARG INSTALL_PHPREDIS=false
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
# Install Php Redis extension
printf "\n" | pecl -q install -o -f redis && \
echo "extension=redis.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/redis.ini && \
phpenmod redis \
apt-get install -yqq php-redis \
;fi
###########################################################################
@ -374,7 +422,7 @@ ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl -q install swoole-2.0.11; \
pecl -q install swoole-2.0.10; \
else \
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install swoole-2.2.0; \
@ -384,6 +432,7 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
fi && \
echo "extension=swoole.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini && \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/swoole.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-swoole.ini \
&& php -m | grep -q 'swoole' \
;fi
###########################################################################
@ -440,6 +489,7 @@ ARG INSTALL_NODE=false
ARG INSTALL_NPM_GULP=false
ARG INSTALL_NPM_BOWER=false
ARG INSTALL_NPM_VUE_CLI=false
ARG INSTALL_NPM_ANGULAR_CLI=false
ARG NPM_REGISTRY
ENV NPM_REGISTRY ${NPM_REGISTRY}
ENV NVM_DIR /home/laradock/.nvm
@ -464,6 +514,9 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
&& if [ ${INSTALL_NPM_VUE_CLI} = true ]; then \
npm install -g @vue/cli \
;fi \
&& if [ ${INSTALL_NPM_ANGULAR_CLI} = true ]; then \
npm install -g @angular/cli \
;fi \
&& ln -s `npm bin --global` /home/laradock/.node-bin \
;fi
@ -545,26 +598,30 @@ ENV PATH $PATH:/home/laradock/.yarn/bin
USER root
ARG INSTALL_AEROSPIKE=false
ARG AEROSPIKE_PHP_REPOSITORY
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
RUN set -xe; \
if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz ${AEROSPIKE_PHP_REPOSITORY} \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/aerospike-client-php.tar.gz https://github.com/aerospike/aerospike-client-php5/archive/master.tar.gz; \
else \
curl -L -o /tmp/aerospike-client-php.tar.gz https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz; \
fi \
&& mkdir -p /tmp/aerospike-client-php \
&& tar -C /tmp/aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
( \
cd aerospike-client-php/src/aerospike \
cd /tmp/aerospike-client-php/src/aerospike \
&& phpize \
&& ./build.sh \
&& make install \
) \
else \
( \
cd aerospike-client-php/src \
cd /tmp/aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
@ -574,7 +631,7 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
&& 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/${LARADOCK_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
###########################################################################
# PHP V8JS:
@ -584,14 +641,19 @@ USER root
ARG INSTALL_V8JS=false
RUN if [ ${INSTALL_V8JS} = true ]; then \
# Install the php V8JS extension
RUN set -xe; \
if [ ${INSTALL_V8JS} = true ]; then \
add-apt-repository -y ppa:pinepain/libv8-archived \
&& apt-get update -yqq \
&& apt-get install -y php${LARADOCK_PHP_VERSION}-xml php${LARADOCK_PHP_VERSION}-dev php-pear libv8-5.4 \
&& pecl install v8js \
&& apt-get install -y libv8-5.4 && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install v8js-0.6.4; \
else \
pecl install v8js; \
fi \
&& echo "extension=v8js.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \
;fi
&& php -m | grep -q 'v8js' \
;fi
###########################################################################
# Laravel Envoy:
@ -689,7 +751,8 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
ARG INSTALL_MSSQL=false
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 \
apt-get -y install php5.6-sybase freetds-bin freetds-common libsybdb5 \
&& php -m | grep -q 'mssql' \
@ -707,13 +770,17 @@ RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \
pecl install sqlsrv pdo_sqlsrv && \
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install sqlsrv-5.3.0 pdo_sqlsrv-5.3.0 \
;else \
pecl install sqlsrv pdo_sqlsrv \
;fi && \
echo "extension=sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-sqlsrv.ini && \
echo "extension=pdo_sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-pdo_sqlsrv.ini \
&& php -m | grep -q 'sqlsrv' \
&& php -m | grep -q 'pdo_sqlsrv' \
;fi \
;fi
;fi
###########################################################################
# Minio:
@ -823,15 +890,6 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
&& apt-get -y install postgresql-client-10 \
;fi
###########################################################################
# nasm
###########################################################################
USER root
RUN apt-get update -yqq \
&& apt-get -yqq install nasm
###########################################################################
# Dusk Dependencies:
###########################################################################
@ -894,7 +952,7 @@ RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
# Check PHP version:
###########################################################################
RUN php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
RUN set -xe; php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
#
#--------------------------------------------------------------------------

View File

@ -46,8 +46,8 @@ alias h="history"
alias j="jobs"
alias e='exit'
alias c="clear"
alias cla="clear && ls -l"
alias cll="clear && ls -la"
alias cla="clear && ls -la"
alias cll="clear && ls -l"
alias cls="clear && ls"
alias code="cd /var/www"
alias ea="vi ~/aliases.sh"
@ -108,6 +108,7 @@ alias git-revert="git reset --hard && git clean -df"
alias gs="git status"
alias whoops="git reset --hard && git clean -df"
alias glog="git log --oneline --decorate --graph"
alias gloga="git log --oneline --decorate --graph --all"
alias gsh="git show"
alias grb="git rebase -i"
alias gbr="git branch"

8
workspace/auth.json Normal file
View File

@ -0,0 +1,8 @@
{
"http-basic": {
"repo.magento.com": {
"username": "",
"password": ""
}
}
}