Compare commits
154 Commits
Author | SHA1 | Date | |
---|---|---|---|
5e9ae56a7f | |||
5d98e78dba | |||
c5d1116333 | |||
5594c53e03 | |||
44045f85e6 | |||
fc31a2415c | |||
a42f62c626 | |||
3e4a5edc64 | |||
9289c1b6c0 | |||
3f157a3277 | |||
f732bb283b | |||
ca4aeada08 | |||
3d54d68aa1 | |||
a0153810c6 | |||
4fe15ad5cf | |||
146f8ea6f4 | |||
9ab6d8fa15 | |||
f6d9ac6853 | |||
470994fc23 | |||
1b05dfd1e2 | |||
03bba8d2de | |||
b6c7746a0d | |||
e7baf3cfc3 | |||
f630970151 | |||
3070eac7b7 | |||
66723c0278 | |||
dbee864d44 | |||
739cc31f4c | |||
28130c5907 | |||
658d4e7532 | |||
5da4058613 | |||
2ed09f42ca | |||
6ee790c26d | |||
a1ade52cd6 | |||
05f4f371fe | |||
33e99ca9cf | |||
e913fd941e | |||
5286fd654a | |||
499342ea39 | |||
17442db357 | |||
4f7b0ec0c3 | |||
a0981aa836 | |||
6a3137fc27 | |||
4d5e3e5e4a | |||
aa7c52c42e | |||
6eed8199df | |||
c02f17417f | |||
91bae76527 | |||
891911ddc3 | |||
89fac4bdbe | |||
22a3bbc0b0 | |||
89a21ccf1b | |||
15892dba51 | |||
1fa1dc9a1c | |||
c4cd3ed2ac | |||
ffe45fed50 | |||
bd1f6ebd8a | |||
f35e5501db | |||
8d1ba2e802 | |||
c9415b12c0 | |||
8544de7ea1 | |||
62e0f0443c | |||
a2847316c4 | |||
9d212afc8c | |||
89a77bee24 | |||
fb26035e5c | |||
c7a76dd683 | |||
781f5ff972 | |||
5c0e55204e | |||
dd3ab5ade1 | |||
2e5d2a743c | |||
5635b47c6f | |||
56f422ade0 | |||
58d6d8e745 | |||
7ecb712e76 | |||
3abb6152c8 | |||
5221544b98 | |||
2396b4799c | |||
08fa1bc95c | |||
2415566230 | |||
5fea003ffe | |||
e9af2a4fb3 | |||
d0dea21cc5 | |||
942d1cfbed | |||
57ec81ed52 | |||
8d62070773 | |||
8933b827b3 | |||
6f435584a9 | |||
a1fd2aabcd | |||
3e2b413094 | |||
ec3ebb9701 | |||
cfc48b3791 | |||
3725ad4c46 | |||
a0b75bac46 | |||
489740848f | |||
b2aa38877b | |||
51703f00fc | |||
f1716a2767 | |||
5640bd963d | |||
8bb69beb84 | |||
76afeedc33 | |||
16b6223ba9 | |||
1b88c2c9d8 | |||
b254d4a9c9 | |||
2ed475f1ef | |||
3a5100097a | |||
15b3fe65c1 | |||
da6face95e | |||
a31cef6eb1 | |||
a005281f4f | |||
907c694834 | |||
8c392e94f2 | |||
d538274a0f | |||
beeea8dc0e | |||
53b0507eb2 | |||
a1a5b3d49f | |||
4f5dfbcb13 | |||
f275f88396 | |||
6cc58de67e | |||
b2da8aeb3f | |||
1345164ac3 | |||
a9ecdd0008 | |||
1dab0c48d8 | |||
91f1d4347c | |||
4013553dbb | |||
07e4bd174e | |||
7999399e9a | |||
d684cb4742 | |||
3c27c14b99 | |||
3473b788cf | |||
1a5c7a7b3f | |||
616e9c7d92 | |||
a3039958e3 | |||
b01bae59fc | |||
92dc3be3b1 | |||
650f6a89c6 | |||
041d134f69 | |||
79ff092105 | |||
ffce0f93d5 | |||
a2d154c30a | |||
59a22aedac | |||
b42ad1ae7e | |||
07d6ec85ca | |||
05e0e9c817 | |||
d441427852 | |||
9aa8813a3d | |||
58af86a582 | |||
1afad7f14c | |||
00d48fff51 | |||
9bd70aadc8 | |||
5210ca7ccf | |||
5ebb061b70 | |||
ad49981dd6 | |||
e135fbb970 |
25
README-zh.md
25
README-zh.md
@ -7,9 +7,7 @@
|
|||||||
LaraDock能够帮你在**Docker**上快速搭建**Laravel**应用。
|
LaraDock能够帮你在**Docker**上快速搭建**Laravel**应用。
|
||||||
<br>
|
<br>
|
||||||
就像Laravel Homestead一样,但是Docker替换了Vagrant。
|
就像Laravel Homestead一样,但是Docker替换了Vagrant。
|
||||||
>先在Docker上使用LaraDock,然后再学习它们。
|
> 先在使用 LaraDock,然后再学习它们。
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
## 目录
|
## 目录
|
||||||
@ -219,7 +217,7 @@ docker-compose up -d nginx mysql
|
|||||||
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `workspace`.
|
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `workspace`.
|
||||||
|
|
||||||
|
|
||||||
**说明**: `workspace` 和 `php-fpm` 将运行在大部分实例中, 所有不用在命令中 `up`加上它们.
|
**说明**: `workspace` 和 `php-fpm` 将运行在大部分实例中, 所以不需要在 `up` 命令中加上它们.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -471,13 +469,13 @@ composer create-project laravel/laravel my-cool-app "5.2.*"
|
|||||||
系统默认LaraDock假定Laravel应用在LaraDock的父级目录中
|
系统默认LaraDock假定Laravel应用在LaraDock的父级目录中
|
||||||
By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.
|
By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.
|
||||||
|
|
||||||
自新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www/laravel`替换 `../:/var/www/laravel` , 如下:
|
自新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
application:
|
application:
|
||||||
build: ./application
|
build: ./application
|
||||||
volumes:
|
volumes:
|
||||||
- ../my-cool-app/:/var/www/laravel
|
- ../my-cool-app/:/var/www
|
||||||
```
|
```
|
||||||
4 - 进入目录下继续工作..
|
4 - 进入目录下继续工作..
|
||||||
|
|
||||||
@ -957,21 +955,6 @@ Docker或Laravel的特别帮助,你可以在[Codementor.io](https://www.codeme
|
|||||||
|
|
||||||
- [Mahmoud Zalt](https://github.com/Mahmoudz) (Twitter [@Mahmoud_Zalt](https://twitter.com/Mahmoud_Zalt))
|
- [Mahmoud Zalt](https://github.com/Mahmoudz) (Twitter [@Mahmoud_Zalt](https://twitter.com/Mahmoud_Zalt))
|
||||||
|
|
||||||
**主要 贡献者:**
|
|
||||||
|
|
||||||
- [Zhqagp](https://github.com/zhqagp)
|
|
||||||
- [Suteepat (tianissimo)](https://github.com/tianissimo)
|
|
||||||
- [David (davidavz)](https://github.com/davidavz)
|
|
||||||
- [Lialosiu](https://github.com/lialosiu)
|
|
||||||
- [Eric Pfeiffer (computerfr33k)](https://github.com/computerfr33k)
|
|
||||||
- [Orette](https://github.com/orette)
|
|
||||||
- [Jack Fletcher (Kauhat)](https://github.com/Kauhat)
|
|
||||||
- [Bo-Yi Wu (appleboy)](https://github.com/appleboy)
|
|
||||||
- [Amin Mkh (AminMkh)](https://github.com/AminMkh)
|
|
||||||
- [Matthew Tonkin Dunn (mattythebatty)](https://github.com/mattythebatty)
|
|
||||||
- [Zhivitsa Kirill (zhikiri)](https://github.com/zhikiri)
|
|
||||||
- [Benmag](https://github.com/benmag)
|
|
||||||
|
|
||||||
**优秀的人:**
|
**优秀的人:**
|
||||||
|
|
||||||
- [Contributors](https://github.com/LaraDock/laradock/graphs/contributors)
|
- [Contributors](https://github.com/LaraDock/laradock/graphs/contributors)
|
||||||
|
@ -58,10 +58,10 @@ docker-compose exec workspace bash
|
|||||||
#### Install laravel Dependencies, Add .env , generate Key and give proper permission certain folder
|
#### Install laravel Dependencies, Add .env , generate Key and give proper permission certain folder
|
||||||
|
|
||||||
```
|
```
|
||||||
$ root@0e77851d27d3:/var/www/laravel# composer install
|
$ root@0e77851d27d3:/var/www# composer install
|
||||||
$ root@0e77851d27d3:/var/www/laravel# cp .env.example .env
|
$ root@0e77851d27d3:/var/www# cp .env.example .env
|
||||||
$ root@0e77851d27d3:/var/www/laravel# php artisan key:generate
|
$ root@0e77851d27d3:/var/www# php artisan key:generate
|
||||||
$ root@0e77851d27d3:/var/www/laravel# exit
|
$ root@0e77851d27d3:/var/www# exit
|
||||||
$root@midascode:~/laravel/laradock# cd ..
|
$root@midascode:~/laravel/laradock# cd ..
|
||||||
$root@midascode:~/laravel# sudo chmod -R 777 storage bootstrap/cache
|
$root@midascode:~/laravel# sudo chmod -R 777 storage bootstrap/cache
|
||||||
```
|
```
|
||||||
@ -141,13 +141,13 @@ Remove 0.0.0.0:80
|
|||||||
|
|
||||||
```
|
```
|
||||||
0.0.0.0:80
|
0.0.0.0:80
|
||||||
root /var/www/laravel/public
|
root /var/www/public
|
||||||
```
|
```
|
||||||
and replace with your https://yourdomain.com
|
and replace with your https://yourdomain.com
|
||||||
|
|
||||||
```
|
```
|
||||||
https://yourdomain.com
|
https://yourdomain.com
|
||||||
root /var/www/laravel/public
|
root /var/www/public
|
||||||
```
|
```
|
||||||
uncomment tls
|
uncomment tls
|
||||||
|
|
||||||
|
7
aerospike/Dockerfile
Normal file
7
aerospike/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM aerospike:latest
|
||||||
|
|
||||||
|
MAINTAINER Luciano Jr <luciano@lucianojr.com.br>
|
||||||
|
|
||||||
|
RUN rm /etc/aerospike/aerospike.conf
|
||||||
|
|
||||||
|
ADD aerospike.conf /etc/aerospike/aerospike.conf
|
77
aerospike/aerospike.conf
Normal file
77
aerospike/aerospike.conf
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# 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.
|
||||||
|
}
|
||||||
|
}
|
@ -2,15 +2,15 @@ FROM webdevops/apache:ubuntu-16.04
|
|||||||
|
|
||||||
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
|
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
|
||||||
|
|
||||||
ARG PHP_SOCKET="php-fpm:9000"
|
ARG PHP_SOCKET=php-fpm:9000
|
||||||
|
|
||||||
ENV WEB_PHP_SOCKET=$PHP_SOCKET
|
ENV WEB_PHP_SOCKET=$PHP_SOCKET
|
||||||
|
|
||||||
ENV WEB_DOCUMENT_ROOT=/var/www/laravel/public
|
ENV WEB_DOCUMENT_ROOT=/var/www/public
|
||||||
|
|
||||||
EXPOSE 80 443
|
EXPOSE 80 443
|
||||||
|
|
||||||
WORKDIR /var/www/laravel/public
|
WORKDIR /var/www/public
|
||||||
|
|
||||||
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
|
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Docs: https://caddyserver.com/docs/caddyfile
|
# Docs: https://caddyserver.com/docs/caddyfile
|
||||||
0.0.0.0:80
|
0.0.0.0:80
|
||||||
root /var/www/laravel/public
|
root /var/www/public
|
||||||
fastcgi / php-fpm:9000 php {
|
fastcgi / php-fpm:9000 php {
|
||||||
index index.php
|
index index.php
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ FROM alpine:3.4
|
|||||||
|
|
||||||
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
|
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
|
||||||
|
|
||||||
ENV caddy_version=0.9.1
|
ENV caddy_version=0.9.3
|
||||||
|
|
||||||
LABEL caddy_version="$caddy_version" architecture="amd64"
|
LABEL caddy_version="$caddy_version" architecture="amd64"
|
||||||
|
|
||||||
@ -19,6 +19,6 @@ RUN curl --silent --show-error --fail --location \
|
|||||||
|
|
||||||
EXPOSE 80 443 2015
|
EXPOSE 80 443 2015
|
||||||
|
|
||||||
WORKDIR /var/www/laravel/public
|
WORKDIR /var/www/public
|
||||||
|
|
||||||
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile"]
|
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile"]
|
||||||
|
@ -2,6 +2,14 @@ version: '2'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
### Applications Code Container #############################
|
||||||
|
|
||||||
|
applications:
|
||||||
|
image: tianon/true
|
||||||
|
volumes:
|
||||||
|
- ../:/var/www
|
||||||
|
# - ../sample/:/var/www/sample
|
||||||
|
|
||||||
### Workspace Utilities Container ###########################
|
### Workspace Utilities Container ###########################
|
||||||
|
|
||||||
workspace:
|
workspace:
|
||||||
@ -11,19 +19,22 @@ services:
|
|||||||
- INSTALL_XDEBUG=false
|
- INSTALL_XDEBUG=false
|
||||||
- INSTALL_MONGO=false
|
- INSTALL_MONGO=false
|
||||||
- INSTALL_NODE=false
|
- INSTALL_NODE=false
|
||||||
|
- INSTALL_YARN=false
|
||||||
- INSTALL_DRUSH=false
|
- INSTALL_DRUSH=false
|
||||||
|
- INSTALL_AEROSPIKE_EXTENSION=false
|
||||||
- COMPOSER_GLOBAL_INSTALL=false
|
- COMPOSER_GLOBAL_INSTALL=false
|
||||||
- INSTALL_WORKSPACE_SSH=false
|
- INSTALL_WORKSPACE_SSH=false
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- NODE_VERSION=stable
|
- NODE_VERSION=stable
|
||||||
|
- TZ=UTC
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- applications
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
|
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
|
||||||
- "dockerhost:10.0.75.1"
|
- "dockerhost:10.0.75.1"
|
||||||
ports:
|
ports:
|
||||||
- "22:22"
|
- "2222:22"
|
||||||
tty: true
|
tty: true
|
||||||
|
|
||||||
### PHP-FPM Container #######################################
|
### PHP-FPM Container #######################################
|
||||||
@ -37,9 +48,11 @@ services:
|
|||||||
- INSTALL_ZIP_ARCHIVE=false
|
- INSTALL_ZIP_ARCHIVE=false
|
||||||
- INSTALL_MEMCACHED=false
|
- INSTALL_MEMCACHED=false
|
||||||
- INSTALL_OPCACHE=false
|
- INSTALL_OPCACHE=false
|
||||||
|
- INSTALL_AEROSPIKE_EXTENSION=false
|
||||||
|
- CODEIGNITER=false
|
||||||
dockerfile: Dockerfile-70
|
dockerfile: Dockerfile-70
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- applications
|
||||||
expose:
|
expose:
|
||||||
- "9000"
|
- "9000"
|
||||||
links:
|
links:
|
||||||
@ -49,7 +62,7 @@ services:
|
|||||||
- "dockerhost:10.0.75.1"
|
- "dockerhost:10.0.75.1"
|
||||||
environment:
|
environment:
|
||||||
# IMPORTANT: Set the Remote Interpreter entry matching name to `laravel`
|
# IMPORTANT: Set the Remote Interpreter entry matching name to `laravel`
|
||||||
- PHP_IDE_CONFIG="serverName=laravel"
|
- PHP_IDE_CONFIG=serverName=laravel
|
||||||
|
|
||||||
### Nginx Server Container ##################################
|
### Nginx Server Container ##################################
|
||||||
|
|
||||||
@ -59,7 +72,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
- PHP_UPSTREAM=php-fpm
|
- PHP_UPSTREAM=php-fpm
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- applications
|
||||||
volumes:
|
volumes:
|
||||||
- ./logs/nginx/:/var/log/nginx
|
- ./logs/nginx/:/var/log/nginx
|
||||||
ports:
|
ports:
|
||||||
@ -68,15 +81,15 @@ services:
|
|||||||
links:
|
links:
|
||||||
- php-fpm
|
- php-fpm
|
||||||
|
|
||||||
### Apache Server Container ##################################
|
### Apache Server Container #################################
|
||||||
|
|
||||||
apache2:
|
apache2:
|
||||||
build:
|
build:
|
||||||
context: ./apache2
|
context: ./apache2
|
||||||
args:
|
args:
|
||||||
- PHP_SOCKET="php-fpm:9000"
|
- PHP_SOCKET=php-fpm:9000
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- applications
|
||||||
volumes:
|
volumes:
|
||||||
- ./logs/apache2:/var/log/apache2
|
- ./logs/apache2:/var/log/apache2
|
||||||
ports:
|
ports:
|
||||||
@ -90,7 +103,7 @@ services:
|
|||||||
hhvm:
|
hhvm:
|
||||||
build: ./hhvm
|
build: ./hhvm
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- applications
|
||||||
expose:
|
expose:
|
||||||
- "9000"
|
- "9000"
|
||||||
links:
|
links:
|
||||||
@ -100,8 +113,22 @@ services:
|
|||||||
|
|
||||||
mysql:
|
mysql:
|
||||||
build: ./mysql
|
build: ./mysql
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- mysql:/var/lib/mysql
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: homestead
|
||||||
|
MYSQL_USER: homestead
|
||||||
|
MYSQL_PASSWORD: secret
|
||||||
|
MYSQL_ROOT_PASSWORD: root
|
||||||
|
|
||||||
|
### MariaDB Container #######################################
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
build: ./mariadb
|
||||||
|
volumes:
|
||||||
|
- mysql:/var/lib/mysql
|
||||||
ports:
|
ports:
|
||||||
- "3306:3306"
|
- "3306:3306"
|
||||||
environment:
|
environment:
|
||||||
@ -114,8 +141,8 @@ services:
|
|||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
build: ./postgres
|
build: ./postgres
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- postgres:/var/lib/postgresql/data
|
||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- "5432:5432"
|
||||||
environment:
|
environment:
|
||||||
@ -123,19 +150,18 @@ services:
|
|||||||
POSTGRES_USER: homestead
|
POSTGRES_USER: homestead
|
||||||
POSTGRES_PASSWORD: secret
|
POSTGRES_PASSWORD: secret
|
||||||
|
|
||||||
### MariaDB Container #######################################
|
### PostgreSQL PostGis Container ############################
|
||||||
|
|
||||||
mariadb:
|
postgres-postgis:
|
||||||
build: ./mariadb
|
build: ./postgres-postgis
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- postgres:/var/lib/postgresql/data
|
||||||
ports:
|
ports:
|
||||||
- "3306:3306"
|
- "5432:5432"
|
||||||
environment:
|
environment:
|
||||||
MYSQL_DATABASE: homestead
|
POSTGRES_DB: homestead
|
||||||
MYSQL_USER: homestead
|
POSTGRES_USER: homestead
|
||||||
MYSQL_PASSWORD: secret
|
POSTGRES_PASSWORD: secret
|
||||||
MYSQL_ROOT_PASSWORD: root
|
|
||||||
|
|
||||||
### Neo4j Container #########################################
|
### Neo4j Container #########################################
|
||||||
|
|
||||||
@ -146,8 +172,8 @@ services:
|
|||||||
- "1337:1337"
|
- "1337:1337"
|
||||||
environment:
|
environment:
|
||||||
- NEO4J_AUTH=homestead:secret
|
- NEO4J_AUTH=homestead:secret
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- neo4j:/var/lib/neo4j/data
|
||||||
|
|
||||||
### MongoDB Container #######################################
|
### MongoDB Container #######################################
|
||||||
|
|
||||||
@ -155,24 +181,39 @@ services:
|
|||||||
build: ./mongo
|
build: ./mongo
|
||||||
ports:
|
ports:
|
||||||
- "27017:27017"
|
- "27017:27017"
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- mongo:/data/db
|
||||||
|
|
||||||
### Redis Container #########################################
|
### Redis Container #########################################
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
build: ./redis
|
build: ./redis
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- redis:/data
|
||||||
ports:
|
ports:
|
||||||
- "6379:6379"
|
- "6379:6379"
|
||||||
|
|
||||||
|
### Aerospike c Container ###################################
|
||||||
|
|
||||||
|
aerospike:
|
||||||
|
build: ./aerospike
|
||||||
|
volumes_from:
|
||||||
|
- workspace
|
||||||
|
volumes:
|
||||||
|
- aerospike:/opt/aerospike/data
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "3001:3001"
|
||||||
|
- "3002:3002"
|
||||||
|
- "3003:3003"
|
||||||
|
|
||||||
|
|
||||||
### Memcached Container #####################################
|
### Memcached Container #####################################
|
||||||
|
|
||||||
memcached:
|
memcached:
|
||||||
build: ./memcached
|
build: ./memcached
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- memcached:/var/lib/memcached
|
||||||
ports:
|
ports:
|
||||||
- "11211:11211"
|
- "11211:11211"
|
||||||
links:
|
links:
|
||||||
@ -188,7 +229,7 @@ services:
|
|||||||
links:
|
links:
|
||||||
- php-fpm
|
- php-fpm
|
||||||
|
|
||||||
### RabbitMQ Container ####################################
|
### RabbitMQ Container ######################################
|
||||||
|
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
build: ./rabbitmq
|
build: ./rabbitmq
|
||||||
@ -217,7 +258,9 @@ services:
|
|||||||
caddy:
|
caddy:
|
||||||
build: ./caddy
|
build: ./caddy
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- applications
|
||||||
|
volumes:
|
||||||
|
- caddy:/root/.caddy
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
@ -228,7 +271,7 @@ services:
|
|||||||
links:
|
links:
|
||||||
- php-fpm
|
- php-fpm
|
||||||
|
|
||||||
### phpMyAdmin Container ##################################
|
### phpMyAdmin Container ####################################
|
||||||
|
|
||||||
phpmyadmin:
|
phpmyadmin:
|
||||||
build: ./phpmyadmin
|
build: ./phpmyadmin
|
||||||
@ -237,8 +280,8 @@ services:
|
|||||||
MYSQL_USER: homestead
|
MYSQL_USER: homestead
|
||||||
MYSQL_PASSWORD: secret
|
MYSQL_PASSWORD: secret
|
||||||
MYSQL_ROOT_PASSWORD: root
|
MYSQL_ROOT_PASSWORD: root
|
||||||
volumes_from:
|
volumes:
|
||||||
- volumes_data
|
- phpmyadmin
|
||||||
ports:
|
ports:
|
||||||
- "8080:80"
|
- "8080:80"
|
||||||
links:
|
links:
|
||||||
@ -247,27 +290,54 @@ services:
|
|||||||
# for mariadb container
|
# for mariadb container
|
||||||
# - "mariadb:db"
|
# - "mariadb:db"
|
||||||
|
|
||||||
### Laravel Application Code Container ######################
|
### pgAdmin Container #######################################
|
||||||
|
|
||||||
volumes_source:
|
pgadmin:
|
||||||
image: tianon/true
|
build: ./pgadmin
|
||||||
|
ports:
|
||||||
|
- "5050:5050"
|
||||||
|
links:
|
||||||
|
- postgres
|
||||||
|
|
||||||
|
### ElasticSearch Container #################################
|
||||||
|
|
||||||
|
elasticsearch:
|
||||||
|
build: ./elasticsearch
|
||||||
volumes:
|
volumes:
|
||||||
- ../:/var/www/laravel
|
- elasticsearch-data:/usr/share/elasticsearch/data
|
||||||
# Demonstration of how to mount multiple sites
|
- elasticsearch-pkugins:/usr/share/elasticsearch/data
|
||||||
# - ../../site_a/:/var/www/site_a
|
ports:
|
||||||
# - ../../site_b/:/var/www/site_b
|
- "9200:9200"
|
||||||
|
- "9300:9300"
|
||||||
|
links:
|
||||||
|
- php-fpm
|
||||||
|
|
||||||
### Databases Data Container ################################
|
### Volumes Setup ###########################################
|
||||||
|
|
||||||
volumes_data:
|
volumes:
|
||||||
image: tianon/true
|
mysql:
|
||||||
volumes:
|
driver: "local"
|
||||||
- ./data/mysql:/var/lib/mysql
|
postgres:
|
||||||
- ./data/postgres:/var/lib/postgres
|
driver: "local"
|
||||||
- ./data/memcached:/var/lib/memcached
|
memcached:
|
||||||
- ./data/redis:/data
|
driver: "local"
|
||||||
- ./data/neo4j:/var/lib/neo4j/data
|
redis:
|
||||||
- ./data/mongo:/data/db
|
driver: "local"
|
||||||
- ./data/sessions:/sessions
|
neo4j:
|
||||||
|
driver: "local"
|
||||||
### Add more Containers below ###############################
|
mariadb:
|
||||||
|
driver: "local"
|
||||||
|
mongo:
|
||||||
|
driver: "local"
|
||||||
|
phpmyadmin:
|
||||||
|
driver: "local"
|
||||||
|
aerospike:
|
||||||
|
driver: "local"
|
||||||
|
caddy:
|
||||||
|
driver: "local"
|
||||||
|
elasticsearch-data:
|
||||||
|
driver: "local"
|
||||||
|
elasticsearch-pkugins:
|
||||||
|
driver: "local"
|
||||||
|
sessions: ## nothing is connected to this (- ./data/sessions:/sessions)
|
||||||
|
driver: "local"
|
||||||
|
5
elasticsearch/Dockerfile
Normal file
5
elasticsearch/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM elasticsearch:latest
|
||||||
|
|
||||||
|
MAINTAINER Bo-Yi Wu <appleboy.tw@gmail.com>
|
||||||
|
|
||||||
|
EXPOSE 9200 9300
|
@ -10,13 +10,13 @@ RUN apt-get update -y \
|
|||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN mkdir -p /var/www/laravel
|
RUN mkdir -p /var/www
|
||||||
|
|
||||||
ADD server.ini /etc/hhvm/server.ini
|
ADD server.ini /etc/hhvm/server.ini
|
||||||
|
|
||||||
RUN usermod -u 1000 www-data
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
WORKDIR /var/www/laravel
|
WORKDIR /var/www
|
||||||
|
|
||||||
CMD ["/usr/bin/hhvm", "-m", "server", "-c", "/etc/hhvm/server.ini"]
|
CMD ["/usr/bin/hhvm", "-m", "server", "-c", "/etc/hhvm/server.ini"]
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ hhvm.log.level = Error
|
|||||||
hhvm.log.header = true
|
hhvm.log.header = true
|
||||||
hhvm.log.access[default][file] = /var/log/hhvm/access.log
|
hhvm.log.access[default][file] = /var/log/hhvm/access.log
|
||||||
hhvm.log.access[default][format] = "%h %l %u %t \"%r\" %>s %b"
|
hhvm.log.access[default][format] = "%h %l %u %t \"%r\" %>s %b"
|
||||||
hhvm.server.source_root=/var/www/laravel/public
|
hhvm.server.source_root=/var/www/public
|
||||||
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
|
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
|
||||||
|
|
||||||
; Uncomment to log to files instead of STDOUT
|
; Uncomment to log to files instead of STDOUT
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
FROM mysql:latest
|
FROM mysql:5.6
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
|
ADD my.cnf /etc/mysql/conf.d/my.cnf
|
||||||
|
|
||||||
CMD ["mysqld"]
|
CMD ["mysqld"]
|
||||||
|
|
||||||
EXPOSE 3306
|
EXPOSE 3306
|
||||||
|
6
mysql/my.cnf
Normal file
6
mysql/my.cnf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# The MySQL Client configuration file.
|
||||||
|
#
|
||||||
|
# For explanations see
|
||||||
|
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
|
||||||
|
|
||||||
|
[mysql]
|
@ -26,4 +26,5 @@ http {
|
|||||||
include /etc/nginx/conf.d/*.conf;
|
include /etc/nginx/conf.d/*.conf;
|
||||||
include /etc/nginx/sites-available/*;
|
include /etc/nginx/sites-available/*;
|
||||||
open_file_cache max=100;
|
open_file_cache max=100;
|
||||||
|
charset UTF-8;
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@ server {
|
|||||||
listen 80 default_server;
|
listen 80 default_server;
|
||||||
listen [::]:80 default_server ipv6only=on;
|
listen [::]:80 default_server ipv6only=on;
|
||||||
|
|
||||||
server_name laravel;
|
server_name laradock;
|
||||||
root /var/www/laravel/public;
|
root /var/www/public;
|
||||||
index index.php index.html index.htm;
|
index index.php index.html index.htm;
|
||||||
|
|
||||||
location / {
|
location / {
|
@ -1,57 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
|
|
||||||
#domain name
|
|
||||||
server_name drupal8.dev;
|
|
||||||
|
|
||||||
#file document root. This has to match one of the volumes in docer-composer.yml
|
|
||||||
root /var/www/drupal8;
|
|
||||||
|
|
||||||
# This is the full path to your index file
|
|
||||||
index index.php index.html index.htm;
|
|
||||||
|
|
||||||
## serve imagecache files directly or redirect to drupal if they do not exist.
|
|
||||||
location ~* files/styles {
|
|
||||||
access_log off;
|
|
||||||
expires 30d;
|
|
||||||
try_files $uri @drupal;
|
|
||||||
}
|
|
||||||
|
|
||||||
## serve imagecache files directly or redirect to drupal if they do not exist.
|
|
||||||
location ~* ^.+.(xsl|xml)$ {
|
|
||||||
access_log off;
|
|
||||||
expires 1d;
|
|
||||||
try_files $uri @drupal;
|
|
||||||
}
|
|
||||||
|
|
||||||
## Images and static content is treated different
|
|
||||||
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
|
|
||||||
access_log off;
|
|
||||||
expires 30d;
|
|
||||||
}
|
|
||||||
|
|
||||||
location / {
|
|
||||||
index index.php;
|
|
||||||
# This is cool because no php is touched for static content
|
|
||||||
try_files $uri $uri/ @rewrite;
|
|
||||||
expires max;
|
|
||||||
}
|
|
||||||
|
|
||||||
location @drupal {
|
|
||||||
rewrite ^/(.*)$ /index.php?q=$1 last;
|
|
||||||
}
|
|
||||||
|
|
||||||
location @rewrite {
|
|
||||||
# Some modules enforce no slash (/) at the end of the URL
|
|
||||||
# Else this rewrite block wouldn't be needed (GlobalRedirect)
|
|
||||||
rewrite ^/(.*)$ /index.php?q=$1;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ .php$ {
|
|
||||||
fastcgi_pass php-upstream;
|
|
||||||
fastcgi_index index.php;
|
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
||||||
include fastcgi_params;
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,8 +3,8 @@ server {
|
|||||||
listen 80;
|
listen 80;
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
|
|
||||||
server_name site_a;
|
server_name sample.dev;
|
||||||
root /var/www/site_a/public;
|
root /var/www/sample/public;
|
||||||
index index.php index.html index.htm;
|
index index.php index.html index.htm;
|
||||||
|
|
||||||
location / {
|
location / {
|
@ -1,28 +0,0 @@
|
|||||||
server {
|
|
||||||
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
|
|
||||||
server_name site_b;
|
|
||||||
root /var/www/site_b/public;
|
|
||||||
index index.php index.html index.htm;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ /index.php$is_args$args;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ \.php$ {
|
|
||||||
try_files $uri /index.php =404;
|
|
||||||
fastcgi_pass php-upstream;
|
|
||||||
fastcgi_index index.php;
|
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
||||||
include fastcgi_params;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /\.ht {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
5
pgadmin/Dockerfile
Normal file
5
pgadmin/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM fenglc/pgadmin4
|
||||||
|
|
||||||
|
MAINTAINER Bo-Yi Wu <appleboy.tw@gmail.com>
|
||||||
|
|
||||||
|
EXPOSE 5050
|
@ -40,7 +40,7 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
|||||||
# xDebug:
|
# xDebug:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_XDEBUG=true
|
ARG INSTALL_XDEBUG=false
|
||||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||||
# Install the xdebug extension
|
# Install the xdebug extension
|
||||||
pecl install xdebug && \
|
pecl install xdebug && \
|
||||||
@ -54,7 +54,7 @@ COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
|||||||
# MongoDB:
|
# MongoDB:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_MONGO=true
|
ARG INSTALL_MONGO=false
|
||||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||||
# Install the mongodb extension
|
# Install the mongodb extension
|
||||||
pecl install mongodb && \
|
pecl install mongodb && \
|
||||||
@ -65,7 +65,7 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
|
|||||||
# ZipArchive:
|
# ZipArchive:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_ZIP_ARCHIVE=true
|
ARG INSTALL_ZIP_ARCHIVE=false
|
||||||
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
||||||
# Install the zip extension
|
# Install the zip extension
|
||||||
pecl install zip && \
|
pecl install zip && \
|
||||||
@ -76,22 +76,59 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
|||||||
# PHP Memcached:
|
# PHP Memcached:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_MEMCACHED=true
|
ARG INSTALL_MEMCACHED=false
|
||||||
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||||
# Install the php memcached extension
|
# Install the php memcached extension
|
||||||
pecl install memcached && \
|
pecl install memcached && \
|
||||||
docker-php-ext-enable memcached \
|
docker-php-ext-enable memcached \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# PHP Aerospike:
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
ARG INSTALL_AEROSPIKE_EXTENSION=false
|
||||||
|
ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION}
|
||||||
|
# Copy aerospike configration for remote debugging
|
||||||
|
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
|
||||||
|
RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \
|
||||||
|
# Install the php aerospike extension
|
||||||
|
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/master.tar.gz" \
|
||||||
|
&& mkdir -p aerospike-client-php \
|
||||||
|
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
|
||||||
|
&& ( \
|
||||||
|
cd aerospike-client-php/src/aerospike \
|
||||||
|
&& phpize \
|
||||||
|
&& ./build.sh \
|
||||||
|
&& make install \
|
||||||
|
) \
|
||||||
|
&& rm /tmp/aerospike-client-php.tar.gz \
|
||||||
|
;fi
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# Opcache:
|
# Opcache:
|
||||||
#####################################
|
#####################################
|
||||||
ARG INSTALL_OPCACHE=true
|
|
||||||
|
ARG INSTALL_OPCACHE=false
|
||||||
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||||
docker-php-ext-install opcache && \
|
docker-php-ext-install opcache && \
|
||||||
docker-php-ext-enable opcache \
|
docker-php-ext-enable opcache \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
# Copy opcache configration
|
||||||
|
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Codeigniter Modifications:
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
ARG CODEIGNITER=false
|
||||||
|
RUN if [ ${CODEIGNITER} = true ]; then \
|
||||||
|
# Install Codeigniter PHP extentions requirements
|
||||||
|
docker-php-ext-install mysqli && \
|
||||||
|
docker-php-ext-install tokenizer \
|
||||||
|
;fi
|
||||||
|
|
||||||
#
|
#
|
||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
# Final Touch
|
# Final Touch
|
||||||
@ -105,7 +142,7 @@ RUN rm -r /var/lib/apt/lists/*
|
|||||||
|
|
||||||
RUN usermod -u 1000 www-data
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
WORKDIR /var/www/laravel
|
WORKDIR /var/www
|
||||||
|
|
||||||
CMD ["php-fpm"]
|
CMD ["php-fpm"]
|
||||||
|
|
||||||
|
@ -34,13 +34,14 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
|||||||
# in the `docker-compose.yml` before the build.
|
# in the `docker-compose.yml` before the build.
|
||||||
# Example:
|
# Example:
|
||||||
# - INSTALL_ZIP_ARCHIVE=true
|
# - INSTALL_ZIP_ARCHIVE=true
|
||||||
|
# - ...
|
||||||
#
|
#
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# xDebug:
|
# xDebug:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_XDEBUG=true
|
ARG INSTALL_XDEBUG=false
|
||||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||||
# Install the xdebug extension
|
# Install the xdebug extension
|
||||||
pecl install xdebug && \
|
pecl install xdebug && \
|
||||||
@ -54,7 +55,7 @@ COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
|||||||
# MongoDB:
|
# MongoDB:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_MONGO=true
|
ARG INSTALL_MONGO=false
|
||||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||||
# Install the mongodb extension
|
# Install the mongodb extension
|
||||||
pecl install mongodb && \
|
pecl install mongodb && \
|
||||||
@ -65,7 +66,7 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
|
|||||||
# ZipArchive:
|
# ZipArchive:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_ZIP_ARCHIVE=true
|
ARG INSTALL_ZIP_ARCHIVE=false
|
||||||
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
||||||
# Install the zip extension
|
# Install the zip extension
|
||||||
pecl install zip && \
|
pecl install zip && \
|
||||||
@ -76,7 +77,7 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
|||||||
# PHP Memcached:
|
# PHP Memcached:
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
ARG INSTALL_MEMCACHED=true
|
ARG INSTALL_MEMCACHED=false
|
||||||
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||||
# Install the php memcached extension
|
# Install the php memcached extension
|
||||||
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
|
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
|
||||||
@ -94,16 +95,50 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
|||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# PHP Aerospike:
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
ARG INSTALL_AEROSPIKE_EXTENSION=false
|
||||||
|
ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION}
|
||||||
|
# Copy aerospike configration for remote debugging
|
||||||
|
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
|
||||||
|
RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \
|
||||||
|
# Install the php aerospike extension
|
||||||
|
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/master.tar.gz" \
|
||||||
|
&& mkdir -p aerospike-client-php \
|
||||||
|
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
|
||||||
|
&& ( \
|
||||||
|
cd aerospike-client-php/src/aerospike \
|
||||||
|
&& phpize \
|
||||||
|
&& ./build.sh \
|
||||||
|
&& make install \
|
||||||
|
) \
|
||||||
|
&& rm /tmp/aerospike-client-php.tar.gz \
|
||||||
|
;fi
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# Opcache:
|
# Opcache:
|
||||||
#####################################
|
#####################################
|
||||||
ARG INSTALL_OPCACHE=true
|
ARG INSTALL_OPCACHE=false
|
||||||
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||||
docker-php-ext-install opcache && \
|
docker-php-ext-install opcache && \
|
||||||
docker-php-ext-enable opcache \
|
docker-php-ext-enable opcache \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
# Copy opcache configration
|
||||||
|
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Codeigniter Modifications:
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
ARG CODEIGNITER=false
|
||||||
|
RUN if [ ${CODEIGNITER} = true ]; then \
|
||||||
|
# Install Codeigniter PHP extentions requirements
|
||||||
|
docker-php-ext-install mysqli && \
|
||||||
|
docker-php-ext-install tokenizer \
|
||||||
|
;fi
|
||||||
|
|
||||||
#
|
#
|
||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
@ -118,7 +153,7 @@ RUN rm -r /var/lib/apt/lists/*
|
|||||||
|
|
||||||
RUN usermod -u 1000 www-data
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
WORKDIR /var/www/laravel
|
WORKDIR /var/www
|
||||||
|
|
||||||
CMD ["php-fpm"]
|
CMD ["php-fpm"]
|
||||||
|
|
||||||
|
3
php-fpm/aerospike.ini
Normal file
3
php-fpm/aerospike.ini
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
extension=aerospike.so
|
||||||
|
aerospike.udf.lua_system_path=/usr/local/aerospike/lua
|
||||||
|
aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua
|
7
php-fpm/opcache.ini
Normal file
7
php-fpm/opcache.ini
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
extension=opcache.so
|
||||||
|
opcache.enable="1"
|
||||||
|
opcache.memory_consumption="256"
|
||||||
|
opcache.use_cwd="0"
|
||||||
|
opcache.fast_shutdown="1"
|
||||||
|
opcache.max_file_size="0"
|
||||||
|
opcache.validate_timestamps="0"
|
@ -1,9 +1,10 @@
|
|||||||
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
||||||
|
|
||||||
xdebug.remote_autostart=1
|
xdebug.remote_autostart=0
|
||||||
xdebug.remote_enable=1
|
xdebug.remote_enable=0
|
||||||
xdebug.remote_connect_back=1
|
xdebug.remote_connect_back=0
|
||||||
xdebug.cli_color=1
|
xdebug.cli_color=0
|
||||||
|
xdebug.profiler_enable=0
|
||||||
xdebug.remote_handler=dbgp
|
xdebug.remote_handler=dbgp
|
||||||
xdebug.remote_mode=req
|
xdebug.remote_mode=req
|
||||||
|
|
||||||
|
5
postgres-postgis/Dockerfile
Normal file
5
postgres-postgis/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM mdillon/postgis:latest
|
||||||
|
|
||||||
|
CMD ["postgres"]
|
||||||
|
|
||||||
|
EXPOSE 5432
|
62
production-docker-compose.yml
Normal file
62
production-docker-compose.yml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
### Workspace Utilities Container ###########################
|
||||||
|
|
||||||
|
workspace:
|
||||||
|
build:
|
||||||
|
context: ./workspace
|
||||||
|
args:
|
||||||
|
- INSTALL_XDEBUG=false
|
||||||
|
- INSTALL_MONGO=false
|
||||||
|
- INSTALL_NODE=false
|
||||||
|
- INSTALL_YARN=false
|
||||||
|
- INSTALL_DRUSH=false
|
||||||
|
- INSTALL_AEROSPIKE_EXTENSION=false
|
||||||
|
- COMPOSER_GLOBAL_INSTALL=false
|
||||||
|
- INSTALL_WORKSPACE_SSH=false
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- NODE_VERSION=stable
|
||||||
|
volumes_from:
|
||||||
|
- volumes_source
|
||||||
|
ports:
|
||||||
|
- "22:22"
|
||||||
|
tty: true
|
||||||
|
|
||||||
|
### PHP-FPM Container #######################################
|
||||||
|
|
||||||
|
php-fpm:
|
||||||
|
build:
|
||||||
|
context: ./php-fpm
|
||||||
|
args:
|
||||||
|
- INSTALL_XDEBUG=false
|
||||||
|
- INSTALL_MONGO=false
|
||||||
|
- INSTALL_ZIP_ARCHIVE=false
|
||||||
|
- INSTALL_MEMCACHED=false
|
||||||
|
- INSTALL_OPCACHE=false
|
||||||
|
- INSTALL_AEROSPIKE_EXTENSION=false
|
||||||
|
dockerfile: Dockerfile-70
|
||||||
|
volumes_from:
|
||||||
|
- volumes_source
|
||||||
|
expose:
|
||||||
|
- "9000"
|
||||||
|
links:
|
||||||
|
- workspace
|
||||||
|
|
||||||
|
### Application Code Container ######################
|
||||||
|
|
||||||
|
volumes_source:
|
||||||
|
image: tianon/true
|
||||||
|
volumes:
|
||||||
|
- ../:/var/www
|
||||||
|
|
||||||
|
### Databases Data Container ################################
|
||||||
|
|
||||||
|
volumes_data:
|
||||||
|
image: tianon/true
|
||||||
|
volumes:
|
||||||
|
# - ./data/mysql:/var/lib/mysql
|
||||||
|
|
||||||
|
### Add All your Software Containers below ###############################
|
@ -1,10 +1,3 @@
|
|||||||
#
|
|
||||||
# RabbitMQ Dockerfile
|
|
||||||
#
|
|
||||||
# https://github.com/dockerfile/rabbitmq
|
|
||||||
#
|
|
||||||
|
|
||||||
# Pull base image.
|
|
||||||
FROM rabbitmq
|
FROM rabbitmq
|
||||||
|
|
||||||
RUN rabbitmq-plugins enable --offline rabbitmq_management
|
RUN rabbitmq-plugins enable --offline rabbitmq_management
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# https://hub.docker.com/r/laradock/workspace/tags/
|
# https://hub.docker.com/r/laradock/workspace/tags/
|
||||||
#
|
#
|
||||||
|
|
||||||
FROM laradock/workspace:1.1
|
FROM laradock/workspace:1.2
|
||||||
|
|
||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
@ -32,64 +32,10 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
|||||||
#
|
#
|
||||||
# Optional Software's will only be installed if you set them to `true`
|
# Optional Software's will only be installed if you set them to `true`
|
||||||
# in the `docker-compose.yml` before the build.
|
# in the `docker-compose.yml` before the build.
|
||||||
|
# Example:
|
||||||
|
# - INSTALL_NODE=false
|
||||||
|
# - ...
|
||||||
#
|
#
|
||||||
# - INSTALL_XDEBUG= false
|
|
||||||
# - INSTALL_MONGO= false
|
|
||||||
# - COMPOSER_GLOBAL_INSTALL= false
|
|
||||||
# - INSTALL_NODE= false
|
|
||||||
# - INSTALL_DRUSH= false
|
|
||||||
#
|
|
||||||
|
|
||||||
#####################################
|
|
||||||
# xDebug:
|
|
||||||
#####################################
|
|
||||||
|
|
||||||
# Check if xDebug needs to be installed
|
|
||||||
ARG INSTALL_XDEBUG=true
|
|
||||||
ENV INSTALL_XDEBUG ${INSTALL_XDEBUG}
|
|
||||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
|
||||||
# Load the xdebug extension only with phpunit commands
|
|
||||||
apt-get install -y --force-yes php7.0-xdebug && \
|
|
||||||
sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini && \
|
|
||||||
echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/laravel/vendor/bin/phpunit'" >> ~/.bashrc \
|
|
||||||
;fi
|
|
||||||
# ADD for REMOTE debugging
|
|
||||||
COPY ./xdebug.ini /etc/php/7.0/cli/conf.d/xdebug.ini
|
|
||||||
|
|
||||||
|
|
||||||
#####################################
|
|
||||||
# ssh:
|
|
||||||
#####################################
|
|
||||||
|
|
||||||
# Check if ssh needs to be installed
|
|
||||||
# See: https://github.com/phusion/baseimage-docker#enabling_ssh
|
|
||||||
ADD insecure_id_rsa /tmp/id_rsa
|
|
||||||
ADD insecure_id_rsa.pub /tmp/id_rsa.pub
|
|
||||||
ARG INSTALL_WORKSPACE_SSH=true
|
|
||||||
ENV INSTALL_WORKSPACE_SSH ${INSTALL_WORKSPACE_SSH}
|
|
||||||
RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
|
|
||||||
rm -f /etc/service/sshd/down && \
|
|
||||||
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys \
|
|
||||||
&& cat /tmp/id_rsa.pub >> /root/.ssh/id_rsa.pub \
|
|
||||||
&& cat /tmp/id_rsa >> /root/.ssh/id_rsa \
|
|
||||||
&& rm -f /tmp/id_rsa* \
|
|
||||||
&& chmod 644 /root/.ssh/authorized_keys /root/.ssh/id_rsa.pub \
|
|
||||||
&& chmod 400 /root/.ssh/id_rsa \
|
|
||||||
;fi
|
|
||||||
|
|
||||||
|
|
||||||
#####################################
|
|
||||||
# MongoDB:
|
|
||||||
#####################################
|
|
||||||
|
|
||||||
# Check if Mongo needs to be installed
|
|
||||||
ARG INSTALL_MONGO=true
|
|
||||||
ENV INSTALL_MONGO ${INSTALL_MONGO}
|
|
||||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
|
||||||
# Install the mongodb extension
|
|
||||||
pecl install mongodb && \
|
|
||||||
echo "extension=mongodb.so" >> /etc/php/7.0/cli/php.ini \
|
|
||||||
;fi
|
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# Non-Root User:
|
# Non-Root User:
|
||||||
@ -101,6 +47,14 @@ ARG PGID=1000
|
|||||||
RUN groupadd -g $PGID laradock && \
|
RUN groupadd -g $PGID laradock && \
|
||||||
useradd -u $PUID -g laradock -m laradock
|
useradd -u $PUID -g laradock -m laradock
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Set Timezone
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
ARG TZ=UTC
|
||||||
|
ENV TZ ${TZ}
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# Composer:
|
# Composer:
|
||||||
#####################################
|
#####################################
|
||||||
@ -113,19 +67,73 @@ RUN chown -R laradock:laradock /home/laradock/.composer
|
|||||||
USER laradock
|
USER laradock
|
||||||
|
|
||||||
# Check if global install need to be ran
|
# Check if global install need to be ran
|
||||||
ARG COMPOSER_GLOBAL_INSTALL=true
|
ARG COMPOSER_GLOBAL_INSTALL=false
|
||||||
ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
|
ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
|
||||||
RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
|
RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
|
||||||
# run the install
|
# run the install
|
||||||
composer global install \
|
composer global install \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Crontab
|
||||||
|
#####################################
|
||||||
|
USER root
|
||||||
|
|
||||||
|
COPY ./crontab /var/spool/cron/crontabs
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# xDebug:
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
ARG INSTALL_XDEBUG=false
|
||||||
|
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||||
|
# Load the xdebug extension only with phpunit commands
|
||||||
|
apt-get update && \
|
||||||
|
apt-get install -y --force-yes php7.0-xdebug && \
|
||||||
|
sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini && \
|
||||||
|
echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/vendor/bin/phpunit'" >> ~/.bashrc \
|
||||||
|
;fi
|
||||||
|
# ADD for REMOTE debugging
|
||||||
|
COPY ./xdebug.ini /etc/php/7.0/cli/conf.d/xdebug.ini
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# ssh:
|
||||||
|
#####################################
|
||||||
|
ARG INSTALL_WORKSPACE_SSH=false
|
||||||
|
ENV INSTALL_WORKSPACE_SSH ${INSTALL_WORKSPACE_SSH}
|
||||||
|
|
||||||
|
ADD insecure_id_rsa /tmp/id_rsa
|
||||||
|
ADD insecure_id_rsa.pub /tmp/id_rsa.pub
|
||||||
|
|
||||||
|
RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
|
||||||
|
rm -f /etc/service/sshd/down && \
|
||||||
|
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys \
|
||||||
|
&& cat /tmp/id_rsa.pub >> /root/.ssh/id_rsa.pub \
|
||||||
|
&& cat /tmp/id_rsa >> /root/.ssh/id_rsa \
|
||||||
|
&& rm -f /tmp/id_rsa* \
|
||||||
|
&& chmod 644 /root/.ssh/authorized_keys /root/.ssh/id_rsa.pub \
|
||||||
|
&& chmod 400 /root/.ssh/id_rsa \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# MongoDB:
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
# Check if Mongo needs to be installed
|
||||||
|
ARG INSTALL_MONGO=false
|
||||||
|
ENV INSTALL_MONGO ${INSTALL_MONGO}
|
||||||
|
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||||
|
# Install the mongodb extension
|
||||||
|
pecl install mongodb && \
|
||||||
|
echo "extension=mongodb.so" >> /etc/php/7.0/cli/php.ini \
|
||||||
|
;fi
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# Drush:
|
# Drush:
|
||||||
#####################################
|
#####################################
|
||||||
USER root
|
USER root
|
||||||
ENV DRUSH_VERSION 8.1.2
|
ENV DRUSH_VERSION 8.1.2
|
||||||
ARG INSTALL_DRUSH=true
|
ARG INSTALL_DRUSH=false
|
||||||
ENV INSTALL_DRUSH ${INSTALL_DRUSH}
|
ENV INSTALL_DRUSH ${INSTALL_DRUSH}
|
||||||
RUN if [ ${INSTALL_DRUSH} = true ]; then \
|
RUN if [ ${INSTALL_DRUSH} = true ]; then \
|
||||||
# Install Drush 8 with the phar file.
|
# Install Drush 8 with the phar file.
|
||||||
@ -143,17 +151,17 @@ USER laradock
|
|||||||
# Check if NVM needs to be installed
|
# Check if NVM needs to be installed
|
||||||
ARG NODE_VERSION=stable
|
ARG NODE_VERSION=stable
|
||||||
ENV NODE_VERSION ${NODE_VERSION}
|
ENV NODE_VERSION ${NODE_VERSION}
|
||||||
ARG INSTALL_NODE=true
|
ARG INSTALL_NODE=false
|
||||||
ENV INSTALL_NODE ${INSTALL_NODE}
|
ENV INSTALL_NODE ${INSTALL_NODE}
|
||||||
ENV NVM_DIR /home/laradock/.nvm
|
ENV NVM_DIR /home/laradock/.nvm
|
||||||
RUN if [ ${INSTALL_NODE} = true ]; then \
|
RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||||
# Install nvm (A Node Version Manager)
|
# Install nvm (A Node Version Manager)
|
||||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.6/install.sh | bash && \
|
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.6/install.sh | bash && \
|
||||||
. ~/.nvm/nvm.sh && \
|
. $NVM_DIR/nvm.sh && \
|
||||||
nvm install ${NODE_VERSION} && \
|
nvm install ${NODE_VERSION} && \
|
||||||
nvm use ${NODE_VERSION} && \
|
nvm use ${NODE_VERSION} && \
|
||||||
nvm alias ${NODE_VERSION} && \
|
nvm alias ${NODE_VERSION} && \
|
||||||
npm install -g gulp bower \
|
npm install -g gulp bower vue-cli \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
# Wouldn't execute when added to the RUN statement in the above block
|
# Wouldn't execute when added to the RUN statement in the above block
|
||||||
@ -164,6 +172,79 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
|
|||||||
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
# Add NVM binaries to root's .bashrc
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||||
|
echo "" >> ~/.bashrc && \
|
||||||
|
echo 'export NVM_DIR="/home/laradock/.nvm"' >> ~/.bashrc && \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# YARN:
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
USER laradock
|
||||||
|
|
||||||
|
ARG INSTALL_YARN=false
|
||||||
|
ENV INSTALL_YARN ${INSTALL_YARN}
|
||||||
|
|
||||||
|
RUN if [ ${INSTALL_YARN} = true ]; then \
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && \
|
||||||
|
curl -o- -L https://yarnpkg.com/install.sh | bash && \
|
||||||
|
echo "" >> ~/.bashrc && \
|
||||||
|
echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
# Add YARN binaries to root's .bashrc
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN if [ ${INSTALL_YARN} = true ]; then \
|
||||||
|
echo "" >> ~/.bashrc && \
|
||||||
|
echo 'export YARN_DIR="/home/laradock/.yarn"' >> ~/.bashrc && \
|
||||||
|
echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.bashrc \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# PHP Aerospike:
|
||||||
|
#####################################
|
||||||
|
USER root
|
||||||
|
|
||||||
|
ARG INSTALL_AEROSPIKE_EXTENSION=true
|
||||||
|
ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION}
|
||||||
|
|
||||||
|
# Copy aerospike configration for remote debugging
|
||||||
|
COPY ./aerospike.ini /etc/php/7.0/cli/conf.d/aerospike.ini
|
||||||
|
|
||||||
|
RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \
|
||||||
|
# Install the php aerospike extension
|
||||||
|
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/master.tar.gz" \
|
||||||
|
&& mkdir -p aerospike-client-php \
|
||||||
|
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
|
||||||
|
&& ( \
|
||||||
|
cd aerospike-client-php/src/aerospike \
|
||||||
|
&& phpize \
|
||||||
|
&& ./build.sh \
|
||||||
|
&& make install \
|
||||||
|
) \
|
||||||
|
&& rm /tmp/aerospike-client-php.tar.gz \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = false ]; then \
|
||||||
|
rm /etc/php/7.0/cli/conf.d/aerospike.ini \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Non-root user : PHPUnit path
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
# add ./vendor/bin to non-root user's bashrc (needed for phpunit)
|
||||||
|
USER laradock
|
||||||
|
|
||||||
|
RUN echo "" >> ~/.bashrc && \
|
||||||
|
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
|
||||||
|
|
||||||
#
|
#
|
||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
# Final Touch
|
# Final Touch
|
||||||
@ -176,4 +257,4 @@ RUN apt-get clean && \
|
|||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
# Set default work directory
|
# Set default work directory
|
||||||
WORKDIR /var/www/laravel
|
WORKDIR /var/www
|
||||||
|
3
workspace/aerospike.ini
Normal file
3
workspace/aerospike.ini
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
extension=aerospike.so
|
||||||
|
aerospike.udf.lua_system_path=/usr/local/aerospike/lua
|
||||||
|
aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua
|
1
workspace/crontab/root
Normal file
1
workspace/crontab/root
Normal file
@ -0,0 +1 @@
|
|||||||
|
* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1
|
@ -1,9 +1,10 @@
|
|||||||
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
||||||
|
|
||||||
xdebug.remote_autostart=1
|
xdebug.remote_autostart=0
|
||||||
xdebug.remote_enable=1
|
xdebug.remote_enable=0
|
||||||
xdebug.remote_connect_back=1
|
xdebug.remote_connect_back=0
|
||||||
xdebug.cli_color=1
|
xdebug.cli_color=0
|
||||||
|
xdebug.profiler_enable=0
|
||||||
xdebug.remote_handler=dbgp
|
xdebug.remote_handler=dbgp
|
||||||
xdebug.remote_mode=req
|
xdebug.remote_mode=req
|
||||||
|
|
||||||
|
18
xdebugPhpFpm
18
xdebugPhpFpm
@ -6,12 +6,21 @@
|
|||||||
# Grab full name of php-fpm container
|
# Grab full name of php-fpm container
|
||||||
PHP_FPM_CONTAINER=$(docker-compose ps | grep php-fpm | cut -d" " -f 1)
|
PHP_FPM_CONTAINER=$(docker-compose ps | grep php-fpm | cut -d" " -f 1)
|
||||||
|
|
||||||
|
|
||||||
|
# Grab OS type
|
||||||
|
if [[ "$(uname)" == "Darwin" ]]; then
|
||||||
|
OS_TYPE="OSX"
|
||||||
|
else
|
||||||
|
OS_TYPE=$(expr substr $(uname -s) 1 5)
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
xdebug_status ()
|
xdebug_status ()
|
||||||
{
|
{
|
||||||
echo 'xDebug status'
|
echo 'xDebug status'
|
||||||
|
|
||||||
# If running on Windows, need to prepend with winpty :(
|
# If running on Windows, need to prepend with winpty :(
|
||||||
if [[ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]]; then
|
if [[ $OS_TYPE == "MINGW" ]]; then
|
||||||
winpty docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
|
winpty docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
|
||||||
|
|
||||||
else
|
else
|
||||||
@ -20,6 +29,7 @@ xdebug_status ()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
xdebug_start ()
|
xdebug_start ()
|
||||||
{
|
{
|
||||||
echo 'Start xDebug'
|
echo 'Start xDebug'
|
||||||
@ -30,7 +40,7 @@ xdebug_start ()
|
|||||||
|
|
||||||
|
|
||||||
# If running on Windows, need to prepend with winpty :(
|
# If running on Windows, need to prepend with winpty :(
|
||||||
if [[ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]]; then
|
if [[ $OS_TYPE == "MINGW" ]]; then
|
||||||
winpty docker exec -it $PHP_FPM_CONTAINER bash -c "${ON_CMD}"
|
winpty docker exec -it $PHP_FPM_CONTAINER bash -c "${ON_CMD}"
|
||||||
docker restart $PHP_FPM_CONTAINER
|
docker restart $PHP_FPM_CONTAINER
|
||||||
winpty docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
|
winpty docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
|
||||||
@ -40,9 +50,9 @@ xdebug_start ()
|
|||||||
docker restart $PHP_FPM_CONTAINER
|
docker restart $PHP_FPM_CONTAINER
|
||||||
docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
|
docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
xdebug_stop ()
|
xdebug_stop ()
|
||||||
{
|
{
|
||||||
echo 'Stop xDebug'
|
echo 'Stop xDebug'
|
||||||
@ -52,7 +62,7 @@ xdebug_stop ()
|
|||||||
|
|
||||||
|
|
||||||
# If running on Windows, need to prepend with winpty :(
|
# If running on Windows, need to prepend with winpty :(
|
||||||
if [[ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]]; then
|
if [[ $OS_TYPE == "MINGW" ]]; then
|
||||||
# This is the equivalent of:
|
# This is the equivalent of:
|
||||||
# winpty docker exec -it laradock_php-fpm_1 bash -c 'bla bla bla'
|
# winpty docker exec -it laradock_php-fpm_1 bash -c 'bla bla bla'
|
||||||
# Thanks to @michaelarnauts at https://github.com/docker/compose/issues/593
|
# Thanks to @michaelarnauts at https://github.com/docker/compose/issues/593
|
||||||
|
Reference in New Issue
Block a user