Compare commits
61 Commits
Author | SHA1 | Date | |
---|---|---|---|
63fc1fde44 | |||
623ff66f40 | |||
5bf8be6303 | |||
c0a36a5a4d | |||
c0b28fc404 | |||
9e537ee16b | |||
fbae49b898 | |||
bc8772441b | |||
dba1594b05 | |||
2dd64aef55 | |||
23193babf4 | |||
fbdfc41927 | |||
7ea44ca25a | |||
76b71d264d | |||
c7289f7db3 | |||
e8d84cf9a3 | |||
4417083a80 | |||
0980523049 | |||
d8b3cb5a52 | |||
d34602ae29 | |||
cbbdb0a86b | |||
f5c80cd251 | |||
5b07fbb9c4 | |||
83a24efa70 | |||
a03c225e27 | |||
95965b12e7 | |||
58d7d4fa0b | |||
1f22e86d92 | |||
c8b526be13 | |||
b1cbd48221 | |||
d1f3bc8e5c | |||
9920397463 | |||
6f4664c579 | |||
254a9ae194 | |||
8ca26e6c06 | |||
6c8adbc195 | |||
329462a637 | |||
e105ec9569 | |||
76218808fd | |||
f18eb9728b | |||
d404555cf5 | |||
d964e2898c | |||
2d7b780e56 | |||
cf6a9ba2c9 | |||
8f6923531f | |||
61d7b18922 | |||
cde20c3ced | |||
f7dff0f72f | |||
1ec9244f7f | |||
176d4e8033 | |||
2deb9bf1cb | |||
b0edaf93a1 | |||
27af2bca8c | |||
61ac73e806 | |||
14ee775e39 | |||
1282c413fd | |||
ee2db98c61 | |||
739e8d3448 | |||
1286b7ef06 | |||
e0d7229e95 | |||
931f99ed0f |
2
.github/README.md
vendored
2
.github/README.md
vendored
@ -16,7 +16,7 @@
|
||||
<h4 align="center" style="color:#7d58c2">Use Docker First And Learn About It Later</h4>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://zalt.me"><img src="http://forthebadge.com/images/badges/built-by-developers.svg" alt="forthebadge" width="240" ></a>
|
||||
<a href="http://zalt.me"><img src="http://forthebadge.com/images/badges/built-by-developers.svg" alt="forthebadge" width="240" ></a>
|
||||
</p>
|
||||
|
||||
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -12,3 +12,5 @@
|
||||
/nginx/ssl/*.crt
|
||||
/nginx/ssl/*.key
|
||||
/nginx/ssl/*.csr
|
||||
|
||||
.DS_Store
|
@ -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 manticore"
|
||||
# - PHP_VERSION=NA BUILD_SERVICE="aws"
|
||||
|
||||
# Installing a newer Docker version
|
||||
|
@ -394,6 +394,37 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-SonarQube"></a>
|
||||
|
||||
## Install SonarQube (automatic code review tool)
|
||||
SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.
|
||||
<br>
|
||||
1 - Open the `.env` file
|
||||
<br>
|
||||
2 - Search for the `SONARQUBE_HOSTNAME=sonar.example.com` argument
|
||||
<br>
|
||||
3 - Set it to your-domain `sonar.example.com`
|
||||
<br>
|
||||
4 - `docker-compose up -d sonarqube`
|
||||
<br>
|
||||
5 - Open your browser: http://localhost:9000/
|
||||
|
||||
Troubleshooting:
|
||||
|
||||
if you encounter a database error:
|
||||
```
|
||||
docker-compose exec --user=root postgres
|
||||
source docker-entrypoint-initdb.d/init_sonarqube_db.sh
|
||||
```
|
||||
|
||||
If you encounter logs error:
|
||||
```
|
||||
docker-compose run --user=root --rm sonarqube chown sonarqube:sonarqube /opt/sonarqube/logs
|
||||
```
|
||||
[**SonarQube Documentation Here**](https://docs.sonarqube.org/latest/)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -409,7 +440,9 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
|
||||
<a name="Laradock-for-Production"></a>
|
||||
## Prepare Laradock for Production
|
||||
|
||||
It's recommended for production to create a custom `docker-compose.yml` file. For that reason, Laradock is shipped with `production-docker-compose.yml` which should contain only the containers you are planning to run on production (usage example: `docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...`).
|
||||
It's recommended for production to create a custom `docker-compose.yml` file, for example `production-docker-compose.yml`
|
||||
|
||||
In your new production `docker-compose.yml` file you should contain only the containers you are planning to run in production (usage example: `docker-compose -f production-docker-compose.yml up -d nginx mysql redis ...`).
|
||||
|
||||
Note: The Database (MySQL/MariaDB/...) ports should not be forwarded on production, because Docker will automatically publish the port on the host, which is quite insecure, unless specifically told not to. So make sure to remove these lines:
|
||||
|
||||
@ -631,12 +664,12 @@ docker-compose up -d metabase
|
||||
|
||||
1) Boot the container `docker-compose up -d jenkins`. To enter the container type `docker-compose exec jenkins bash`.
|
||||
|
||||
2) Go to `http://localhost:8090/` (if you didn't chanhed your default port mapping)
|
||||
2) Go to `http://localhost:8090/` (if you didn't chanhed your default port mapping)
|
||||
|
||||
3) Authenticate from the web app.
|
||||
|
||||
- Default username is `admin`.
|
||||
- Default password is `docker-compose exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword`.
|
||||
- Default password is `docker-compose exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword`.
|
||||
|
||||
(To enter container as root type `docker-compose exec --user root jenkins bash`).
|
||||
|
||||
@ -708,6 +741,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
|
||||
@ -824,6 +895,67 @@ docker-compose up -d gitlab
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-Gitlab-Runner"></a>
|
||||
## Use Gitlab Runner
|
||||
|
||||
1 - Retrieve the registration token in your gitlab project (Settings > CI / CD > Runners > Set up a specific Runner manually)
|
||||
|
||||
2 - Open the `.env` file and set the following changes:
|
||||
```
|
||||
# so that gitlab container will pass the correct domain to gitlab-runner container
|
||||
GITLAB_DOMAIN_NAME=http://gitlab
|
||||
|
||||
GITLAB_RUNNER_REGISTRATION_TOKEN=<value-in-step-1>
|
||||
|
||||
# so that gitlab-runner container will send POST request for registration to correct domain
|
||||
GITLAB_CI_SERVER_URL=http://gitlab
|
||||
```
|
||||
|
||||
3 - Open the `docker-compose.yml` file and add the following changes:
|
||||
```yml
|
||||
gitlab-runner:
|
||||
environment: # these values will be used during `gitlab-runner register`
|
||||
- RUNNER_EXECUTOR=docker # change from shell (default)
|
||||
- DOCKER_IMAGE=alpine
|
||||
- DOCKER_NETWORK_MODE=laradock_backend
|
||||
networks:
|
||||
- backend # connect to network where gitlab service is connected
|
||||
```
|
||||
|
||||
4 - Run the Gitlab-Runner Container (`gitlab-runner`) with the `docker-compose up` command. Example:
|
||||
|
||||
```bash
|
||||
docker-compose up -d gitlab-runner
|
||||
```
|
||||
|
||||
5 - Register the gitlab-runner to the gitlab container
|
||||
|
||||
```bash
|
||||
docker-compose exec gitlab-runner bash
|
||||
gitlab-runner register
|
||||
```
|
||||
|
||||
6 - Create a `.gitlab-ci.yml` file for your pipeline
|
||||
|
||||
```yml
|
||||
before_script:
|
||||
- echo Hello!
|
||||
|
||||
job1:
|
||||
scripts:
|
||||
- echo job1
|
||||
```
|
||||
|
||||
7 - Push changes to gitlab
|
||||
|
||||
8 - Verify that pipeline is run successful
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-Adminer"></a>
|
||||
## Use Adminer
|
||||
@ -1251,6 +1383,21 @@ To install CodeIgniter 3 on Laradock all you have to do is the following simple
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-Powerline"></a>
|
||||
## Install Powerline
|
||||
|
||||
1 - Open the `.env` file and set `WORKSPACE_INSTALL_POWERLINE` and `WORKSPACE_INSTALL_PYTHON` to `true`.
|
||||
|
||||
2 - Run `docker-compose build workspace`, after the step above.
|
||||
|
||||
Powerline is required python
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-Symfony"></a>
|
||||
## Install Symfony
|
||||
@ -1300,6 +1447,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`
|
||||
|
||||
|
||||
|
||||
@ -1492,6 +1652,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
|
||||
@ -1600,6 +1777,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>
|
||||
@ -1617,6 +1810,47 @@ Linuxbrew is a package manager for Linux. It is the Linux version of MacOS Homeb
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-FFMPEG"></a>
|
||||
## Install FFMPEG
|
||||
|
||||
To install FFMPEG in the Workspace container
|
||||
|
||||
1 - Open the `.env` file
|
||||
|
||||
2 - Search for the `WORKSPACE_INSTALL_FFMPEG` argument under the Workspace Container and set it to `true`
|
||||
|
||||
3 - Re-build the container `docker-compose build workspace`
|
||||
|
||||
4 - If you use the `php-worker` container too, please follow the same steps above especially if you have conversions that have been queued.
|
||||
|
||||
**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-GNU-Parallel"></a>
|
||||
## Install GNU Parallel
|
||||
|
||||
GNU Parallel is a command line tool to run multiple processes in parallel.
|
||||
|
||||
(see https://www.gnu.org/software/parallel/parallel_tutorial.html)
|
||||
|
||||
To install GNU Parallel in the Workspace container
|
||||
|
||||
1 - Open the `.env` file
|
||||
|
||||
2 - Search for the `WORKSPACE_INSTALL_GNU_PARALLEL` argument under the Workspace Container and set it to `true`
|
||||
|
||||
3 - Re-build the container `docker-compose build workspace`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Common-Aliases"></a>
|
||||
@ -2020,7 +2254,7 @@ This error sometimes happens because your Laravel application isn't running on t
|
||||
|
||||
## I get stuck when building nginx on `fetch http://mirrors.aliyun.com/alpine/v3.5/main/x86_64/APKINDEX.tar.gz`
|
||||
|
||||
As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-419652646), Already fixed,just set `CHANGE_SOURCE` to false.
|
||||
As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-419652646), Already fixed,just set `CHANGE_SOURCE` to false.
|
||||
|
||||
## Custom composer repo packagist url and npm registry url
|
||||
|
||||
|
@ -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
|
||||
@ -75,6 +69,14 @@ Note that more containers are available, find them in the [docs](http://laradock
|
||||
docker-compose exec workspace bash
|
||||
```
|
||||
|
||||
## Execute commands
|
||||
|
||||
If you want to only execute some command and don't want to enter bash, you can execute `docker-compose run workspace <command>`.
|
||||
|
||||
```
|
||||
docker-compose run workspace php artisan migrate
|
||||
```
|
||||
|
||||
## Install and configure Laravel
|
||||
|
||||
Let's install Laravel's dependencies, add the `.env` file, generate the key and give proper permissions to the cache folder.
|
||||
|
@ -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...
|
||||
|
@ -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
|
||||
|
@ -1,7 +1,3 @@
|
||||
FROM aerospike:latest
|
||||
|
||||
LABEL maintainer="Luciano Jr <luciano@lucianojr.com.br>"
|
||||
|
||||
RUN rm /etc/aerospike/aerospike.conf
|
||||
|
||||
COPY aerospike.conf /etc/aerospike/aerospike.conf
|
||||
|
@ -1,77 +0,0 @@
|
||||
# Aerospike database configuration file.
|
||||
|
||||
# This stanza must come first.
|
||||
service {
|
||||
user root
|
||||
group root
|
||||
paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
|
||||
pidfile /var/run/aerospike/asd.pid
|
||||
service-threads 4
|
||||
transaction-queues 4
|
||||
transaction-threads-per-queue 4
|
||||
proto-fd-max 15000
|
||||
}
|
||||
|
||||
logging {
|
||||
|
||||
# Log file must be an absolute path.
|
||||
file /var/log/aerospike/aerospike.log {
|
||||
context any info
|
||||
}
|
||||
|
||||
# Send log messages to stdout
|
||||
console {
|
||||
context any critical
|
||||
}
|
||||
}
|
||||
|
||||
network {
|
||||
service {
|
||||
address any
|
||||
port 3000
|
||||
|
||||
# Uncomment the following to set the `access-address` parameter to the
|
||||
# IP address of the Docker host. This will the allow the server to correctly
|
||||
# publish the address which applications and other nodes in the cluster to
|
||||
# use when addressing this node.
|
||||
# access-address <IPADDR>
|
||||
}
|
||||
|
||||
heartbeat {
|
||||
|
||||
# mesh is used for environments that do not support multicast
|
||||
mode mesh
|
||||
port 3002
|
||||
|
||||
# use asinfo -v 'tip:host=<ADDR>;port=3002' to inform cluster of
|
||||
# other mesh nodes
|
||||
mesh-port 3002
|
||||
|
||||
interval 150
|
||||
timeout 10
|
||||
}
|
||||
|
||||
fabric {
|
||||
port 3001
|
||||
}
|
||||
|
||||
info {
|
||||
port 3003
|
||||
}
|
||||
}
|
||||
|
||||
namespace test {
|
||||
replication-factor 2
|
||||
memory-size 1G
|
||||
default-ttl 5d # 5 days, use 0 to never expire/evict.
|
||||
|
||||
# storage-engine memory
|
||||
|
||||
# To use file storage backing, comment out the line above and use the
|
||||
# following lines instead.
|
||||
storage-engine device {
|
||||
file /opt/aerospike/data/test.dat
|
||||
filesize 4G
|
||||
data-in-memory true # Store data in memory in addition to file.
|
||||
}
|
||||
}
|
@ -1,30 +1,5 @@
|
||||
FROM golang:alpine
|
||||
FROM abiosoft/caddy:no-stats
|
||||
|
||||
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
|
||||
CMD ["--conf", "/etc/caddy/Caddyfile", "--log", "stdout", "--agree=true"]
|
||||
|
||||
RUN apk add --no-cache \
|
||||
openssh \
|
||||
git \
|
||||
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
|
||||
|
||||
ARG plugins="cors"
|
||||
|
||||
## ARG plugins="cors cgi cloudflare azure linode"
|
||||
|
||||
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
|
||||
|
||||
WORKDIR /var/www/public
|
||||
|
||||
CMD ["sh","-c","/start.sh & /usr/bin/caddy -conf /etc/caddy/Caddyfile -agree"]
|
||||
EXPOSE 80 443 2015
|
||||
|
@ -41,6 +41,8 @@ volumes:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
mosquitto:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
sonarqube:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
|
||||
services:
|
||||
|
||||
@ -58,6 +60,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,13 +73,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}
|
||||
@ -94,9 +98,12 @@ services:
|
||||
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
|
||||
- INSTALL_PHALCON=${WORKSPACE_INSTALL_PHALCON}
|
||||
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
|
||||
- INSTALL_TAINT=${WORKSPACE_INSTALL_TAINT}
|
||||
- INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
|
||||
- INSTALL_IONCUBE=${WORKSPACE_INSTALL_IONCUBE}
|
||||
- INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT}
|
||||
- INSTALL_PING=${WORKSPACE_INSTALL_PING}
|
||||
- INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS}
|
||||
- PUID=${WORKSPACE_PUID}
|
||||
- PGID=${WORKSPACE_PGID}
|
||||
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
|
||||
@ -106,6 +113,12 @@ services:
|
||||
- TZ=${WORKSPACE_TIMEZONE}
|
||||
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
|
||||
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
|
||||
- INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE}
|
||||
- INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG}
|
||||
- INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL}
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
extra_hosts:
|
||||
@ -134,11 +147,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}
|
||||
@ -146,15 +159,16 @@ 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}
|
||||
- INSTALL_POSTGIS=${PHP_FPM_INSTALL_POSTGIS}
|
||||
- INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
|
||||
- INSTALL_GHOSTSCRIPT=${PHP_FPM_INSTALL_GHOSTSCRIPT}
|
||||
- INSTALL_LDAP=${PHP_FPM_INSTALL_LDAP}
|
||||
- INSTALL_PHALCON=${PHP_FPM_INSTALL_PHALCON}
|
||||
- INSTALL_SWOOLE=${PHP_FPM_INSTALL_SWOOLE}
|
||||
- INSTALL_TAINT=${PHP_FPM_INSTALL_TAINT}
|
||||
- INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
|
||||
- INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
|
||||
@ -162,6 +176,16 @@ services:
|
||||
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
|
||||
- INSTALL_APCU=${PHP_FPM_INSTALL_APCU}
|
||||
- INSTALL_YAML=${PHP_FPM_INSTALL_YAML}
|
||||
- INSTALL_RDKAFKA=${PHP_FPM_INSTALL_RDKAFKA}
|
||||
- INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES}
|
||||
- INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT}
|
||||
- INSTALL_PING=${PHP_FPM_INSTALL_PING}
|
||||
- INSTALL_SSHPASS=${PHP_FPM_INSTALL_SSHPASS}
|
||||
- ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES}
|
||||
- INSTALL_FFMPEG=${PHP_FPM_FFMPEG}
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
volumes:
|
||||
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
@ -194,6 +218,11 @@ services:
|
||||
- INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
|
||||
- INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
|
||||
- INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP}
|
||||
- INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT}
|
||||
- INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE}
|
||||
- INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
|
||||
- INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG}
|
||||
- INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
|
||||
- PUID=${PHP_WORKER_PUID}
|
||||
- PGID=${PHP_WORKER_PGID}
|
||||
volumes:
|
||||
@ -232,6 +261,9 @@ services:
|
||||
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
|
||||
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
|
||||
- CHANGE_SOURCE=${CHANGE_SOURCE}
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
|
||||
@ -361,7 +393,12 @@ services:
|
||||
|
||||
### MariaDB ##############################################
|
||||
mariadb:
|
||||
build: ./mariadb
|
||||
build:
|
||||
context: ./mariadb
|
||||
args:
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/mariadb:/var/lib/mysql
|
||||
- ${MARIADB_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
||||
@ -395,6 +432,10 @@ services:
|
||||
- JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER}
|
||||
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
|
||||
- JUPYTERHUB_POSTGRES_DB=${JUPYTERHUB_POSTGRES_DB}
|
||||
- SONARQUBE_POSTGRES_INIT=${SONARQUBE_POSTGRES_INIT}
|
||||
- SONARQUBE_POSTGRES_DB=${SONARQUBE_POSTGRES_DB}
|
||||
- SONARQUBE_POSTGRES_USER=${SONARQUBE_POSTGRES_USER}
|
||||
- SONARQUBE_POSTGRES_PASSWORD=${SONARQUBE_POSTGRES_PASSWORD}
|
||||
networks:
|
||||
- backend
|
||||
|
||||
@ -455,6 +496,14 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Redis Cluster ##########################################
|
||||
redis-cluster:
|
||||
build: ./redis-cluster
|
||||
ports:
|
||||
- "${REDIS_CLUSTER_PORT_RANGE}:7000-7005"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### ZooKeeper #########################################
|
||||
zookeeper:
|
||||
build: ./zookeeper
|
||||
@ -477,6 +526,10 @@ services:
|
||||
- "${AEROSPIKE_FABRIC_PORT}:3001"
|
||||
- "${AEROSPIKE_HEARTBEAT_PORT}:3002"
|
||||
- "${AEROSPIKE_INFO_PORT}:3003"
|
||||
environment:
|
||||
- STORAGE_GB=${AEROSPIKE_STORAGE_GB}
|
||||
- MEM_GB=${AEROSPIKE_MEM_GB}
|
||||
- NAMESPACE=${AEROSPIKE_NAMESPACE}
|
||||
networks:
|
||||
- backend
|
||||
|
||||
@ -581,11 +634,14 @@ services:
|
||||
|
||||
### pgAdmin ##############################################
|
||||
pgadmin:
|
||||
build: ./pgadmin
|
||||
image: dpage/pgadmin4:latest
|
||||
environment:
|
||||
- "PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}"
|
||||
- "PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}"
|
||||
ports:
|
||||
- "5050:5050"
|
||||
- "${PGADMIN_PORT}:80"
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/pgadmin-backup:/var/lib/pgadmin/storage/pgadmin4
|
||||
- ${DATA_PATH_HOST}/pgadmin:/var/lib/pgadmin
|
||||
depends_on:
|
||||
- postgres
|
||||
networks:
|
||||
@ -934,16 +990,16 @@ services:
|
||||
context: ./gitlab
|
||||
environment:
|
||||
GITLAB_OMNIBUS_CONFIG: |
|
||||
external_url '${GITLAB_DOMAIN_NAME}'
|
||||
redis['enable'] = false
|
||||
nginx['listen_https'] = false
|
||||
nginx['listen_port'] = 80
|
||||
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'
|
||||
postgresql['enable'] = false
|
||||
gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2']
|
||||
gitlab_rails['redis_host'] = 'redis'
|
||||
gitlab_rails['redis_database'] = 8
|
||||
gitlab_rails['db_host'] = '${GITLAB_POSTGRES_HOST}'
|
||||
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}'
|
||||
@ -973,7 +1029,7 @@ services:
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner
|
||||
- /var/run/docker.sock:/var/run/docker.sock:rw
|
||||
|
||||
|
||||
### JupyterHub #########################################
|
||||
jupyterhub:
|
||||
build:
|
||||
@ -1387,3 +1443,41 @@ services:
|
||||
- "${COUCHDB_PORT}:5984"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Manticore Search ###########################################
|
||||
manticore:
|
||||
build:
|
||||
context: ./manticore
|
||||
volumes:
|
||||
- ${MANTICORE_CONFIG_PATH}:/etc/sphinxsearch
|
||||
- ${DATA_PATH_HOST}/manticore/data:/var/lib/manticore/data
|
||||
- ${DATA_PATH_HOST}/manticore/log:/var/lib/manticore/log
|
||||
ports:
|
||||
- "${MANTICORE_API_PORT}:9312"
|
||||
- "${MANTICORE_SPHINXQL_PORT}:9306"
|
||||
- "${MANTICORE_HTTP_PORT}:9308"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### SONARQUBE ################################################
|
||||
sonarqube:
|
||||
build:
|
||||
context: ./sonarqube
|
||||
hostname: "${SONARQUBE_HOSTNAME}"
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/sonarqube/conf:/opt/sonarqube/conf
|
||||
- ${DATA_PATH_HOST}/sonarqube/data:/opt/sonarqube/data
|
||||
- ${DATA_PATH_HOST}/sonarqube/logs:/opt/sonarqube/logs
|
||||
- ${DATA_PATH_HOST}/sonarqube/extensions:/opt/sonarqube/extensions
|
||||
- ${DATA_PATH_HOST}/sonarqube/plugins:/opt/sonarqube/lib/bundled-plugins
|
||||
ports:
|
||||
- ${SONARQUBE_PORT}:9000
|
||||
depends_on:
|
||||
- postgres
|
||||
environment:
|
||||
- sonar.jdbc.username=${SONARQUBE_POSTGRES_USER}
|
||||
- sonar.jdbc.password=${SONARQUBE_POSTGRES_PASSWORD}
|
||||
- sonar.jdbc.url=jdbc:postgresql://${SONARQUBE_POSTGRES_HOST}:5432/${SONARQUBE_POSTGRES_DB}
|
||||
networks:
|
||||
- backend
|
||||
- frontend
|
||||
|
@ -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
|
||||
|
72
env-example
72
env-example
@ -37,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 ###########################################
|
||||
@ -82,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
|
||||
@ -91,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
|
||||
@ -100,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
|
||||
@ -118,6 +121,7 @@ WORKSPACE_INSTALL_LINUXBREW=false
|
||||
WORKSPACE_INSTALL_MC=false
|
||||
WORKSPACE_INSTALL_SYMFONY=false
|
||||
WORKSPACE_INSTALL_PYTHON=false
|
||||
WORKSPACE_INSTALL_POWERLINE=false
|
||||
WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
|
||||
WORKSPACE_INSTALL_IMAGEMAGICK=false
|
||||
WORKSPACE_INSTALL_TERRAFORM=false
|
||||
@ -125,18 +129,24 @@ WORKSPACE_INSTALL_DUSK_DEPS=false
|
||||
WORKSPACE_INSTALL_PG_CLIENT=false
|
||||
WORKSPACE_INSTALL_PHALCON=false
|
||||
WORKSPACE_INSTALL_SWOOLE=false
|
||||
WORKSPACE_INSTALL_TAINT=false
|
||||
WORKSPACE_INSTALL_LIBPNG=false
|
||||
WORKSPACE_INSTALL_IONCUBE=false
|
||||
WORKSPACE_INSTALL_MYSQL_CLIENT=false
|
||||
WORKSPACE_INSTALL_PING=false
|
||||
WORKSPACE_INSTALL_SSHPASS=false
|
||||
WORKSPACE_INSTALL_INOTIFY=false
|
||||
WORKSPACE_INSTALL_FSWATCH=false
|
||||
WORKSPACE_PUID=1000
|
||||
WORKSPACE_PGID=1000
|
||||
WORKSPACE_CHROME_DRIVER_VERSION=2.42
|
||||
WORKSPACE_TIMEZONE=UTC
|
||||
WORKSPACE_SSH_PORT=2222
|
||||
WORKSPACE_INSTALL_FFMPEG=false
|
||||
WORKSPACE_INSTALL_GNU_PARALLEL=false
|
||||
|
||||
### PHP_FPM ###############################################
|
||||
|
||||
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
|
||||
PHP_FPM_INSTALL_BCMATH=true
|
||||
PHP_FPM_INSTALL_MYSQLI=true
|
||||
PHP_FPM_INSTALL_INTL=true
|
||||
@ -146,6 +156,7 @@ PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true
|
||||
PHP_FPM_INSTALL_PHPREDIS=true
|
||||
PHP_FPM_INSTALL_MEMCACHED=false
|
||||
PHP_FPM_INSTALL_XDEBUG=false
|
||||
PHP_FPM_INSTALL_XHPROF=false
|
||||
PHP_FPM_INSTALL_PHPDBG=false
|
||||
PHP_FPM_INSTALL_IMAP=false
|
||||
PHP_FPM_INSTALL_MONGO=false
|
||||
@ -153,6 +164,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
|
||||
@ -161,14 +173,23 @@ PHP_FPM_INSTALL_GHOSTSCRIPT=false
|
||||
PHP_FPM_INSTALL_LDAP=false
|
||||
PHP_FPM_INSTALL_PHALCON=false
|
||||
PHP_FPM_INSTALL_SWOOLE=false
|
||||
PHP_FPM_INSTALL_TAINT=false
|
||||
PHP_FPM_INSTALL_PG_CLIENT=false
|
||||
PHP_FPM_INSTALL_POSTGIS=false
|
||||
PHP_FPM_INSTALL_PCNTL=false
|
||||
PHP_FPM_INSTALL_CALENDAR=false
|
||||
PHP_FPM_INSTALL_FAKETIME=false
|
||||
PHP_FPM_INSTALL_IONCUBE=false
|
||||
PHP_FPM_INSTALL_RDKAFKA=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_INSTALL_PING=false
|
||||
PHP_FPM_INSTALL_SSHPASS=false
|
||||
PHP_FPM_FFMPEG=false
|
||||
PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8"
|
||||
|
||||
### PHP_WORKER ############################################
|
||||
|
||||
@ -179,6 +200,12 @@ PHP_WORKER_INSTALL_SOAP=false
|
||||
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
|
||||
PHP_WORKER_INSTALL_MYSQL_CLIENT=false
|
||||
PHP_WORKER_INSTALL_AMQP=false
|
||||
PHP_WORKER_INSTALL_GHOSTSCRIPT=false
|
||||
PHP_WORKER_INSTALL_SWOOLE=false
|
||||
PHP_WORKER_INSTALL_TAINT=false
|
||||
PHP_WORKER_INSTALL_FFMPEG=false
|
||||
PHP_WORKER_INSTALL_GMP=false
|
||||
|
||||
PHP_WORKER_PUID=1000
|
||||
PHP_WORKER_PGID=1000
|
||||
|
||||
@ -217,6 +244,10 @@ MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
|
||||
|
||||
REDIS_PORT=6379
|
||||
|
||||
### REDIS CLUSTER #########################################
|
||||
|
||||
REDIS_CLUSTER_PORT_RANGE=7000-7005
|
||||
|
||||
### ZooKeeper #############################################
|
||||
|
||||
ZOOKEEPER_PORT=2181
|
||||
@ -363,11 +394,9 @@ AEROSPIKE_SERVICE_PORT=3000
|
||||
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
|
||||
AEROSPIKE_STORAGE_GB=1
|
||||
AEROSPIKE_MEM_GB=1
|
||||
AEROSPIKE_NAMESPACE=test
|
||||
|
||||
### RETHINKDB #############################################
|
||||
|
||||
@ -652,3 +681,32 @@ MOSQUITTO_PORT=9001
|
||||
### COUCHDB ###################################################
|
||||
|
||||
COUCHDB_PORT=5984
|
||||
|
||||
### Manticore Search ##########################################
|
||||
|
||||
MANTICORE_CONFIG_PATH=./manticore/config
|
||||
MANTICORE_API_PORT=9312
|
||||
MANTICORE_SPHINXQL_PORT=9306
|
||||
MANTICORE_HTTP_PORT=9308
|
||||
|
||||
### pgadmin ##################################################
|
||||
# use this address http://ip6-localhost:5050
|
||||
PGADMIN_PORT=5050
|
||||
PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin.org
|
||||
PGADMIN_DEFAULT_PASSWORD=admin
|
||||
|
||||
### SONARQUBE ################################################
|
||||
## docker-compose up -d sonarqube
|
||||
## (If you encounter a database error)
|
||||
## docker-compose exec --user=root postgres
|
||||
## source docker-entrypoint-initdb.d/init_sonarqube_db.sh
|
||||
## (If you encounter logs error)
|
||||
## docker-compose run --user=root --rm sonarqube chown sonarqube:sonarqube /opt/sonarqube/logs
|
||||
|
||||
SONARQUBE_HOSTNAME=sonar.example.com
|
||||
SONARQUBE_PORT=9000
|
||||
SONARQUBE_POSTGRES_INIT=true
|
||||
SONARQUBE_POSTGRES_HOST=postgres
|
||||
SONARQUBE_POSTGRES_DB=sonar
|
||||
SONARQUBE_POSTGRES_USER=sonar
|
||||
SONARQUBE_POSTGRES_PASSWORD=sonarPass
|
||||
|
@ -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"]
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,3 @@
|
||||
FROM docker.elastic.co/kibana/kibana:6.2.3
|
||||
FROM docker.elastic.co/kibana/kibana:6.6.0
|
||||
|
||||
EXPOSE 5601
|
||||
|
@ -19,4 +19,4 @@ RUN npm install
|
||||
COPY laravel-echo-server.json /usr/src/app/laravel-echo-server.json
|
||||
|
||||
EXPOSE 3000
|
||||
CMD [ "npm", "start" ]
|
||||
CMD [ "npm", "start", "--force" ]
|
||||
|
@ -4,9 +4,9 @@
|
||||
"version": "0.0.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"laravel-echo-server": "^1.2.8"
|
||||
"laravel-echo-server": "^1.5.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "laravel-echo-server start"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,8 @@ RUN apk --update add wget \
|
||||
autoconf \
|
||||
cyrus-sasl-dev \
|
||||
libgsasl-dev \
|
||||
supervisor
|
||||
supervisor \
|
||||
procps
|
||||
|
||||
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
|
||||
|
5
manticore/Dockerfile
Normal file
5
manticore/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
FROM manticoresearch/manticore
|
||||
|
||||
EXPOSE 9306
|
||||
EXPOSE 9308
|
||||
EXPOSE 9312
|
25
manticore/config/sphinx.conf
Normal file
25
manticore/config/sphinx.conf
Normal file
@ -0,0 +1,25 @@
|
||||
index testrt {
|
||||
type = rt
|
||||
rt_mem_limit = 128M
|
||||
path = /var/lib/manticore/data/testrt
|
||||
rt_field = title
|
||||
rt_field = content
|
||||
rt_attr_uint = gid
|
||||
}
|
||||
|
||||
searchd {
|
||||
listen = 9312
|
||||
listen = 9308:http
|
||||
listen = 9306:mysql41
|
||||
log = /var/lib/manticore/log/searchd.log
|
||||
# you can also send query_log to /dev/stdout to be shown in docker logs
|
||||
query_log = /var/lib/manticore/log/query.log
|
||||
read_timeout = 5
|
||||
max_children = 30
|
||||
pid_file = /var/run/searchd.pid
|
||||
seamless_rotate = 1
|
||||
preopen_indexes = 1
|
||||
unlink_old = 1
|
||||
binlog_path = /var/lib/manticore/data
|
||||
}
|
||||
|
@ -14,13 +14,23 @@ RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
|
||||
RUN apk update \
|
||||
&& apk upgrade \
|
||||
&& apk --update add logrotate \
|
||||
&& apk add --no-cache openssl \
|
||||
&& apk add --no-cache bash \
|
||||
&& adduser -D -H -u 1000 -s /bin/bash www-data
|
||||
&& apk add --no-cache bash
|
||||
|
||||
RUN set -x ; \
|
||||
addgroup -g 82 -S www-data ; \
|
||||
adduser -u 82 -D -S -G www-data www-data && exit 0 ; exit 1
|
||||
|
||||
ARG PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
ARG PHP_UPSTREAM_PORT=9000
|
||||
|
||||
# Create 'messages' file used from 'logrotate'
|
||||
RUN touch /var/log/messages
|
||||
|
||||
# Copy 'logrotate' config file
|
||||
COPY logrotate/nginx /etc/logrotate.d/
|
||||
|
||||
# Set upstream conf and remove the default conf
|
||||
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \
|
||||
&& rm /etc/nginx/conf.d/default.conf
|
||||
|
14
nginx/logrotate/nginx
Normal file
14
nginx/logrotate/nginx
Normal file
@ -0,0 +1,14 @@
|
||||
/var/log/nginx/*.log {
|
||||
daily
|
||||
missingok
|
||||
rotate 32
|
||||
compress
|
||||
delaycompress
|
||||
nodateext
|
||||
notifempty
|
||||
create 644 www-data root
|
||||
sharedscripts
|
||||
postrotate
|
||||
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
|
||||
endscript
|
||||
}
|
1
nginx/ssl/.gitignore
vendored
1
nginx/ssl/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
*.crt
|
||||
*.csr
|
||||
*.key
|
||||
*.pem
|
@ -6,4 +6,8 @@ if [ ! -f /etc/nginx/ssl/default.crt ]; then
|
||||
openssl x509 -req -days 365 -in "/etc/nginx/ssl/default.csr" -signkey "/etc/nginx/ssl/default.key" -out "/etc/nginx/ssl/default.crt"
|
||||
fi
|
||||
|
||||
# Start crond in background
|
||||
crond -l 2 -b
|
||||
|
||||
# Start nginx in foreground
|
||||
nginx
|
||||
|
@ -1,10 +0,0 @@
|
||||
FROM fenglc/pgadmin4:alpine
|
||||
|
||||
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
|
||||
|
||||
# user: pgadmin4@pgadmin.org
|
||||
# password: admin
|
||||
# pg_dump & postgresql all in "/usr/bin"
|
||||
# backup in "/var/lib/pgadmin/storage/pgadmin4"
|
||||
|
||||
EXPOSE 5050
|
@ -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
|
||||
###########################################################################
|
||||
@ -108,13 +128,17 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_PG_CLIENT=false
|
||||
ARG INSTALL_POSTGIS=false
|
||||
|
||||
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
|
||||
# Create folders if not exists (https://github.com/tianon/docker-brew-debian/issues/65)
|
||||
mkdir -p /usr/share/man/man1 && \
|
||||
mkdir -p /usr/share/man/man7 && \
|
||||
# Install the pgsql client
|
||||
apt-get install -y postgresql-client \
|
||||
apt-get install -y postgresql-client && \
|
||||
if [ ${INSTALL_POSTGIS} = true ]; then \
|
||||
apt-get install -y postgis; \
|
||||
fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -187,7 +211,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 +220,22 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
fi \
|
||||
fi && \
|
||||
docker-php-ext-enable swoole \
|
||||
&& php -m | grep -q 'swoole' \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Taint EXTENSION
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_TAINT=false
|
||||
|
||||
RUN if [ ${INSTALL_TAINT} = true ]; then \
|
||||
# Install Php TAINT Extension
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
pecl install taint && \
|
||||
docker-php-ext-enable taint && \
|
||||
php -m | grep -q 'taint'; \
|
||||
fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -214,6 +254,34 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||
docker-php-ext-enable mongodb \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Xhprof:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XHPROF=false
|
||||
|
||||
RUN if [ ${INSTALL_XHPROF} = true ]; then \
|
||||
# Install the php xhprof extension
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = 7 ]; then \
|
||||
curl -L -o /tmp/xhprof.tar.gz "https://github.com/tideways/php-xhprof-extension/archive/v4.1.6.tar.gz"; \
|
||||
else \
|
||||
curl -L -o /tmp/xhprof.tar.gz "https://codeload.github.com/phacility/xhprof/tar.gz/master"; \
|
||||
fi \
|
||||
&& mkdir -p xhprof \
|
||||
&& tar -C xhprof -zxvf /tmp/xhprof.tar.gz --strip 1 \
|
||||
&& ( \
|
||||
cd xhprof \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install \
|
||||
) \
|
||||
&& rm -r xhprof \
|
||||
&& rm /tmp/xhprof.tar.gz \
|
||||
;fi
|
||||
|
||||
COPY ./xhprof.ini /usr/local/etc/php/conf.d
|
||||
|
||||
###########################################################################
|
||||
# AMQP:
|
||||
###########################################################################
|
||||
@ -238,19 +306,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
|
||||
###########################################################################
|
||||
@ -332,30 +387,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 \
|
||||
@ -449,7 +504,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 \
|
||||
@ -472,12 +528,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:
|
||||
@ -585,11 +645,91 @@ RUN if [ ${INSTALL_YAML} = true ]; then \
|
||||
docker-php-ext-enable yaml \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# RDKAFKA:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_RDKAFKA=false
|
||||
|
||||
RUN if [ ${INSTALL_RDKAFKA} = true ]; then \
|
||||
apt-get install -y librdkafka-dev && \
|
||||
pecl install rdkafka && \
|
||||
docker-php-ext-enable rdkafka \
|
||||
;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
|
||||
|
||||
###########################################################################
|
||||
# ping:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_PING=false
|
||||
|
||||
RUN if [ ${INSTALL_PING} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install inetutils-ping \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# sshpass:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_SSHPASS=false
|
||||
|
||||
RUN if [ ${INSTALL_SSHPASS} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install sshpass \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# FFMPEG:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_FFMPEG=false
|
||||
|
||||
RUN if [ ${INSTALL_FFMPEG} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install ffmpeg \
|
||||
;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}."
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
|
@ -1,9 +1,9 @@
|
||||
; NOTE: The actual opcache.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini)
|
||||
|
||||
opcache.enable="1"
|
||||
opcache.memory_consumption="256"
|
||||
opcache.use_cwd="0"
|
||||
opcache.max_file_size="0"
|
||||
opcache.max_accelerated_files = 30000
|
||||
opcache.validate_timestamps="1"
|
||||
opcache.revalidate_freq="0"
|
||||
opcache.enable=1
|
||||
opcache.memory_consumption=256
|
||||
opcache.use_cwd=0
|
||||
opcache.max_file_size=0
|
||||
opcache.max_accelerated_files=30000
|
||||
opcache.validate_timestamps=1
|
||||
opcache.revalidate_freq=0
|
||||
|
1918
php-fpm/php7.3.ini
Normal file
1918
php-fpm/php7.3.ini
Normal file
File diff suppressed because it is too large
Load Diff
8
php-fpm/xhprof.ini
Normal file
8
php-fpm/xhprof.ini
Normal file
@ -0,0 +1,8 @@
|
||||
[xhprof]
|
||||
; extension=xhprof.so
|
||||
extension=tideways.so
|
||||
xhprof.output_dir=/var/www/xhprof
|
||||
; no need to autoload, control in the program
|
||||
tideways.auto_prepend_library=0
|
||||
; set default rate
|
||||
tideways.sample_rate=100
|
@ -69,6 +69,12 @@ RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
|
||||
apk --update add mysql-client \
|
||||
;fi
|
||||
|
||||
# Install FFMPEG:
|
||||
ARG INSTALL_FFMPEG=false
|
||||
RUN if [ ${INSTALL_FFMPEG} = true ]; then \
|
||||
apk --update add ffmpeg \
|
||||
;fi
|
||||
|
||||
# Install AMQP:
|
||||
ARG INSTALL_AMQP=false
|
||||
|
||||
@ -93,9 +99,56 @@ RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
&& rm -rf /tmp/cphalcon* \
|
||||
;fi
|
||||
|
||||
RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \
|
||||
apk --update add ghostscript \
|
||||
;fi
|
||||
|
||||
#Install GMP package:
|
||||
ARG INSTALL_GMP=false
|
||||
RUN if [ ${INSTALL_GMP} = true ]; then \
|
||||
apk add --update --no-cache gmp gmp-dev \
|
||||
&& docker-php-ext-install gmp \
|
||||
;fi
|
||||
|
||||
|
||||
RUN rm /var/cache/apk/* \
|
||||
&& mkdir -p /var/www
|
||||
|
||||
|
||||
###########################################################################
|
||||
# Swoole EXTENSION
|
||||
###########################################################################
|
||||
|
||||
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.10; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
pecl install swoole-2.2.0; \
|
||||
else \
|
||||
pecl install swoole; \
|
||||
fi \
|
||||
fi \
|
||||
&& docker-php-ext-enable swoole \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Taint EXTENSION
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_TAINT=false
|
||||
|
||||
RUN if [ ${INSTALL_TAINT} = true ]; then \
|
||||
# Install Php TAINT Extension
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
pecl install taint; \
|
||||
fi && \
|
||||
docker-php-ext-enable taint \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Supervisord Configuration
|
||||
|
@ -1,3 +1,4 @@
|
||||
*.sh
|
||||
!init_gitlab_db.sh
|
||||
!init_jupyterhub_db.sh
|
||||
!init_sonarqube_db.sh
|
||||
|
@ -33,7 +33,7 @@
|
||||
# EOSQL
|
||||
#
|
||||
### default database and user for jupyterhub ##############################################
|
||||
if [ $JUPYTERHUB_POSTGRES_INIT == 'true' ]; then
|
||||
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;
|
||||
|
44
postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh
Normal file
44
postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copy createdb.sh.example to createdb.sh
|
||||
# then uncomment then set database name and username to create you need databases
|
||||
#
|
||||
# example: .env POSTGRES_USER=appuser and need db name is myshop_db
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER myuser WITH PASSWORD 'mypassword';
|
||||
# CREATE DATABASE myshop_db;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE myshop_db TO myuser;
|
||||
# EOSQL
|
||||
#
|
||||
# this sh script will auto run when the postgres container starts and the $DATA_PATH_HOST/postgres not found.
|
||||
#
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db1 WITH PASSWORD 'db1';
|
||||
# CREATE DATABASE db1;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db1 TO db1;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db2 WITH PASSWORD 'db2';
|
||||
# CREATE DATABASE db2;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db2 TO db2;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db3 WITH PASSWORD 'db3';
|
||||
# CREATE DATABASE db3;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db3 TO db3;
|
||||
# EOSQL
|
||||
#
|
||||
### default database and user for gitlab ##############################################
|
||||
if [ "$SONARQUBE_POSTGRES_INIT" == 'true' ]; then
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE USER $SONARQUBE_POSTGRES_USER WITH PASSWORD '$SONARQUBE_POSTGRES_PASSWORD';
|
||||
CREATE DATABASE $SONARQUBE_POSTGRES_DB;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $SONARQUBE_POSTGRES_DB TO $SONARQUBE_POSTGRES_USER;
|
||||
ALTER ROLE $SONARQUBE_POSTGRES_USER CREATEROLE SUPERUSER;
|
||||
EOSQL
|
||||
echo
|
||||
fi
|
3
redis-cluster/Dockerfile
Normal file
3
redis-cluster/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM grokzen/redis-cluster:latest
|
||||
|
||||
LABEL maintainer="hareku <hareku908@gmail.com>"
|
1377
redis/redis.conf
Normal file
1377
redis/redis.conf
Normal file
File diff suppressed because it is too large
Load Diff
3
sonarqube/Dockerfile
Normal file
3
sonarqube/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM sonarqube:latest
|
||||
|
||||
LABEL maintainer="xiagw <fxiaxiaoyu@gmail.com>"
|
@ -16,9 +16,23 @@ 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
|
||||
|
||||
sed -i -- 's/CHANGE_SOURCE=true/CHANGE_SOURCE=false/g' .env
|
||||
|
||||
cat .env
|
||||
docker-compose build ${BUILD_SERVICE}
|
||||
docker images
|
||||
|
@ -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 -s /bin/bash
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# 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}
|
||||
|
||||
@ -229,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:
|
||||
###########################################################################
|
||||
@ -309,7 +345,7 @@ ARG BLACKFIRE_CLIENT_TOKEN
|
||||
ENV BLACKFIRE_CLIENT_TOKEN ${BLACKFIRE_CLIENT_TOKEN}
|
||||
|
||||
RUN if [ ${INSTALL_XDEBUG} = false -a ${INSTALL_BLACKFIRE} = true ]; then \
|
||||
curl -L https://packagecloud.io/gpg.key | apt-key add - && \
|
||||
curl -L https://packages.blackfire.io/gpg.key | apt-key add - && \
|
||||
echo "deb http://packages.blackfire.io/debian any main" | tee /etc/apt/sources.list.d/blackfire.list && \
|
||||
apt-get update -yqq && \
|
||||
apt-get install blackfire-agent \
|
||||
@ -374,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
|
||||
|
||||
###########################################################################
|
||||
@ -389,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; \
|
||||
@ -399,6 +432,23 @@ 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
|
||||
|
||||
###########################################################################
|
||||
# Taint EXTENSION
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_TAINT=false
|
||||
|
||||
RUN if [ "${INSTALL_TAINT}" = true ]; then \
|
||||
# Install Php TAINT Extension
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
pecl install taint && \
|
||||
echo "extension=taint.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/taint.ini && \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/taint.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-taint.ini && \
|
||||
php -m | grep -q 'taint'; \
|
||||
fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -412,6 +462,31 @@ RUN if [ ${INSTALL_LIBPNG} = true ]; then \
|
||||
apt-get install libpng16-16 \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Inotify EXTENSION:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_INOTIFY=false
|
||||
|
||||
RUN if [ ${INSTALL_INOTIFY} = true ]; then \
|
||||
pecl -q install inotify && \
|
||||
echo "extension=inotify.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini && \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/inotify.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-inotify.ini \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# fswatch
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_FSWATCH=false
|
||||
|
||||
RUN if [ ${INSTALL_FSWATCH} = true ]; then \
|
||||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 47FE03C1 \
|
||||
&& add-apt-repository -y ppa:hadret/fswatch \
|
||||
|| apt-get update -yqq \
|
||||
&& apt-get -y install fswatch \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# IonCube Loader
|
||||
###########################################################################
|
||||
@ -455,6 +530,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
|
||||
@ -479,6 +555,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
|
||||
|
||||
@ -560,26 +639,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 \
|
||||
@ -589,7 +672,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:
|
||||
@ -599,14 +682,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:
|
||||
@ -704,7 +792,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' \
|
||||
@ -722,13 +811,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:
|
||||
@ -794,6 +887,23 @@ RUN if [ ${INSTALL_PYTHON} = true ]; then \
|
||||
&& python -m pip install --upgrade virtualenv \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# POWERLINE:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
ARG INSTALL_POWERLINE=false
|
||||
|
||||
RUN if [ ${INSTALL_POWERLINE} = true ]; then \
|
||||
if [ ${INSTALL_PYTHON} = true ]; then \
|
||||
python -m pip install --upgrade powerline-status && \
|
||||
echo "" >> /etc/bash.bashrc && \
|
||||
echo ". /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh" >> /etc/bash.bashrc \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
USER laradock
|
||||
|
||||
###########################################################################
|
||||
# ImageMagick:
|
||||
###########################################################################
|
||||
@ -838,15 +948,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:
|
||||
###########################################################################
|
||||
@ -905,11 +1006,62 @@ RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
|
||||
apt-get -y install mysql-client \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# ping:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_PING=false
|
||||
|
||||
RUN if [ ${INSTALL_PING} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install inetutils-ping \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# sshpass:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_SSHPASS=false
|
||||
|
||||
RUN if [ ${INSTALL_SSHPASS} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install sshpass \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# FFMpeg:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_FFMPEG=false
|
||||
|
||||
RUN if [ ${INSTALL_FFMPEG} = true ]; then \
|
||||
apt-get -y install ffmpeg \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# GNU Parallel:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_GNU_PARALLEL=false
|
||||
|
||||
RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \
|
||||
apt-get -y install parallel \
|
||||
;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}."
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
|
8
workspace/auth.json
Normal file
8
workspace/auth.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"http-basic": {
|
||||
"repo.magento.com": {
|
||||
"username": "",
|
||||
"password": ""
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user