Compare commits
465 Commits
Author | SHA1 | Date | |
---|---|---|---|
0d8ff4771d | |||
82a135ab58 | |||
1c2f07ca06 | |||
7f7e921c4e | |||
f0f73ca34f | |||
d6c9cc27dd | |||
457a25fb40 | |||
920cf66240 | |||
e680ad7361 | |||
66b86963ae | |||
7b1eee549f | |||
30265fd5e8 | |||
cbbf7fbf53 | |||
2cc022b112 | |||
f661694a81 | |||
08e1f4825f | |||
403faf1920 | |||
f7fa9258b5 | |||
fecb7f032e | |||
95c0da664d | |||
51d719adf1 | |||
c460509832 | |||
4f1027bc59 | |||
1527c399fd | |||
baa65a6e9e | |||
94af63fbc5 | |||
70bfdf0b05 | |||
1473bbfbd9 | |||
a7600e844e | |||
905412497e | |||
ae8ec392b7 | |||
25309a8e9c | |||
e36150e111 | |||
680a560628 | |||
f831a05d05 | |||
3600dc8206 | |||
5265515803 | |||
520c9303b1 | |||
c776c33645 | |||
2e5da396a0 | |||
d6a523e8bc | |||
5de541ec4c | |||
482849558e | |||
f016880fa2 | |||
51f2b991f2 | |||
bf8b9fd89b | |||
badb1e89cd | |||
a75d1b8c02 | |||
94efcf7a54 | |||
f1d7a72daa | |||
bb215f1e5e | |||
e69c4f0e38 | |||
368ef0d8d9 | |||
807c5d2e5a | |||
03159cf2b9 | |||
9159c70d10 | |||
492acf45f6 | |||
1223d04fc9 | |||
a0f0aa986c | |||
f5476b508f | |||
dce004b54a | |||
6043fbcf12 | |||
afe161258b | |||
eec6d5cd0a | |||
e3fadc24d6 | |||
528d59ea33 | |||
5624678a27 | |||
af50b6bba8 | |||
f4c0bfec64 | |||
185fa761ce | |||
db0d6f9b75 | |||
70c3b4fcf4 | |||
789dbb9506 | |||
3d65dd1106 | |||
c5ddf331ed | |||
276889bf60 | |||
da0c68836d | |||
ef7feb79ff | |||
2b74305dc0 | |||
1959f1f931 | |||
b292e0808a | |||
cd1d7014e4 | |||
6c8cb6dd85 | |||
e8432157b4 | |||
ea1a91e9e1 | |||
2bb27c5b05 | |||
05518b1a94 | |||
1198badfe4 | |||
7d1fb0cd86 | |||
b683e0258e | |||
f44f2f4261 | |||
566eaa64ba | |||
75aa16c277 | |||
302ef140f6 | |||
5c9b8b708e | |||
dd731bf73b | |||
28b9ea773d | |||
ff462ce4c2 | |||
74279feed7 | |||
03345453af | |||
253783fb21 | |||
6881e4bcb4 | |||
480fe10084 | |||
be5eb5af17 | |||
befc464819 | |||
fa4e60bd34 | |||
1df09d5fd2 | |||
24aedbc852 | |||
2652a6edf4 | |||
527512f6bc | |||
053fa059ac | |||
96e0f2e92f | |||
51ad2e13ca | |||
395703eb98 | |||
058cbc5bbe | |||
ab7768371c | |||
28f9722bf3 | |||
0ce5e62df3 | |||
6f98745458 | |||
e1b919849c | |||
6e5e21ed1b | |||
331067497b | |||
3226fb95cc | |||
ca74510f77 | |||
f5f389331a | |||
c5ddca458a | |||
faa8e04632 | |||
adc61d951d | |||
ca6d68801e | |||
756c71b97e | |||
aa85fbed4f | |||
2283eaa780 | |||
bbbe087402 | |||
ba64feda04 | |||
3557b1bf91 | |||
257bfc4245 | |||
1f42a92b5e | |||
d6e2d51dae | |||
b217f54d7a | |||
878c267d89 | |||
848570c7d0 | |||
2643087b71 | |||
61a219e3c3 | |||
4ff41ecfc5 | |||
2ff93b5e55 | |||
8f22b552ee | |||
b3dfa8438f | |||
1869b562a3 | |||
b8501c0a2b | |||
71ae532527 | |||
72cf7f7844 | |||
045cd075b9 | |||
0d08d36bd3 | |||
06ff2a34a0 | |||
ed48e4ee1b | |||
98c5d7ba64 | |||
db1b30ecf2 | |||
05536fb6a1 | |||
643669445c | |||
93bf686ca5 | |||
59bf17ffcc | |||
2e31c037cd | |||
68f6364646 | |||
e4fe092f26 | |||
6d03808714 | |||
818488b862 | |||
edf4baac44 | |||
ff48d295f6 | |||
369a5040d4 | |||
72d8ec8f21 | |||
f9d7fc3b12 | |||
84854c8f0d | |||
f0a26307d1 | |||
9402f8c104 | |||
61ecb42db9 | |||
475fd8f8d7 | |||
8357ef0b8c | |||
e144605e63 | |||
6dba239462 | |||
184f68bfe7 | |||
fe2e5849df | |||
7e4bba514a | |||
61a186e54b | |||
74bd308dc2 | |||
ec6c776251 | |||
a361dbb80e | |||
98452b5138 | |||
ee88ac2e8c | |||
5cd37b9f17 | |||
1101d29779 | |||
a4c79b5d8e | |||
7eaaa0cedc | |||
ab85daef0e | |||
44b7d1965c | |||
0483b05821 | |||
a4bc68c470 | |||
225988b8ef | |||
55b5fbaa9b | |||
c99d86b8e3 | |||
9d3aec6a3f | |||
b7945ded63 | |||
0e79534cf8 | |||
727c53ac6b | |||
27cb551a9f | |||
0da3043334 | |||
e776f61745 | |||
e5ea20f0fb | |||
b50d514c6c | |||
37377b07f0 | |||
4b81ddf797 | |||
baeb2a2cb6 | |||
7abbfd3142 | |||
a285caa18f | |||
220f2eb451 | |||
20463869c2 | |||
cd9542198c | |||
a2dd97674f | |||
e63d0e7974 | |||
6ca7e1357f | |||
4263de43fd | |||
bf0887c675 | |||
fe885ea130 | |||
7bfdb23cb1 | |||
10b3906da4 | |||
baa6ede88d | |||
c7eba246c9 | |||
6092304046 | |||
cb77808a94 | |||
5028e0c37b | |||
e2e927d03d | |||
dfbd87bb09 | |||
ae4e231988 | |||
cc7ceb0990 | |||
eee4d54339 | |||
e8ea58a8ad | |||
ddd06fecfd | |||
a28b5bfbe6 | |||
fee2d33ad8 | |||
9b41cf0d48 | |||
45c8fd219b | |||
91e0adfe45 | |||
11b93562c2 | |||
fb22fbf0d7 | |||
f5cb352e9f | |||
905a99efba | |||
02d9ed066d | |||
df4ccf5eb7 | |||
2597989cbd | |||
7542f3e595 | |||
88f8e4a951 | |||
80e885d7e7 | |||
6915e6071f | |||
e032d58f3d | |||
96efc244b8 | |||
4001890c7d | |||
cd25e10bca | |||
b713651a53 | |||
349ba1ea50 | |||
4b774583b4 | |||
0c3d3afb30 | |||
189ce1cdff | |||
534b7b405f | |||
01ab8c7d1e | |||
fa95a67a21 | |||
8856efeb3b | |||
63abb6ced8 | |||
11d387e894 | |||
1fa196de84 | |||
2efec41e55 | |||
3d18d92ff2 | |||
6bf1e9498f | |||
20d2beee84 | |||
cc3aa13594 | |||
2759864e2a | |||
186928fb07 | |||
37b22ebe01 | |||
fc4b534e98 | |||
ba31d63a00 | |||
bf3f000c5f | |||
9a232497c5 | |||
9d9a562feb | |||
6d61cd3d25 | |||
3ef987ba84 | |||
7d91cd3348 | |||
a2274e9980 | |||
4171871ab2 | |||
7c2b1c561a | |||
c906356f46 | |||
3a8ff2c329 | |||
cf6e2cd843 | |||
3d2194301e | |||
4885f9ac2d | |||
9c6f4e0a06 | |||
c6bc986095 | |||
3d2f8074d3 | |||
ec4216ed18 | |||
18bf3a7b20 | |||
9f0657e2b0 | |||
084fcaaf8b | |||
a70675007d | |||
d09d67249f | |||
9536c2e63f | |||
fda9e51ad6 | |||
353ed5afb4 | |||
17062bd9d8 | |||
4debd4f965 | |||
e8137d0c75 | |||
27f50abe04 | |||
2b04ed5e0e | |||
292783b76e | |||
b3b0b0c40f | |||
986ea48969 | |||
c7cb79efee | |||
42e6f53bc4 | |||
780d0bb764 | |||
1d7477b686 | |||
4183251b75 | |||
b022ce73a2 | |||
145864fab2 | |||
6c45aeb074 | |||
3a7631c673 | |||
50146d5732 | |||
d5e990caba | |||
9a451684f2 | |||
22d8ad6d1b | |||
6c50719b75 | |||
45a7f9ad6f | |||
986deb6925 | |||
8ddd12f94c | |||
50300f5bb1 | |||
67b7d18607 | |||
4439c16acd | |||
ee80578fc6 | |||
82d2b2e313 | |||
ee99550258 | |||
c393bf226b | |||
8184e801d8 | |||
e718e2ee4d | |||
42abd8b390 | |||
306a8a6050 | |||
1008cdcee5 | |||
8b0ffac149 | |||
224266dc88 | |||
cb9d98476a | |||
ebd5a22568 | |||
50fa29feee | |||
c92ced5c2f | |||
2c52d10a39 | |||
00a3e0cb64 | |||
147ff33530 | |||
aaf04367e6 | |||
2dc5954bbf | |||
7511d4f148 | |||
5b04b8a6d1 | |||
70ff1d6da7 | |||
a8be1768b9 | |||
bc894b6ee0 | |||
71d73e0d83 | |||
2117e7765b | |||
5ccb43659a | |||
2d09864c96 | |||
850eadc143 | |||
fffe51c51c | |||
f0fbfa0956 | |||
6c9ca44573 | |||
c784aad5a7 | |||
7298c60d0f | |||
d544a1a63c | |||
53b5166236 | |||
fa407d2b2f | |||
47d25b0c97 | |||
e11e9053ed | |||
4bc5942ad5 | |||
044bbc734b | |||
1d2bc53833 | |||
263c9cd5df | |||
910211ba2d | |||
a2440e9f48 | |||
e72d849007 | |||
c3f9863799 | |||
32ffc84d01 | |||
76ca731b8e | |||
bb3e24260e | |||
75e5a56c70 | |||
f16445c9f2 | |||
9707cb44b1 | |||
4d7a3f3c84 | |||
d411d907c1 | |||
68833d188c | |||
0d1479b2b7 | |||
aca0b9b15c | |||
acbfd7d049 | |||
fa163901bf | |||
471e69977c | |||
e494712a5b | |||
00ee9d74d5 | |||
15e65664e9 | |||
87b416769c | |||
48eb9afc1d | |||
b7de2868eb | |||
0b0cbdd18d | |||
96e5e8220e | |||
2ac65c3fea | |||
58edaa6421 | |||
b0d928762e | |||
46e5daa160 | |||
2bbe850d28 | |||
b0f6fec975 | |||
e0a88ac371 | |||
ae57d2bd1f | |||
ef88ad84fd | |||
0b6c266744 | |||
898434b59e | |||
ef1140dc4a | |||
329bdce155 | |||
bc34cfe362 | |||
ad072b50fb | |||
dd596be437 | |||
90660fbb77 | |||
7017d87a77 | |||
eda21c22ff | |||
b45c68a1d0 | |||
fb6c672cae | |||
0c7f5a2b2a | |||
3d57064466 | |||
9618f069d3 | |||
82d3bf4c97 | |||
5d19a3646e | |||
da1124aacb | |||
885e47d117 | |||
e92ce2eb6c | |||
77be7c4001 | |||
399d1c8181 | |||
09043c4992 | |||
5cf7449d42 | |||
cc88f7b382 | |||
f031ded6dd | |||
e138f03d50 | |||
8fb2cccdd9 | |||
74528be87b | |||
a98cc18a74 | |||
c548447d9a | |||
477428146e | |||
e678fafc07 | |||
6a4d93ee2f | |||
e95bfd835e | |||
618a9d180c | |||
f49b0cbc3a | |||
78e0d4d54c | |||
91575b115c | |||
b79d306004 | |||
3778c90932 | |||
c1f76443b1 | |||
fbda1f542f | |||
6a48af7730 | |||
283ea64fbf | |||
568683dbf8 | |||
6d7a1b51d8 | |||
5bea3b921d | |||
6e889b724f | |||
d5e83f8cfc | |||
6794418fa6 | |||
50b0240ed1 | |||
76c39050b1 | |||
897b5704dc |
124
.env.example
124
.env.example
@ -38,13 +38,13 @@ COMPOSE_PROJECT_NAME=laradock
|
||||
### PHP Version ###########################################
|
||||
|
||||
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
|
||||
# Accepted values: 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
|
||||
PHP_VERSION=7.3
|
||||
# Accepted values: 8.2 - 8.1 - 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
|
||||
PHP_VERSION=7.4
|
||||
|
||||
### Phalcon Version ###########################################
|
||||
|
||||
# Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+
|
||||
PHALCON_VERSION=4.0.5
|
||||
# Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 5.0.0+
|
||||
PHALCON_VERSION=5.0.0
|
||||
|
||||
### PHP Interpreter #######################################
|
||||
|
||||
@ -65,6 +65,9 @@ PHP_IDE_CONFIG=serverName=laradock
|
||||
|
||||
PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=false
|
||||
|
||||
# Accepted values: 1.2 - 1.1 - 1.0
|
||||
PHP_DOWNGRADE_OPENSSL_TLS_VERSION=1.2
|
||||
|
||||
### Windows Path ##########################################
|
||||
|
||||
# A fix for Windows users, to ensure the application path works
|
||||
@ -74,10 +77,11 @@ COMPOSE_CONVERT_WINDOWS_PATHS=1
|
||||
|
||||
# If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
|
||||
CHANGE_SOURCE=false
|
||||
# Set CHANGE_SOURCE and UBUNTU_SOURCE option if you want to change the Ubuntu system sources.list file.
|
||||
UBUNTU_SOURCE=aliyun
|
||||
# Set ORACLE INSTANT_CLIENT_MIRROR option if you want to use Intranet improve download, you can download files first
|
||||
ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/diogomascarenha/oracle-instantclient/raw/master/
|
||||
ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/the-paulus/oracle-instantclient/raw/master/
|
||||
ORACLE_INSTANT_CLIENT_ARCH=x86_64
|
||||
ORACLE_INSTANT_CLIENT_MAJOR=18
|
||||
ORACLE_INSTANT_CLIENT_MINOR=3
|
||||
|
||||
### Docker Sync ###########################################
|
||||
|
||||
@ -101,7 +105,7 @@ SHELL_OH_MY_ZSH_ALIASES=false
|
||||
WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
|
||||
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
|
||||
WORKSPACE_COMPOSER_VERSION=2
|
||||
WORKSPACE_COMPOSER_AUTH=false
|
||||
WORKSPACE_COMPOSER_AUTH_JSON=false
|
||||
WORKSPACE_COMPOSER_REPO_PACKAGIST=
|
||||
WORKSPACE_NVM_NODEJS_ORG_MIRROR=
|
||||
WORKSPACE_INSTALL_NODE=true
|
||||
@ -118,6 +122,7 @@ WORKSPACE_INSTALL_NPM_GULP=true
|
||||
WORKSPACE_INSTALL_NPM_BOWER=false
|
||||
WORKSPACE_INSTALL_NPM_VUE_CLI=true
|
||||
WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false
|
||||
WORKSPACE_INSTALL_NPM_CHECK_UPDATES_CLI=false
|
||||
WORKSPACE_INSTALL_PHPREDIS=true
|
||||
WORKSPACE_INSTALL_WORKSPACE_SSH=false
|
||||
WORKSPACE_INSTALL_SUBVERSION=false
|
||||
@ -136,6 +141,7 @@ WORKSPACE_INSTALL_IMAP=false
|
||||
WORKSPACE_INSTALL_MONGO=false
|
||||
WORKSPACE_INSTALL_AMQP=false
|
||||
WORKSPACE_INSTALL_CASSANDRA=false
|
||||
WORKSPACE_INSTALL_ZMQ=false
|
||||
WORKSPACE_INSTALL_GEARMAN=false
|
||||
WORKSPACE_INSTALL_MSSQL=false
|
||||
WORKSPACE_INSTALL_DRUSH=false
|
||||
@ -147,6 +153,7 @@ WORKSPACE_INSTALL_OCI8=false
|
||||
WORKSPACE_INSTALL_V8JS=false
|
||||
WORKSPACE_INSTALL_LARAVEL_ENVOY=false
|
||||
WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
|
||||
WORKSPACE_INSTALL_XLSWRITER=false
|
||||
WORKSPACE_INSTALL_DEPLOYER=false
|
||||
WORKSPACE_INSTALL_PRESTISSIMO=false
|
||||
WORKSPACE_INSTALL_LINUXBREW=false
|
||||
@ -167,7 +174,7 @@ WORKSPACE_INSTALL_SWOOLE=false
|
||||
WORKSPACE_INSTALL_TAINT=false
|
||||
WORKSPACE_INSTALL_LIBPNG=false
|
||||
WORKSPACE_INSTALL_GRAPHVIZ=false
|
||||
WORKSPACE_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
|
||||
WORKSPACE_INSTALL_IONCUBE=false # PHP 8.2 is not supported yet.
|
||||
WORKSPACE_INSTALL_MYSQL_CLIENT=false
|
||||
WORKSPACE_INSTALL_PING=false
|
||||
WORKSPACE_INSTALL_SSHPASS=false
|
||||
@ -177,6 +184,7 @@ WORKSPACE_INSTALL_YAML=false
|
||||
WORKSPACE_INSTALL_RDKAFKA=false
|
||||
WORKSPACE_INSTALL_MAILPARSE=false
|
||||
WORKSPACE_INSTALL_XMLRPC=false
|
||||
WORKSPACE_INSTALL_APCU=false
|
||||
WORKSPACE_PUID=1000
|
||||
WORKSPACE_PGID=1000
|
||||
WORKSPACE_CHROME_DRIVER_VERSION=2.42
|
||||
@ -185,6 +193,7 @@ WORKSPACE_SSH_PORT=2222
|
||||
WORKSPACE_INSTALL_FFMPEG=false
|
||||
WORKSPACE_INSTALL_AUDIOWAVEFORM=false
|
||||
WORKSPACE_INSTALL_WKHTMLTOPDF=false
|
||||
WORKSPACE_WKHTMLTOPDF_VERSION=0.12.6-1
|
||||
WORKSPACE_INSTALL_GNU_PARALLEL=false
|
||||
WORKSPACE_INSTALL_AST=true
|
||||
WORKSPACE_AST_VERSION=1.0.10
|
||||
@ -199,8 +208,14 @@ WORKSPACE_INSTALL_LNAV=false
|
||||
WORKSPACE_INSTALL_PROTOC=false
|
||||
WORKSPACE_INSTALL_PHPDECIMAL=false
|
||||
WORKSPACE_INSTALL_ZOOKEEPER=false
|
||||
WORKSPACE_INSTALL_SSDB=false
|
||||
WORKSPACE_INSTALL_TRADER=false
|
||||
WORKSPACE_PROTOC_VERSION=latest
|
||||
WORKSPACE_INSTALL_MEMCACHED=true
|
||||
WORKSPACE_INSTALL_EVENT=false
|
||||
WORKSPACE_INSTALL_DNSUTILS=true
|
||||
WORKSPACE_XDEBUG_PORT=9000
|
||||
WORKSPACE_VITE_PORT=5173
|
||||
|
||||
### PHP_FPM ###############################################
|
||||
|
||||
@ -227,6 +242,7 @@ PHP_FPM_INSTALL_IMAP=false
|
||||
PHP_FPM_INSTALL_MONGO=false
|
||||
PHP_FPM_INSTALL_AMQP=false
|
||||
PHP_FPM_INSTALL_CASSANDRA=false
|
||||
PHP_FPM_INSTALL_ZMQ=false
|
||||
PHP_FPM_INSTALL_GEARMAN=false
|
||||
PHP_FPM_INSTALL_MSSQL=false
|
||||
PHP_FPM_INSTALL_SSH2=false
|
||||
@ -246,7 +262,7 @@ 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 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
|
||||
PHP_FPM_INSTALL_IONCUBE=false # PHP 8.2 is not supported yet.
|
||||
PHP_FPM_INSTALL_RDKAFKA=false
|
||||
PHP_FPM_INSTALL_GETTEXT=false
|
||||
PHP_FPM_INSTALL_XMLRPC=false
|
||||
@ -260,14 +276,20 @@ PHP_FPM_INSTALL_PING=false
|
||||
PHP_FPM_INSTALL_SSHPASS=false
|
||||
PHP_FPM_INSTALL_MAILPARSE=false
|
||||
PHP_FPM_INSTALL_WKHTMLTOPDF=false
|
||||
PHP_FPM_KHTMLTOPDF_VERSION=0.12.6-1
|
||||
PHP_FPM_INSTALL_XLSWRITER=false
|
||||
PHP_FPM_INSTALL_PHPDECIMAL=false
|
||||
PHP_FPM_INSTALL_ZOOKEEPER=false
|
||||
PHP_FPM_INSTALL_SSDB=false
|
||||
PHP_FPM_INSTALL_TRADER=false
|
||||
PHP_FPM_FFMPEG=false
|
||||
PHP_FPM_AUDIOWAVEFORM=false
|
||||
PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8"
|
||||
PHP_FPM_INSTALL_DOCKER_CLIENT=false
|
||||
PHP_FPM_DEFAULT_LOCALE=POSIX
|
||||
PHP_FPM_XDEBUG_PORT=9003
|
||||
PHP_FPM_XDEBUG_PORT=9000
|
||||
PHP_FPM_INSTALL_EVENT=false
|
||||
PHP_FPM_INSTALL_DNSUTILS=true
|
||||
|
||||
PHP_FPM_PUID=1000
|
||||
PHP_FPM_PGID=1000
|
||||
@ -282,17 +304,21 @@ PHP_FPM_NEW_RELIC_APP_NAME=app_name
|
||||
|
||||
PHP_WORKER_INSTALL_BZ2=false
|
||||
PHP_WORKER_INSTALL_GD=false
|
||||
PHP_WORKER_INSTALL_XLSWRITER=false
|
||||
PHP_WORKER_INSTALL_IMAGEMAGICK=false
|
||||
PHP_WORKER_IMAGEMAGICK_VERSION=latest
|
||||
PHP_WORKER_INSTALL_GMP=false
|
||||
PHP_WORKER_INSTALL_GNUPG=false
|
||||
PHP_WORKER_INSTALL_LDAP=false
|
||||
PHP_WORKER_INSTALL_PGSQL=false
|
||||
PHP_WORKER_INSTALL_MONGO=false
|
||||
PHP_WORKER_INSTALL_BCMATH=false
|
||||
PHP_WORKER_INSTALL_MEMCACHED=false
|
||||
# PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version
|
||||
PHP_WORKER_INSTALL_OCI8=false
|
||||
PHP_WORKER_INSTALL_MSSQL=false
|
||||
PHP_WORKER_INSTALL_PHALCON=false
|
||||
PHP_WORKER_INSTALL_APCU=false
|
||||
PHP_WORKER_INSTALL_SOAP=false
|
||||
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
|
||||
PHP_WORKER_INSTALL_MYSQL_CLIENT=false
|
||||
@ -307,6 +333,9 @@ PHP_WORKER_INSTALL_GEARMAN=false
|
||||
PHP_WORKER_INSTALL_REDIS=false
|
||||
PHP_WORKER_INSTALL_IMAP=false
|
||||
PHP_WORKER_INSTALL_XMLRPC=false
|
||||
PHP_WORKER_INSTALL_SSDB=false
|
||||
PHP_WORKER_INSTALL_EVENT=false
|
||||
PHP_WORKER_INSTALL_INTL=true
|
||||
|
||||
PHP_WORKER_PUID=1000
|
||||
PHP_WORKER_PGID=1000
|
||||
@ -321,12 +350,23 @@ NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
NGINX_PHP_UPSTREAM_PORT=9000
|
||||
NGINX_SSL_PATH=./nginx/ssl/
|
||||
|
||||
### OpenResty #################################################
|
||||
|
||||
OPENRESTY_HOST_HTTP_PORT=80
|
||||
OPENRESTY_HOST_HTTPS_PORT=443
|
||||
OPENRESTY_HOST_LOG_PATH=./logs/openresty/
|
||||
OPENRESTY_SITES_PATH=./openresty/sites/
|
||||
OPENRESTY_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
OPENRESTY_PHP_UPSTREAM_PORT=9000
|
||||
OPENRESTY_SSL_PATH=./openresty/ssl/
|
||||
|
||||
### LARAVEL_HORIZON ################################################
|
||||
|
||||
LARAVEL_HORIZON_INSTALL_BZ2=false
|
||||
LARAVEL_HORIZON_INSTALL_GD=false
|
||||
LARAVEL_HORIZON_INSTALL_GMP=false
|
||||
LARAVEL_HORIZON_INSTALL_GNUPG=false
|
||||
LARAVEL_HORIZON_INSTALL_LDAP=false
|
||||
LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false
|
||||
LARAVEL_HORIZON_IMAGEMAGICK_VERSION=latest
|
||||
LARAVEL_HORIZON_INSTALL_SOCKETS=false
|
||||
@ -346,13 +386,13 @@ APACHE_HOST_HTTP_PORT=80
|
||||
APACHE_HOST_HTTPS_PORT=443
|
||||
APACHE_HOST_LOG_PATH=./logs/apache2
|
||||
APACHE_SITES_PATH=./apache2/sites
|
||||
APACHE_SSL_PATH=./apache2/ssl
|
||||
APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
APACHE_PHP_UPSTREAM_PORT=9000
|
||||
APACHE_PHP_UPSTREAM_TIMEOUT=60
|
||||
APACHE_DOCUMENT_ROOT=/var/www/
|
||||
APACHE_SSL_PATH=./apache2/ssl/
|
||||
APACHE_INSTALL_HTTP2=false
|
||||
APACHE_FOR_MAC_M1=false
|
||||
|
||||
### MYSQL #################################################
|
||||
|
||||
@ -366,8 +406,8 @@ MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
|
||||
|
||||
### CLICKHOUSE #################################################
|
||||
|
||||
CLICKHOUSE_VERSION=20.9.4.76
|
||||
CLICKHOUSE_GOSU_VERSION=1.10
|
||||
CLICKHOUSE_VERSION=22.2.2.1
|
||||
CLICKHOUSE_GOSU_VERSION=1.14
|
||||
CLICKHOUSE_CUSTOM_CONFIG=./clickhouse/config.xml
|
||||
CLICKHOUSE_USERS_CUSTOM_CONFIG=./clickhouse/users.xml
|
||||
CLICKHOUSE_USER=default
|
||||
@ -381,11 +421,16 @@ CLICKHOUSE_HOST_LOG_PATH=./logs/clickhouse
|
||||
### REDIS #################################################
|
||||
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=secret_redis
|
||||
|
||||
### REDIS CLUSTER #########################################
|
||||
|
||||
REDIS_CLUSTER_PORT_RANGE=7000-7005
|
||||
|
||||
### SSDB #################################################
|
||||
|
||||
SSDB_PORT=16801
|
||||
|
||||
### ZooKeeper #############################################
|
||||
|
||||
ZOOKEEPER_PORT=2181
|
||||
@ -418,12 +463,18 @@ MARIADB_ENTRYPOINT_INITDB=./mariadb/docker-entrypoint-initdb.d
|
||||
### POSTGRES ##############################################
|
||||
|
||||
POSTGRES_VERSION=alpine
|
||||
POSTGRES_CLIENT_VERSION=15
|
||||
POSTGRES_DB=default
|
||||
POSTGRES_USER=default
|
||||
POSTGRES_PASSWORD=secret
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_ENTRYPOINT_INITDB=./postgres/docker-entrypoint-initdb.d
|
||||
|
||||
### POSTGRES-POSTGIS ##############################################
|
||||
|
||||
POSTGIS_VERSION=latest
|
||||
POSTGIS_INSTALL_PGSQL_HTTP_FOR_POSTGIS13=false
|
||||
|
||||
### SQS ##############################################
|
||||
|
||||
SQS_NODE_HOST_PORT=9324
|
||||
@ -434,8 +485,7 @@ SQS_MANAGEMENT_HTTP_HOST_PORT=9325
|
||||
RABBITMQ_NODE_HOST_PORT=5672
|
||||
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
|
||||
RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
|
||||
RABBITMQ_DEFAULT_USER=guest
|
||||
RABBITMQ_DEFAULT_PASS=guest
|
||||
RABBITMQ_WEB_STOMP_HOST_PORT=15674
|
||||
|
||||
### MERCURE ##############################################
|
||||
|
||||
@ -485,6 +535,9 @@ SELENIUM_PORT=4444
|
||||
### MINIO #################################################
|
||||
|
||||
MINIO_PORT=9000
|
||||
MINIO_CONSOLE_PORT=9001
|
||||
MINIO_ROOT_USER=laradock
|
||||
MINIO_ROOT_PASSWORD=laradock
|
||||
|
||||
### ADMINER ###############################################
|
||||
|
||||
@ -594,6 +647,8 @@ RETHINKDB_PORT=8090
|
||||
### MONGODB ###############################################
|
||||
|
||||
MONGODB_PORT=27017
|
||||
MONGO_USERNAME=root
|
||||
MONGO_PASSWORD=example
|
||||
|
||||
### CADDY #################################################
|
||||
|
||||
@ -856,18 +911,16 @@ MAILU_WEBMAIL=rainloop
|
||||
# Dav server implementation (value: radicale, none)
|
||||
MAILU_WEBDAV=radicale
|
||||
|
||||
|
||||
### TRAEFIK #################################################
|
||||
|
||||
TRAEFIK_HOST_HTTP_PORT=80
|
||||
TRAEFIK_HOST_HTTPS_PORT=443
|
||||
TRAEFIK_DASHBOARD_PORT=8888
|
||||
# basic authentication for traefik dashboard username: admin password:admin
|
||||
TRAEFIK_DASHBOARD_USER=admin:$2y$10$lXaL3lj6raFic6rFqr2.lOBoCudAIhB6zyoqObNg290UFppiUzTTi
|
||||
TRAEFIK_DASHBOARD_USER='admin:$2y$10$lXaL3lj6raFic6rFqr2.lOBoCudAIhB6zyoqObNg290UFppiUzTTi'
|
||||
ACME_DOMAIN=example.org
|
||||
ACME_EMAIL=email@example.org
|
||||
|
||||
|
||||
### MOSQUITTO #################################################
|
||||
|
||||
MOSQUITTO_PORT=9001
|
||||
@ -998,3 +1051,36 @@ GEARMAN_MYSQL_TABLE=gearman_queue
|
||||
|
||||
### ELK Stack ##################################################
|
||||
ELK_VERSION=7.9.1
|
||||
|
||||
### Tarantool ##################################################
|
||||
TARANTOOL_PORT=3301
|
||||
TARANTOOL_ADMIN_PORT=8002
|
||||
|
||||
### NATS ##################################################
|
||||
NATS_CLIENT_PORT=4222
|
||||
NATS_MONITORING_PORT=6222
|
||||
NATS_ROUTE_PORT=8222
|
||||
|
||||
### SOKETI ##################################################
|
||||
SOKETI_PORT=6001
|
||||
SOKETI_METRICS_SERVER_PORT=9601
|
||||
|
||||
### ONEDEV ##################################################
|
||||
ONEDEV_HTTP_PORT=6610
|
||||
ONEDEV_SSH_PORT=6611
|
||||
|
||||
### Keycloak ################################################
|
||||
KEYCLOAK_VERSION=latest
|
||||
KEYCLOAK_POSTGRES_INIT=true
|
||||
KEYCLOAK_HTTP_PORT=8081
|
||||
KEYCLOAK_CREATE_ADMIN_USER=true
|
||||
KEYCLOAK_ADMIN_USER='admin'
|
||||
KEYCLOAK_ADMIN_PASSWORD='secret'
|
||||
KEYCLOAK_POSTGRES_HOST=postgres
|
||||
KEYCLOAK_POSTGRES_USER=laradock_keycloak
|
||||
KEYCLOAK_POSTGRES_PASSWORD=laradock_keycloak
|
||||
KEYCLOAK_POSTGRES_DB=laradock_keycloak
|
||||
|
||||
### Mailpit #################################################
|
||||
MAILPIT_HTTP_PORT=8125
|
||||
MAILPIT_SMTP_PORT=1125
|
||||
|
BIN
.github/home-page-images/custom-sponsors/VeePN.png
vendored
Normal file
BIN
.github/home-page-images/custom-sponsors/VeePN.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 8.8 KiB |
BIN
.github/home-page-images/custom-sponsors/sista-ai-icon.png
vendored
Normal file
BIN
.github/home-page-images/custom-sponsors/sista-ai-icon.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
43
.github/workflows/build-deploy-docs.yml
vendored
Normal file
43
.github/workflows/build-deploy-docs.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
name: Build Deploy Docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- '.github/workflows/build-deploy-docs.yml'
|
||||
- 'DOCUMENTATION/**'
|
||||
|
||||
permissions: {}
|
||||
jobs:
|
||||
build-deploy-docs:
|
||||
permissions:
|
||||
contents: write # to push pages branch (peaceiris/actions-gh-pages)
|
||||
|
||||
if: github.repository == 'laradock/laradock'
|
||||
runs-on: ubuntu-20.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./DOCUMENTATION
|
||||
steps:
|
||||
- name: Checkout Source Code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: '0.55.0'
|
||||
env:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
|
||||
|
||||
- name: Build Hugo Site
|
||||
run: hugo --minify
|
||||
|
||||
- name: Deploy Hugo Site to Github Pages
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_branch: gh-pages
|
||||
publish_dir: ./docs
|
26
.github/workflows/main-ci.yml
vendored
26
.github/workflows/main-ci.yml
vendored
@ -4,10 +4,16 @@ on:
|
||||
push:
|
||||
branches: '**'
|
||||
tags: '**'
|
||||
paths-ignore:
|
||||
- '.github/workflows/build-deploy-docs.yml'
|
||||
- 'DOCUMENTATION/**'
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '0 0 * * 0'
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
build-php:
|
||||
# Don't trigger on schedule event when in a fork
|
||||
@ -16,8 +22,8 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php_version: ["5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0"]
|
||||
service: [php-fpm, php-worker, workspace, laravel-horizon]
|
||||
php_version: [ "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2" ]
|
||||
service: [ php-fpm, php-worker, workspace ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build the Docker image
|
||||
@ -36,12 +42,16 @@ jobs:
|
||||
sed -i -- 's/RDKAFKA=true/RDKAFKA=false/g' .env
|
||||
sed -i -- 's/MAILPARSE=true/MAILPARSE=false/g' .env
|
||||
sed -i -- 's/OCI8=true/OCI8=false/g' .env
|
||||
sed -i -- 's/IONCUBE=true/IONCUBE=false/g' .env
|
||||
sed -i -- 's/V8JS=true/V8JS=false/g' .env
|
||||
docker-compose build ${{ matrix.service }}
|
||||
docker-compose up -d --no-deps -- ${{ matrix.service }}
|
||||
docker-compose exec -T -- ${{ matrix.service }} php -m
|
||||
docker-compose down
|
||||
sed -i -- 's/AUDIOWAVEFORM=true/AUDIOWAVEFORM=false/g' .env
|
||||
sed -i -- 's/SSDB=true/SSDB=false/g' .env
|
||||
sed -i -- 's/ENCHANT=true/ENCHANT=false/g' .env
|
||||
sed -i -- 's/PG_CLIENT=true/PG_CLIENT=false/g' .env
|
||||
sed -i -- 's/MSSQL=true/MSSQL=false/g' .env
|
||||
docker compose build ${{ matrix.service }}
|
||||
docker compose up -d --no-deps -- ${{ matrix.service }}
|
||||
docker compose exec -T -- ${{ matrix.service }} php -m
|
||||
docker compose down
|
||||
|
||||
build-other:
|
||||
# Don't trigger on schedule event when in a fork
|
||||
@ -58,4 +68,4 @@ jobs:
|
||||
cp .env.example .env
|
||||
sed -i -- 's/=false/=true/g' .env
|
||||
sed -i -- 's/CHANGE_SOURCE=true/CHANGE_SOURCE=false/g' .env
|
||||
docker-compose build ${{ matrix.service }}
|
||||
docker compose build ${{ matrix.service }}
|
||||
|
@ -16,6 +16,7 @@ env:
|
||||
- PHP_VERSION=7.3 BUILD_SERVICE=php-worker
|
||||
- PHP_VERSION=7.4 BUILD_SERVICE=php-worker
|
||||
- PHP_VERSION=8.0 BUILD_SERVICE=php-worker
|
||||
- PHP_VERSION=8.1 BUILD_SERVICE=php-worker
|
||||
|
||||
- PHP_VERSION=7.0 BUILD_SERVICE=laravel-horizon
|
||||
- PHP_VERSION=7.1 BUILD_SERVICE=laravel-horizon
|
||||
@ -23,6 +24,7 @@ env:
|
||||
- PHP_VERSION=7.3 BUILD_SERVICE=laravel-horizon
|
||||
- PHP_VERSION=7.4 BUILD_SERVICE=laravel-horizon
|
||||
- PHP_VERSION=8.0 BUILD_SERVICE=laravel-horizon
|
||||
- PHP_VERSION=8.1 BUILD_SERVICE=laravel-horizon
|
||||
|
||||
- PHP_VERSION=NA BUILD_SERVICE=solr
|
||||
- PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
|
||||
|
@ -914,10 +914,6 @@ run from any cli: <br>`curl -X PURGE https://yourwebsite.com/`.
|
||||
|
||||
// ...
|
||||
|
||||
],
|
||||
|
||||
// ...
|
||||
|
||||
],
|
||||
```
|
||||
|
||||
@ -958,7 +954,7 @@ More details about this [here](https://github.com/jenssegers/laravel-mongodb#ins
|
||||
docker-compose up -d mariadb phpmyadmin
|
||||
```
|
||||
*Note: To use with MariaDB, open `.env` and set `PMA_DB_ENGINE=mysql` to `PMA_DB_ENGINE=mariadb`.*
|
||||
2. Open your browser and visit the localhost on port **8080**: `http://localhost:8080`
|
||||
2. Open your browser and visit the localhost on port **8081**: `http://localhost:8081`, use server: "mysql", user: "default" and password: "secret for the default mysql setup.
|
||||
|
||||
|
||||
|
||||
@ -1236,28 +1232,31 @@ A package ([Laravel RethinkDB](https://github.com/duxet/laravel-rethinkdb)) is b
|
||||
## Use Minio
|
||||
|
||||
1. Configure Minio:
|
||||
- On the workspace container, change `INSTALL_MC` to true to get the client
|
||||
- Set `MINIO_ACCESS_KEY` and `MINIO_ACCESS_SECRET` if you wish to set proper keys
|
||||
- You can change some settings in the `.env` file (`MINIO_*`)
|
||||
- You can install Minio Client on the workspace container: `WORKSPACE_INSTALL_MC=true`
|
||||
|
||||
2. Run the Minio Container (`minio`) with the `docker-compose up` command. Example:
|
||||
```bash
|
||||
docker-compose up -d minio
|
||||
```
|
||||
|
||||
3. Open your browser and visit the localhost on port **9000** at the following URL: `http://localhost:9000`
|
||||
4. Create a bucket either through the webui or using the mc client:
|
||||
4. Create a bucket either through the webui or using the Minio Client:
|
||||
```bash
|
||||
mc mb minio/bucket
|
||||
```
|
||||
5 - When configuring your other clients use the following details:
|
||||
5. When configuring your other clients use the following details:
|
||||
```
|
||||
AWS_URL=http://minio:9000
|
||||
AWS_ACCESS_KEY_ID=access
|
||||
AWS_SECRET_ACCESS_KEY=secretkey
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=test
|
||||
AWS_PATH_STYLE=true
|
||||
```
|
||||
6 - In `filesystems.php` you shoud use the following details (s3):
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=true
|
||||
```
|
||||
|
||||
6. In `filesystems.php` you should use the following details (s3):
|
||||
```php
|
||||
's3' => [
|
||||
'driver' => 's3',
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
@ -1265,10 +1264,11 @@ A package ([Laravel RethinkDB](https://github.com/duxet/laravel-rethinkdb)) is b
|
||||
'region' => env('AWS_DEFAULT_REGION'),
|
||||
'bucket' => env('AWS_BUCKET'),
|
||||
'endpoint' => env('AWS_URL'),
|
||||
'use_path_style_endpoint' => env('AWS_PATH_STYLE', false)
|
||||
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false)
|
||||
],
|
||||
```
|
||||
`'AWS_PATH_STYLE'` shout set to true only for local purpouse
|
||||
|
||||
`AWS_USE_PATH_STYLE_ENDPOINT` should set to true only for local purpose
|
||||
|
||||
|
||||
|
||||
@ -1467,7 +1467,70 @@ docker-compose up -d mosquitto
|
||||
5 - Publish: `mqtt pub -t 'test' -h localhost -p 9001 -C 'ws' -m 'Hello!'`
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-Tarantool"></a>
|
||||
## Use Tarantool (+ Admin panel)
|
||||
|
||||
1 - Configure Tarantool Port and Tarantool Admin Port using environment variables: `TARANTOOL_PORT` and `TARANTOOL_ADMIN_PORT`. Default ports are 3301 and 8002.
|
||||
|
||||
2 - Run the Tarantool and Tarantool Admin tool using `docker-compose up`command:
|
||||
|
||||
```bash
|
||||
docker-compose up -d tarantool tarantool-admin
|
||||
```
|
||||
|
||||
3 - You can open admin tool visiting localhost:8002
|
||||
|
||||
4 - There you should set `Hostname` with the value `tarantool`
|
||||
|
||||
5 - After that your tarantool data will be available inside admin panel.
|
||||
|
||||
6 - Also you can connect to tarantool server in console mode with this command:
|
||||
|
||||
```bash
|
||||
docker-compose exec tarantool console
|
||||
```
|
||||
|
||||
7 - There you can operate with tarantool database ([official documentation](https://www.tarantool.io/en/doc/latest/) can be helpful).
|
||||
|
||||
|
||||
<br>
|
||||
<a name="use Keycloak"></a>
|
||||
## Use Keycloak
|
||||
|
||||
1. Run the Keycloak Container (`keycloak`) with the `docker-compose up` command. Example:
|
||||
|
||||
```bash
|
||||
docker-compose up -d keycloak
|
||||
```
|
||||
|
||||
2. Open your browser and visit the localhost on port 8081: `http://localhost:8081`
|
||||
|
||||
3. Login with the following credentials:
|
||||
|
||||
- Username: `admin`
|
||||
- Password: `secret`
|
||||
|
||||
|
||||
<br>
|
||||
<a name="use Mailpit"></a>
|
||||
## Use Mailpit
|
||||
|
||||
1. Run the Mailpit Container (`mailpit`) with the `docker-compose up` command. Example:
|
||||
|
||||
```bash
|
||||
docker-compose up -d mailpit
|
||||
```
|
||||
|
||||
2. Open your browser and visit the localhost on port 8125: `http://localhost:8125`
|
||||
3. Setup config in your Laravel project’s .env file
|
||||
```text
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=mailpit
|
||||
MAIL_PORT=1125
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
```
|
||||
|
||||
|
||||
|
||||
@ -1922,7 +1985,19 @@ To install NPM ANGULAR CLI in the Workspace container
|
||||
3 - Re-build the container `docker-compose build workspace`
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-npm-check-updates"></a>
|
||||
## Install npm-check-updates CLI
|
||||
|
||||
To install npm-check-updates CLI [here](https://www.npmjs.com/package/npm-check-updates) in the Workspace container
|
||||
|
||||
1 - Open the `.env` file
|
||||
|
||||
2 - Make sure Node is also being installed (`WORKSPACE_INSTALL_NODE` set to `true`)
|
||||
|
||||
3 - Search for the `WORKSPACE_INSTALL_NPM_CHECK_UPDATES_CLI` argument under the Workspace Container and set it to `true`
|
||||
|
||||
4 - Re-build the container `docker-compose build workspace`
|
||||
|
||||
|
||||
|
||||
@ -2234,6 +2309,31 @@ For configuration information, visit the [bash-git-prompt repository](https://gi
|
||||
<a name="Install-Oh-My-Zsh"></a>
|
||||
## Install Oh My ZSH
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-Dnsutils"></a>
|
||||
## Install Dnsutils
|
||||
|
||||
1 - First install `dnsutils` in the Workspace and the PHP-FPM Containers:
|
||||
<br>
|
||||
a) open the `.env` file
|
||||
<br>
|
||||
b) search for the `WORKSPACE_INSTALL_DNSUTILS` argument under the Workspace Container
|
||||
<br>
|
||||
c) set it to `true`
|
||||
<br>
|
||||
d) search for the `PHP_FPM_INSTALL_DNSUTILS` argument under the PHP-FPM Container
|
||||
<br>
|
||||
e) set it to `true`
|
||||
<br>
|
||||
|
||||
2 - Re-build the containers `docker-compose build workspace php-fpm`
|
||||
|
||||
|
||||
|
||||
|
||||
> With the Laravel autocomplete plugin.
|
||||
|
||||
[Zsh](https://en.wikipedia.org/wiki/Z_shell) is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh.
|
||||
@ -2481,6 +2581,13 @@ docker-compose up ...
|
||||
*Note: If you faced any errors, try restarting Docker, and make sure you have no spaces in the `d4m-nfs-mounts.txt` file, and your `/etc/exports` file is clear.*
|
||||
|
||||
|
||||
<br>
|
||||
<a name="ca-certificates"></a>
|
||||
## ca-certificates
|
||||
|
||||
To install your own CA certificates, you can add them to the `workspace/ca-certificates` folder.
|
||||
This way the certificates will be installed into the system ca store of the workspace container.
|
||||
|
||||
|
||||
<br>
|
||||
<a name="upgrade-laradock"></a>
|
||||
|
@ -7,7 +7,7 @@ weight: 2
|
||||
## Requirements
|
||||
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
- [Docker](https://www.docker.com/products/docker/) [ >= 17.12 ]
|
||||
- [Docker](https://www.docker.com/products/docker-desktop/) [ >= 19.03.0 ]
|
||||
|
||||
|
||||
|
||||
@ -107,6 +107,12 @@ Your folder structure should look like this:
|
||||
* project-2
|
||||
```
|
||||
|
||||
Make sure the `APP_CODE_PATH_HOST` variable points to parent directory.
|
||||
|
||||
```
|
||||
APP_CODE_PATH_HOST=../
|
||||
```
|
||||
|
||||
2 - Go to your web server and create config files to point to different project directory when visiting different domains:
|
||||
|
||||
For **Nginx** go to `nginx/sites`, for **Apache2** `apache2/sites`.
|
||||
@ -142,12 +148,12 @@ If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https://
|
||||
|
||||
If you are using **Docker Toolbox** (VM), do one of the following:
|
||||
|
||||
- Upgrade to Docker [Native](https://www.docker.com/products/docker) for Mac/Windows (Recommended). Check out [Upgrading Laradock](/documentation/#upgrading-laradock)
|
||||
- Upgrade to [Docker Desktop](https://www.docker.com/products/docker-desktop/) for Mac/Windows (Recommended). Check out [Upgrading Laradock](/documentation/#upgrading-laradock)
|
||||
- Use Laradock v3.\*. Visit the [Laradock-ToolBox](https://github.com/laradock/laradock/tree/LaraDock-ToolBox) branch. *(outdated)*
|
||||
|
||||
<br>
|
||||
|
||||
We recommend using a Docker version which is newer than 1.13.
|
||||
We recommend using a Docker Engine version which is newer than 19.03.0.
|
||||
|
||||
<br>
|
||||
|
||||
|
@ -97,7 +97,7 @@ In China, the origin source of composer and npm is very slow. You can add `WORKS
|
||||
|
||||
Example:
|
||||
```bash
|
||||
WORKSPACE_NPM_REGISTRY=https://registry.npm.taobao.org
|
||||
WORKSPACE_NPM_REGISTRY=https://registry.npmmirror.com
|
||||
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com
|
||||
```
|
||||
|
||||
@ -127,3 +127,21 @@ WORKSPACE_INSTALL_LIBPNG=true
|
||||
docker-compose build workspace
|
||||
```
|
||||
|
||||
## Apache2 container won't start on mac m1
|
||||
|
||||
To fix the problem you can follow those steps
|
||||
|
||||
1 - Open the `.env`.
|
||||
|
||||
2 - Search for `APACHE_FOR_MAC_M1` or add the key, if missing.
|
||||
|
||||
3 - Set the value to true:
|
||||
|
||||
```dotenv
|
||||
APACHE_FOR_MAC_M1=true
|
||||
```
|
||||
4 - Finally rebuild the workspace image
|
||||
|
||||
```bash
|
||||
docker-compose build apache2
|
||||
```
|
||||
|
@ -17,7 +17,7 @@ It supports a variety of common services, all pre-configured to provide a ready
|
||||
<a name="features"></a>
|
||||
## Features
|
||||
|
||||
- Easy switch between PHP versions: 7.4, 7.3, 7.2, 7.1, 5.6...
|
||||
- Easy switch between PHP versions: 8.1, 8.0, 7.4, 7.3, 7.2, 7.1, 5.6...
|
||||
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
|
||||
- Run your own stack: Memcached, HHVM, RabbitMQ...
|
||||
- Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI...
|
||||
@ -180,6 +180,7 @@ That's it! enjoy :)
|
||||
- `SOAP`
|
||||
- `Drush`
|
||||
- `Wordpress CLI`
|
||||
- `dnsutils`
|
||||
- Apache ZooKeeper *(Centralized service for distributed systems to a hierarchical key-value store)*
|
||||
- Kibana *(Visualize your Elasticsearch data and navigate the Elastic Stack)*
|
||||
- Dejavu *(Edit your Elasticsearch data)*
|
||||
@ -385,9 +386,13 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
|
||||
<p align="center">
|
||||
|
||||
<a href="https://casinopilotti.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/casinopilotti.png" height="75px" alt="CasinoPilotti" ></a>
|
||||
<a href="https://www.bestonlinecasino.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" height="75px" alt="We thank bestonlinecasino.com for their support"></a>
|
||||
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="75px" alt="Apiato Build PHP API's faster"></a>
|
||||
<a href="https://sista.ai/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/sista-ai-icon.png" height="75px" alt="Sista AI - Unlock Your Full Potential With a Personal AI Coach. (www.sista.ai)"></a>
|
||||
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="75px" alt="Apiato - Build PHP API's faster!"></a>
|
||||
<!-- <a href="https://kasynohex.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/PLD.png" height="75px" alt="KasynoHEX.com Polska"></a> -->
|
||||
<!-- <a href="https://onlinecasinohex.ca/online-casinos/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/CA.png" height="75px" alt="Online casino list in Canada by OnlineCasinoHEX.ca"></a> -->
|
||||
<!-- <a href="https://aussiecasinohex.com/online-pokies/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/AU.png" height="75px" alt="Online pokies by AussieCasinoHEX.com"></a> -->
|
||||
<!-- <a href="https://www.bestonlinecasino.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" height="75px" alt="We thank bestonlinecasino.com for their support"></a> -->
|
||||
<!-- <a href="https://casinopilotti.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/casinopilotti.png" height="75px" alt="CasinoPilotti"></a> -->
|
||||
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
@ -414,6 +419,9 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
|
||||
<p align="center">
|
||||
|
||||
<!-- <a href="https://veepn.com/vpn-apps/vpn-for-chrome/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/VeePN.png" height="65px" alt="VeePN Chrome extension"></a> -->
|
||||
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/0/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/1/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/2/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
@ -436,6 +444,13 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/18/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/19/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/20/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/20/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/21/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/21/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/22/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/22/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/23/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/23/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/24/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/24/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/25/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/25/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
|
||||
</p>
|
||||
|
||||
### Bronze Sponsors
|
||||
@ -475,6 +490,39 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/28/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/28/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/29/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/29/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/30/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/30/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/31/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/31/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/32/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/32/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/33/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/33/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/34/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/34/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/35/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/35/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/36/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/36/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/37/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/37/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/38/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/38/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/39/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/39/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/40/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/40/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/41/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/41/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/42/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/42/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/43/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/43/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/44/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/44/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/45/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/45/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/46/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/46/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/47/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/47/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/48/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/48/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/49/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/49/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/50/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/50/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/51/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/51/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/52/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/52/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/53/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/53/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/54/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/54/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/55/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/55/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/56/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/56/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/57/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/57/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/58/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/58/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/59/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/59/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
/* Custom CSS */
|
||||
|
||||
.article{
|
||||
overflow-x:hidden;
|
||||
}
|
||||
.article a {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
19
README-zh.md
19
README-zh.md
@ -72,6 +72,19 @@ git clone https://github.com/laradock/laradock.git
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
如果你在中国内地,可以修改一些配置来进行镜像加速,不过build时还是会请求GitHub来下载一些文件,此时需要保证你的计算机能连上GitHub
|
||||
(1)配置DockerHub镜像加速,[链接](https://www.runoob.com/docker/docker-mirror-acceleration.html)
|
||||
(2) 修改.env
|
||||
```
|
||||
# 开启ubuntu国内源
|
||||
CHANGE_SOURCE=true
|
||||
# composer镜像源
|
||||
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/
|
||||
# nvm镜像源
|
||||
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
|
||||
# npm镜像源
|
||||
WORKSPACE_NPM_REGISTRY=https://registry.npmmirror.com
|
||||
```
|
||||
|
||||
3. 运行这些容器。
|
||||
```bash
|
||||
@ -166,7 +179,7 @@ Homestead 是一个工具,为你控制虚拟机(使用 Homestead 特殊命令)
|
||||
## 依赖
|
||||
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
- [Docker](https://www.docker.com/products/docker/)
|
||||
- [Docker](https://www.docker.com/products/docker-desktop/)
|
||||
|
||||
<a name="Installation"></a>
|
||||
## 安装
|
||||
@ -192,9 +205,9 @@ git clone https://github.com/laradock/laradock.git
|
||||
|
||||
**请在开始之前阅读:**
|
||||
如果你正在使用 **Docker Toolbox** (VM),选择以下任何一个方法:
|
||||
- 更新到 Docker [Native](https://www.docker.com/products/docker) Mac/Windows 版本 (建议). 查看 [Upgrading Laradock](#upgrading-laradock)
|
||||
- 更新到 [Docker Desktop](https://www.docker.com/products/docker-desktop/) Mac/Windows 版本 (建议). 查看 [Upgrading Laradock](#upgrading-laradock)
|
||||
- 使用 Laradock v3.* (访问 `Laradock-ToolBox` [分支](https://github.com/laradock/laradock/tree/Laradock-ToolBox)).
|
||||
如果您使用的是 **Docker Native**(Mac / Windows 版本)甚至是 Linux 版本,通常可以继续阅读这个文档,Laradock v4 以上版本将仅支持 **Docker Native**。
|
||||
如果您使用的是 **Docker Desktop**(Mac / Windows 版本)甚至是 Linux 版本,通常可以继续阅读这个文档,Laradock v4 以上版本将仅支持 **Docker Desktop**。
|
||||
|
||||
1 - 运行容器: *(在运行 `docker-compose` 命令之前,确认你在 `laradock` 目录中*
|
||||
|
||||
|
53
README.md
53
README.md
@ -192,9 +192,13 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
|
||||
<p align="center">
|
||||
|
||||
<a href="https://casinopilotti.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/casinopilotti.png" height="75px" alt="CasinoPilotti" ></a>
|
||||
<a href="https://www.bestonlinecasino.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" height="75px" alt="We thank bestonlinecasino.com for their support"></a>
|
||||
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="75px" alt="Apiato Build PHP API's faster"></a>
|
||||
<a href="https://sista.ai/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/sista-ai-icon.png" height="75px" alt="Sista AI - Unlock Your Full Potential With a Personal AI Coach. (www.sista.ai)"></a>
|
||||
<a href="http://apiato.io/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/apiato.png" height="75px" alt="Apiato - Build PHP API's faster!"></a>
|
||||
<!-- <a href="https://kasynohex.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/PLD.png" height="75px" alt="KasynoHEX.com Polska"></a> -->
|
||||
<!-- <a href="https://onlinecasinohex.ca/online-casinos/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/CA.png" height="75px" alt="Online casino list in Canada by OnlineCasinoHEX.ca"></a> -->
|
||||
<!-- <a href="https://aussiecasinohex.com/online-pokies/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/AU.png" height="75px" alt="Online pokies by AussieCasinoHEX.com"></a> -->
|
||||
<!-- <a href="https://www.bestonlinecasino.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg" height="75px" alt="We thank bestonlinecasino.com for their support"></a> -->
|
||||
<!-- <a href="https://casinopilotti.com/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/casinopilotti.png" height="75px" alt="CasinoPilotti"></a> -->
|
||||
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/gold-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/gold-sponsors/0/avatar.svg?button=false&isActive=true" height="75px"></a>
|
||||
@ -221,6 +225,9 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
|
||||
<p align="center">
|
||||
|
||||
<!-- <a href="https://veepn.com/vpn-apps/vpn-for-chrome/" target="_blank" style="margin-right: 4em"><img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/custom-sponsors/VeePN.png" height="65px" alt="VeePN Chrome extension"></a> -->
|
||||
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/0/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/0/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/1/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/1/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/2/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/2/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
@ -243,6 +250,13 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/18/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/18/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/19/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/19/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/20/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/20/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/21/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/21/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/22/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/22/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/23/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/23/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/24/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/24/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/silver-sponsors/25/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/silver-sponsors/25/avatar.svg?button=false&isActive=true" height="65px"></a>
|
||||
|
||||
</p>
|
||||
|
||||
### Bronze Sponsors
|
||||
@ -282,6 +296,39 @@ Sponsoring is an act of giving in a different fashion. 🌱
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/28/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/28/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/29/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/29/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/30/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/30/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/31/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/31/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/32/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/32/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/33/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/33/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/34/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/34/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/35/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/35/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/36/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/36/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/37/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/37/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/38/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/38/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/39/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/39/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/40/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/40/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/41/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/41/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/42/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/42/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/43/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/43/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/44/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/44/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/45/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/45/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/46/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/46/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/47/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/47/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/48/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/48/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/49/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/49/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/50/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/50/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/51/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/51/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/52/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/52/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/53/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/53/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/54/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/54/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/55/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/55/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/56/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/56/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/57/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/57/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/58/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/58/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
<a href="https://opencollective.com/laradock/tiers/bronze-sponsors/59/website" target="_blank"><img src="https://opencollective.com/laradock/tiers/bronze-sponsors/59/avatar.svg?button=false&isActive=true" height="55px"></a>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
@ -9,19 +9,19 @@ VOLUME /sessions
|
||||
# SQL SERVER:
|
||||
#####################################
|
||||
USER root
|
||||
|
||||
ARG INSTALL_MSSQL=false
|
||||
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
|
||||
|
||||
RUN if [ ${INSTALL_MSSQL} = true ]; then \
|
||||
set -xe \
|
||||
# && apk --update add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc unixodbc-dev \
|
||||
# && pecl channel-update pecl.php.net \
|
||||
# && pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
|
||||
# && echo "extension=sqlsrv.so" > /usr/local/etc/php/conf.d/20-sqlsrv.ini \
|
||||
# && echo "extension=pdo_sqlsrv.so" > /usr/local/etc/php/conf.d/20-pdo_sqlsrv.ini \
|
||||
&& 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 \
|
||||
&& apk update \
|
||||
&& apk add --no-cache --virtual .php-build-dependencies unixodbc-dev freetds-dev \
|
||||
&& apk add --virtual .php-runtime-dependencies unixodbc freetds \
|
||||
&& docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr \
|
||||
&& docker-php-ext-install pdo_odbc pdo_dblib \
|
||||
&& apk del .php-build-dependencies \
|
||||
&& rm -rf /var/cache/apk/* \
|
||||
;fi
|
||||
|
||||
USER adminer
|
||||
|
@ -30,3 +30,12 @@ ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
|
||||
CMD ["/bin/bash", "/opt/startup.sh"]
|
||||
|
||||
EXPOSE 80 443
|
||||
|
||||
ARG APACHE_FOR_MAC_M1=false
|
||||
|
||||
RUN if [ ${APACHE_FOR_MAC_M1} = true ]; then \
|
||||
# Change application source from deb.debian.org to aliyun source
|
||||
wget -O "/usr/local/bin/go-replace" "https://github.com/webdevops/goreplace/releases/download/1.1.2/gr-arm64-linux" && \
|
||||
chmod +x "/usr/local/bin/go-replace" && \
|
||||
"/usr/local/bin/go-replace" --version \
|
||||
;fi
|
||||
|
@ -17,5 +17,5 @@ if [ ${APACHE_HTTP2} = true ]; then
|
||||
service apache2 restart
|
||||
fi
|
||||
|
||||
# Start supervisord in foreground
|
||||
supervisord
|
||||
# Start apache in foreground
|
||||
/usr/sbin/apache2ctl -D FOREGROUND
|
||||
|
@ -1,5 +1,5 @@
|
||||
FROM abiosoft/caddy:no-stats
|
||||
FROM caddy:latest
|
||||
|
||||
CMD ["--conf", "/etc/caddy/Caddyfile", "--log", "stdout", "--agree=true"]
|
||||
COPY ./caddy/Caddyfile /etc/caddy/Caddyfile
|
||||
|
||||
EXPOSE 80 443 2015
|
||||
EXPOSE 80 443
|
||||
|
@ -1,51 +1,9 @@
|
||||
# Docs: https://caddyserver.com/docs/caddyfile
|
||||
0.0.0.0:80 {
|
||||
root /var/www/public
|
||||
fastcgi / php-fpm:9000 php {
|
||||
index index.php
|
||||
}
|
||||
|
||||
# To handle .html extensions with laravel change ext to
|
||||
# ext / .html
|
||||
|
||||
rewrite {
|
||||
to {path} {path}/ /index.php?{query}
|
||||
}
|
||||
gzip
|
||||
browse
|
||||
log /var/log/caddy/access.log
|
||||
errors /var/log/caddy/error.log
|
||||
# Uncomment to enable TLS (HTTPS)
|
||||
# Change the first list to listen on port 443 when enabling TLS
|
||||
#tls self_signed
|
||||
|
||||
# To use Lets encrpt tls with a DNS provider uncomment these
|
||||
# lines and change the provider as required
|
||||
#tls {
|
||||
# dns cloudflare
|
||||
#}
|
||||
}
|
||||
|
||||
laradock1.demo:80 {
|
||||
root /var/www/public
|
||||
# Create a Webhook in git.
|
||||
#git {
|
||||
#repo https://github.com/xxx/xxx
|
||||
# path /home/xxx
|
||||
# #interval 60
|
||||
# hook webhook laradock
|
||||
# hook_type generic
|
||||
#}
|
||||
|
||||
}
|
||||
|
||||
laradock2.demo:80 {
|
||||
# Create a Proxy and cors.
|
||||
#proxy domain.com
|
||||
#cors
|
||||
}
|
||||
|
||||
laradock3.demo:80 {
|
||||
import authlist.conf
|
||||
root /var/www/public
|
||||
laradock.test {
|
||||
root * /var/www/public
|
||||
php_fastcgi php-fpm:9000
|
||||
file_server
|
||||
|
||||
encode gzip
|
||||
tls internal
|
||||
}
|
@ -1 +0,0 @@
|
||||
basicauth / laradock laradock
|
@ -3,5 +3,7 @@
|
||||
letsencrypt certonly --webroot -w /var/www/letsencrypt -d "$CN" --agree-tos --email "$EMAIL" --non-interactive --text
|
||||
|
||||
cp /etc/letsencrypt/archive/"$CN"/cert1.pem /var/certs/"$CN"-cert1.pem
|
||||
cp /etc/letsencrypt/archive/"$CN"/chain1.pem /var/certs/chain1.pem
|
||||
cp /etc/letsencrypt/archive/"$CN"/fullchain1.pem /var/certs/fullchain1.pem
|
||||
cp /etc/letsencrypt/archive/"$CN"/privkey1.pem /var/certs/"$CN"-privkey1.pem
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
FROM ubuntu:20.04
|
||||
|
||||
ARG CLICKHOUSE_VERSION=20.9.4.76
|
||||
ARG CLICKHOUSE_GOSU_VERSION=1.10
|
||||
ARG CLICKHOUSE_VERSION=22.2.2.1
|
||||
ARG CLICKHOUSE_GOSU_VERSION=1.14
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install --yes --no-install-recommends \
|
||||
|
@ -1,5 +1,3 @@
|
||||
version: '3.5'
|
||||
|
||||
services:
|
||||
|
||||
volumes:
|
||||
|
@ -1,11 +1,10 @@
|
||||
version: '3.5'
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
driver: ${NETWORKS_DRIVER}
|
||||
backend:
|
||||
driver: ${NETWORKS_DRIVER}
|
||||
|
||||
custom_network:
|
||||
driver: bridge
|
||||
volumes:
|
||||
mysql:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
@ -67,7 +66,6 @@ services:
|
||||
- SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH}
|
||||
- SHELL_OH_MY_ZSH_AUTOSUGESTIONS=${SHELL_OH_MY_ZSH_AUTOSUGESTIONS}
|
||||
- SHELL_OH_MY_ZSH_ALIASES=${SHELL_OH_MY_ZSH_ALIASES}
|
||||
- UBUNTU_SOURCE=${UBUNTU_SOURCE}
|
||||
- BASE_IMAGE_TAG_PREFIX=${WORKSPACE_BASE_IMAGE_TAG_PREFIX}
|
||||
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
||||
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
|
||||
@ -76,6 +74,7 @@ services:
|
||||
- INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
|
||||
- INSTALL_GNUPG=${WORKSPACE_INSTALL_GNUPG}
|
||||
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
|
||||
- XDEBUG_PORT=${WORKSPACE_XDEBUG_PORT}
|
||||
- INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV}
|
||||
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
|
||||
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
||||
@ -88,6 +87,7 @@ services:
|
||||
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
|
||||
- INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
|
||||
- INSTALL_CASSANDRA=${WORKSPACE_INSTALL_CASSANDRA}
|
||||
- INSTALL_ZMQ=${WORKSPACE_INSTALL_ZMQ}
|
||||
- INSTALL_GEARMAN=${WORKSPACE_INSTALL_GEARMAN}
|
||||
- INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
|
||||
- INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
|
||||
@ -104,6 +104,7 @@ services:
|
||||
- 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_NPM_CHECK_UPDATES_CLI=${WORKSPACE_INSTALL_NPM_CHECK_UPDATES_CLI}
|
||||
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
|
||||
- INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI}
|
||||
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
|
||||
@ -112,11 +113,12 @@ services:
|
||||
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
|
||||
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
|
||||
- COMPOSER_VERSION=${WORKSPACE_COMPOSER_VERSION}
|
||||
- COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH}
|
||||
- COMPOSER_AUTH_JSON=${WORKSPACE_COMPOSER_AUTH_JSON}
|
||||
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
|
||||
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
|
||||
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
|
||||
- INSTALL_LARAVEL_INSTALLER=${WORKSPACE_INSTALL_LARAVEL_INSTALLER}
|
||||
- INSTALL_XLSWRITER=${WORKSPACE_INSTALL_XLSWRITER}
|
||||
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
|
||||
- INSTALL_PRESTISSIMO=${WORKSPACE_INSTALL_PRESTISSIMO}
|
||||
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
|
||||
@ -129,12 +131,14 @@ services:
|
||||
- INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM}
|
||||
- INSTALL_DUSK_DEPS=${WORKSPACE_INSTALL_DUSK_DEPS}
|
||||
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
|
||||
- PG_CLIENT_VERSION=${POSTGRES_CLIENT_VERSION}
|
||||
- INSTALL_PHALCON=${WORKSPACE_INSTALL_PHALCON}
|
||||
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
|
||||
- INSTALL_TAINT=${WORKSPACE_INSTALL_TAINT}
|
||||
- INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
|
||||
- INSTALL_GRAPHVIZ=${WORKSPACE_INSTALL_GRAPHVIZ}
|
||||
- INSTALL_IONCUBE=${WORKSPACE_INSTALL_IONCUBE}
|
||||
- INSTALL_APCU=${WORKSPACE_INSTALL_APCU}
|
||||
- INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT}
|
||||
- INSTALL_PING=${WORKSPACE_INSTALL_PING}
|
||||
- INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS}
|
||||
@ -162,14 +166,19 @@ services:
|
||||
- INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG}
|
||||
- INSTALL_AUDIOWAVEFORM=${WORKSPACE_INSTALL_AUDIOWAVEFORM}
|
||||
- INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF}
|
||||
- WKHTMLTOPDF_VERSION=${WORKSPACE_WKHTMLTOPDF_VERSION}
|
||||
- INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL}
|
||||
- INSTALL_LNAV=${WORKSPACE_INSTALL_LNAV}
|
||||
- INSTALL_PROTOC=${WORKSPACE_INSTALL_PROTOC}
|
||||
- INSTALL_PHPDECIMAL=${WORKSPACE_INSTALL_PHPDECIMAL}
|
||||
- INSTALL_ZOOKEEPER=${WORKSPACE_INSTALL_ZOOKEEPER}
|
||||
- INSTALL_SSDB=${WORKSPACE_INSTALL_SSDB}
|
||||
- INSTALL_TRADER=${WORKSPACE_INSTALL_TRADER}
|
||||
- PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION}
|
||||
- INSTALL_DOCKER_CLIENT=${WORKSPACE_INSTALL_DOCKER_CLIENT}
|
||||
- INSTALL_MEMCACHED=${WORKSPACE_INSTALL_MEMCACHED}
|
||||
- INSTALL_EVENT=${WORKSPACE_INSTALL_EVENT}
|
||||
- INSTALL_DNSUTILS=${WORKSPACE_INSTALL_DNSUTILS}
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
@ -186,6 +195,9 @@ services:
|
||||
- "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
|
||||
- "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
|
||||
- "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200"
|
||||
- "${WORKSPACE_VITE_PORT}:5173"
|
||||
- "${TCP_HOST_PORT}:5291"
|
||||
- "${UDP_HOST_PORT}:5292"
|
||||
tty: true
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
@ -193,9 +205,10 @@ services:
|
||||
- DOCKER_TLS_VERIFY=1
|
||||
- DOCKER_TLS_CERTDIR=/certs
|
||||
- DOCKER_CERT_PATH=/certs/client
|
||||
- CHOKIDAR_USEPOLLING=true
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
- custom_network
|
||||
container_name: workspace
|
||||
links:
|
||||
- docker-in-docker
|
||||
|
||||
@ -213,6 +226,7 @@ services:
|
||||
- INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
|
||||
- INSTALL_GNUPG=${PHP_FPM_INSTALL_GNUPG}
|
||||
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
|
||||
- XDEBUG_PORT=${PHP_FPM_XDEBUG_PORT}
|
||||
- INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV}
|
||||
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
|
||||
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
||||
@ -224,6 +238,7 @@ services:
|
||||
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
|
||||
- INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
|
||||
- INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA}
|
||||
- INSTALL_ZMQ=${PHP_FPM_INSTALL_ZMQ}
|
||||
- INSTALL_GEARMAN=${PHP_FPM_INSTALL_GEARMAN}
|
||||
- INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
|
||||
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
|
||||
@ -236,6 +251,7 @@ services:
|
||||
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
|
||||
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
||||
- INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
|
||||
- PG_CLIENT_VERSION=${POSTGRES_CLIENT_VERSION}
|
||||
- INSTALL_POSTGIS=${PHP_FPM_INSTALL_POSTGIS}
|
||||
- INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
|
||||
- INSTALL_GHOSTSCRIPT=${PHP_FPM_INSTALL_GHOSTSCRIPT}
|
||||
@ -246,6 +262,7 @@ services:
|
||||
- INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
|
||||
- INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
|
||||
- INSTALL_XLSWRITER=${PHP_FPM_INSTALL_XLSWRITER}
|
||||
- INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME}
|
||||
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
|
||||
- INSTALL_APCU=${PHP_FPM_INSTALL_APCU}
|
||||
@ -263,11 +280,16 @@ services:
|
||||
- INSTALL_FFMPEG=${PHP_FPM_FFMPEG}
|
||||
- INSTALL_AUDIOWAVEFORM=${PHP_FPM_AUDIOWAVEFORM}
|
||||
- INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF}
|
||||
- WKHTMLTOPDF_VERSION=${WORKSPACE_WKHTMLTOPDF_VERSION}
|
||||
- INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF}
|
||||
- INSTALL_XMLRPC=${PHP_FPM_INSTALL_XMLRPC}
|
||||
- INSTALL_PHPDECIMAL=${PHP_FPM_INSTALL_PHPDECIMAL}
|
||||
- INSTALL_ZOOKEEPER=${PHP_FPM_INSTALL_ZOOKEEPER}
|
||||
- INSTALL_SSDB=${PHP_FPM_INSTALL_SSDB}
|
||||
- INSTALL_TRADER=${PHP_FPM_INSTALL_TRADER}
|
||||
- INSTALL_EVENT=${PHP_FPM_INSTALL_EVENT}
|
||||
- DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=${PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL}
|
||||
- DOWNGRADE_OPENSSL_TLS_VERSION=${PHP_DOWNGRADE_OPENSSL_TLS_VERSION}
|
||||
- PUID=${PHP_FPM_PUID}
|
||||
- PGID=${PHP_FPM_PGID}
|
||||
- IMAGEMAGICK_VERSION=${PHP_FPM_IMAGEMAGICK_VERSION}
|
||||
@ -276,6 +298,7 @@ services:
|
||||
- PHP_FPM_NEW_RELIC_KEY=${PHP_FPM_NEW_RELIC_KEY}
|
||||
- PHP_FPM_NEW_RELIC_APP_NAME=${PHP_FPM_NEW_RELIC_APP_NAME}
|
||||
- INSTALL_DOCKER_CLIENT=${PHP_FPM_INSTALL_DOCKER_CLIENT}
|
||||
- INSTALL_DNSUTILS=${PHP_FPM_INSTALL_DNSUTILS}
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
@ -283,8 +306,6 @@ services:
|
||||
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
- docker-in-docker:/certs/client
|
||||
ports:
|
||||
- "${PHP_FPM_XDEBUG_PORT}:9003"
|
||||
expose:
|
||||
- "9000"
|
||||
extra_hosts:
|
||||
@ -299,7 +320,7 @@ services:
|
||||
depends_on:
|
||||
- workspace
|
||||
networks:
|
||||
- backend
|
||||
- custom_network
|
||||
links:
|
||||
- docker-in-docker
|
||||
|
||||
@ -316,12 +337,16 @@ services:
|
||||
- INSTALL_IMAGEMAGICK=${PHP_WORKER_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
|
||||
- INSTALL_GNUPG=${PHP_WORKER_INSTALL_GNUPG}
|
||||
- INSTALL_LDAP=${PHP_WORKER_INSTALL_LDAP}
|
||||
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
|
||||
- INSTALL_MONGO=${PHP_WORKER_INSTALL_MONGO}
|
||||
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
|
||||
- INSTALL_MEMCACHED=${PHP_WORKER_INSTALL_MEMCACHED}
|
||||
- INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8}
|
||||
- INSTALL_MSSQL=${PHP_WORKER_INSTALL_MSSQL}
|
||||
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
|
||||
- INSTALL_APCU=${PHP_WORKER_INSTALL_APCU}
|
||||
- INSTALL_XLSWRITER=${PHP_WORKER_INSTALL_XLSWRITER}
|
||||
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
|
||||
- INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
|
||||
- INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
|
||||
@ -336,6 +361,9 @@ services:
|
||||
- INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS}
|
||||
- INSTALL_IMAP=${PHP_WORKER_INSTALL_IMAP}
|
||||
- INSTALL_XMLRPC=${PHP_WORKER_INSTALL_XMLRPC}
|
||||
- INSTALL_SSDB=${PHP_WORKER_INSTALL_SSDB}
|
||||
- INSTALL_EVENT=${PHP_WORKER_INSTALL_EVENT}
|
||||
- INSTALL_INTL=${PHP_WORKER_INSTALL_INTL}
|
||||
- PUID=${PHP_WORKER_PUID}
|
||||
- PGID=${PHP_WORKER_PGID}
|
||||
- IMAGEMAGICK_VERSION=${PHP_WORKER_IMAGEMAGICK_VERSION}
|
||||
@ -347,7 +375,7 @@ services:
|
||||
extra_hosts:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
networks:
|
||||
- backend
|
||||
- custom_network
|
||||
### Laravel Horizon ############################################
|
||||
laravel-horizon:
|
||||
build:
|
||||
@ -359,6 +387,7 @@ services:
|
||||
- INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD}
|
||||
- INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP}
|
||||
- INSTALL_GNUPG=${LARAVEL_HORIZON_INSTALL_GNUPG}
|
||||
- INSTALL_LDAP=${LARAVEL_HORIZON_INSTALL_LDAP}
|
||||
- INSTALL_IMAGEMAGICK=${LARAVEL_HORIZON_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
||||
- INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE}
|
||||
@ -384,6 +413,17 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Soketi Server ##############################################
|
||||
soketi:
|
||||
build:
|
||||
context: ./soketi
|
||||
ports:
|
||||
- "${SOKETI_PORT}:6001"
|
||||
- "${SOKETI_METRICS_SERVER_PORT}:9601"
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### NGINX Server #########################################
|
||||
nginx:
|
||||
build:
|
||||
@ -406,6 +446,31 @@ services:
|
||||
- "${VARNISH_BACKEND_PORT}:81"
|
||||
depends_on:
|
||||
- php-fpm
|
||||
networks:
|
||||
- custom_network
|
||||
|
||||
### OpenResty Server #########################################
|
||||
openresty:
|
||||
build:
|
||||
context: ./openresty
|
||||
args:
|
||||
- CHANGE_SOURCE=${CHANGE_SOURCE}
|
||||
- PHP_UPSTREAM_CONTAINER=${OPENRESTY_PHP_UPSTREAM_CONTAINER}
|
||||
- PHP_UPSTREAM_PORT=${OPENRESTY_PHP_UPSTREAM_PORT}
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
- ${OPENRESTY_HOST_LOG_PATH}:/var/log/nginx
|
||||
- ${OPENRESTY_SITES_PATH}:/etc/nginx/sites-available
|
||||
- ${OPENRESTY_SSL_PATH}:/etc/nginx/ssl
|
||||
ports:
|
||||
- "${OPENRESTY_HOST_HTTP_PORT}:80"
|
||||
- "${OPENRESTY_HOST_HTTPS_PORT}:443"
|
||||
- "${VARNISH_BACKEND_PORT}:81"
|
||||
depends_on:
|
||||
- php-fpm
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
@ -431,6 +496,7 @@ services:
|
||||
- PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT}
|
||||
- DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT}
|
||||
- APACHE_INSTALL_HTTP2=${APACHE_INSTALL_HTTP2}
|
||||
- APACHE_FOR_MAC_M1=${APACHE_FOR_MAC_M1}
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2
|
||||
@ -466,9 +532,10 @@ services:
|
||||
- ${DATA_PATH_HOST}/minio/config:/root/.minio
|
||||
ports:
|
||||
- "${MINIO_PORT}:9000"
|
||||
- "${MINIO_CONSOLE_PORT}:9001"
|
||||
environment:
|
||||
- MINIO_ACCESS_KEY=access
|
||||
- MINIO_SECRET_KEY=secretkey
|
||||
- MINIO_ROOT_USER=${MINIO_ROOT_USER}
|
||||
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
@ -491,7 +558,7 @@ services:
|
||||
ports:
|
||||
- "${MYSQL_PORT}:3306"
|
||||
networks:
|
||||
- backend
|
||||
- custom_network
|
||||
|
||||
### Percona ################################################
|
||||
percona:
|
||||
@ -520,7 +587,7 @@ services:
|
||||
- SA_PASSWORD=${MSSQL_PASSWORD}
|
||||
- ACCEPT_EULA=Y
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/mssql:/var/opt/mssql
|
||||
- mssql:/var/opt/mssql
|
||||
ports:
|
||||
- "${MSSQL_PORT}:1433"
|
||||
networks:
|
||||
@ -568,6 +635,10 @@ services:
|
||||
- GITLAB_POSTGRES_USER=${GITLAB_POSTGRES_USER}
|
||||
- GITLAB_POSTGRES_PASSWORD=${GITLAB_POSTGRES_PASSWORD}
|
||||
- GITLAB_POSTGRES_DB=${GITLAB_POSTGRES_DB}
|
||||
- KEYCLOAK_POSTGRES_INIT=${KEYCLOAK_POSTGRES_INIT}
|
||||
- KEYCLOAK_POSTGRES_USER=${KEYCLOAK_POSTGRES_USER}
|
||||
- KEYCLOAK_POSTGRES_PASSWORD=${KEYCLOAK_POSTGRES_PASSWORD}
|
||||
- KEYCLOAK_POSTGRES_DB=${KEYCLOAK_POSTGRES_DB}
|
||||
- JUPYTERHUB_POSTGRES_INIT=${JUPYTERHUB_POSTGRES_INIT}
|
||||
- JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER}
|
||||
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
|
||||
@ -585,7 +656,11 @@ services:
|
||||
|
||||
### PostgreSQL PostGis ###################################
|
||||
postgres-postgis:
|
||||
build: ./postgres-postgis
|
||||
build:
|
||||
context: ./postgres-postgis
|
||||
args:
|
||||
- POSTGIS_VERSION=${POSTGIS_VERSION}
|
||||
- INSTALL_PGSQL_HTTP_FOR_POSTGIS13=${POSTGIS_INSTALL_PGSQL_HTTP_FOR_POSTGIS13}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
|
||||
ports:
|
||||
@ -610,12 +685,24 @@ services:
|
||||
image: 'neo4j:latest'
|
||||
networks:
|
||||
- backend
|
||||
### Nats ################################################
|
||||
nats:
|
||||
build: ./nats
|
||||
ports:
|
||||
- "${NATS_CLIENT_PORT}:4222"
|
||||
- "${NATS_MONITORING_PORT}:6222"
|
||||
- "${NATS_ROUTE_PORT}:8222"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### MongoDB ##############################################
|
||||
mongo:
|
||||
build: ./mongo
|
||||
ports:
|
||||
- "${MONGODB_PORT}:27017"
|
||||
environment:
|
||||
- MONGO_INITDB_ROOT_USERNAME=${MONGO_USERNAME}
|
||||
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/mongo:/data/db
|
||||
- ${DATA_PATH_HOST}/mongo_config:/data/configdb
|
||||
@ -668,10 +755,12 @@ services:
|
||||
build: ./redis
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/redis:/data
|
||||
command: --requirepass ${REDIS_PASSWORD}
|
||||
ports:
|
||||
- "${REDIS_PORT}:6379"
|
||||
networks:
|
||||
- backend
|
||||
- custom_network
|
||||
container_name: redis
|
||||
|
||||
### Redis Cluster ##########################################
|
||||
redis-cluster:
|
||||
@ -680,6 +769,15 @@ services:
|
||||
- "${REDIS_CLUSTER_PORT_RANGE}:7000-7005"
|
||||
networks:
|
||||
- backend
|
||||
### SSDB ################################################
|
||||
ssdb:
|
||||
build: ./ssdb
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/ssdb:/data
|
||||
ports:
|
||||
- "${SSDB_PORT}:8888"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### ZooKeeper #########################################
|
||||
zookeeper:
|
||||
@ -754,17 +852,18 @@ services:
|
||||
- "${RABBITMQ_NODE_HOST_PORT}:5672"
|
||||
- "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672"
|
||||
- "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671"
|
||||
- "${RABBITMQ_WEB_STOMP_HOST_PORT}:15674"
|
||||
privileged: true
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER}
|
||||
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
|
||||
hostname: laradock-rabbitmq
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/rabbitmq:/var/lib/rabbitmq
|
||||
- ./rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
|
||||
- ./rabbitmq/management_agent.disable_metrics_collector.conf:/etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf
|
||||
depends_on:
|
||||
- php-fpm
|
||||
networks:
|
||||
- backend
|
||||
- custom_network
|
||||
container_name: rabbitmq
|
||||
|
||||
### Mercure #############################################
|
||||
mercure:
|
||||
@ -933,7 +1032,7 @@ services:
|
||||
meilisearch:
|
||||
image: getmeili/meilisearch:latest
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/meilisearch:/var/lib/meilisearch
|
||||
- ${DATA_PATH_HOST}/meilisearch:/data.ms
|
||||
ports:
|
||||
- "${MEILISEARCH_HOST_PORT}:7700"
|
||||
networks:
|
||||
@ -952,6 +1051,9 @@ services:
|
||||
- cluster.name=laradock-cluster
|
||||
- node.name=laradock-node
|
||||
- bootstrap.memory_lock=true
|
||||
- xpack.security.enabled=false
|
||||
- xpack.security.transport.ssl.enabled=false
|
||||
- indices.id_field_data.enabled=true
|
||||
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
- cluster.initial_master_nodes=laradock-node
|
||||
ulimits:
|
||||
@ -1060,6 +1162,16 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Mailpit ##############################################
|
||||
mailpit:
|
||||
build: ./mailpit
|
||||
ports:
|
||||
- "${MAILPIT_HTTP_PORT}:8025"
|
||||
- "${MAILPIT_SMTP_PORT}:1025"
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Selenium ###############################################
|
||||
selenium:
|
||||
build: ./selenium
|
||||
@ -1348,7 +1460,8 @@ services:
|
||||
ports:
|
||||
- 9010:9000
|
||||
networks:
|
||||
- backend
|
||||
- custom_network
|
||||
container_name: portainer
|
||||
|
||||
### Gitlab ################################################
|
||||
gitlab:
|
||||
@ -1380,7 +1493,8 @@ services:
|
||||
- "${GITLAB_HOST_HTTPS_PORT}:443"
|
||||
- "${GITLAB_HOST_SSH_PORT}:22"
|
||||
networks:
|
||||
- backend
|
||||
- custom_network
|
||||
container_name: gitlab
|
||||
depends_on:
|
||||
- redis
|
||||
- postgres
|
||||
@ -1454,7 +1568,7 @@ services:
|
||||
|
||||
### Docker-in-Docker ################################################
|
||||
docker-in-docker:
|
||||
image: docker:19.03-dind
|
||||
image: docker:20.10-dind
|
||||
environment:
|
||||
DOCKER_TLS_SAN: DNS:docker-in-docker
|
||||
privileged: true
|
||||
@ -1489,6 +1603,7 @@ services:
|
||||
- ADMIN_PASS=${REDIS_WEBUI_PASSWORD}
|
||||
- REDIS_1_HOST=${REDIS_WEBUI_CONNECT_HOST}
|
||||
- REDIS_1_PORT=${REDIS_WEBUI_CONNECT_PORT}
|
||||
- REDIS_1_AUTH=${REDIS_PASSWORD}
|
||||
networks:
|
||||
- backend
|
||||
ports:
|
||||
@ -1948,3 +2063,100 @@ services:
|
||||
volumes:
|
||||
- ./react:/usr/src/app/react
|
||||
- /usr/src/app/react/node_modules
|
||||
|
||||
### kafka ####################################################
|
||||
kafka:
|
||||
image: wurstmeister/kafka
|
||||
ports:
|
||||
- "9092:9092"
|
||||
environment:
|
||||
KAFKA_BROKER_ID: 1
|
||||
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
|
||||
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
|
||||
KAFKA_MESSAGE_MAX_BYTES: 2000000
|
||||
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/kafka:/kafka
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### kafka-manager ###########################################
|
||||
kafka-manager:
|
||||
image: sheepkiller/kafka-manager
|
||||
ports:
|
||||
- 9020:9000
|
||||
environment:
|
||||
ZK_HOSTS: zookeeper:2181
|
||||
networks:
|
||||
- backend
|
||||
|
||||
|
||||
### tarantool ###########################################
|
||||
tarantool:
|
||||
build: ./tarantool
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/tarantool:/var/lib/tarantool
|
||||
- ./tarantool/lua:/opt/tarantool
|
||||
ports:
|
||||
- ${TARANTOOL_PORT}:3301
|
||||
networks:
|
||||
- backend
|
||||
tarantool-admin:
|
||||
build: ./tarantool-admin
|
||||
ports:
|
||||
- ${TARANTOOL_ADMIN_PORT}:80
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### onedev ####################################################
|
||||
onedev:
|
||||
image: 1dev/server
|
||||
ports:
|
||||
- "${ONEDEV_HTTP_PORT}:6610"
|
||||
- "${ONEDEV_SSH_PORT}:6611"
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/onedev:/opt/onedev
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
restart: always
|
||||
|
||||
### keycloak ##################################################
|
||||
keycloak:
|
||||
image: bitnami/keycloak:${KEYCLOAK_VERSION}
|
||||
ports:
|
||||
- "${KEYCLOAK_HTTP_PORT}:${KEYCLOAK_HTTP_PORT}"
|
||||
environment:
|
||||
- KEYCLOAK_HTTP_PORT=${KEYCLOAK_HTTP_PORT}
|
||||
- KEYCLOAK_CREATE_ADMIN_USER=${KEYCLOAK_CREATE_ADMIN_USER}
|
||||
- KEYCLOAK_ADMIN_USER=${KEYCLOAK_ADMIN_USER}
|
||||
- KEYCLOAK_ADMIN_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD}
|
||||
- KEYCLOAK_DATABASE_HOST=${KEYCLOAK_POSTGRES_HOST}
|
||||
- KEYCLOAK_DATABASE_PORT=${POSTGRES_PORT}
|
||||
- KEYCLOAK_DATABASE_NAME=${KEYCLOAK_POSTGRES_DB}
|
||||
- KEYCLOAK_DATABASE_USER=${KEYCLOAK_POSTGRES_USER}
|
||||
- KEYCLOAK_DATABASE_PASSWORD=${KEYCLOAK_POSTGRES_PASSWORD}
|
||||
depends_on:
|
||||
- postgres
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### gitea ##################################################
|
||||
gitea:
|
||||
build: ./gitea
|
||||
volumes:
|
||||
- ./gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
networks:
|
||||
- custom_network
|
||||
container_name: gitea
|
||||
ports:
|
||||
- "4300:3000"
|
||||
- "2221:2222"
|
||||
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
ARG ELK_VERSION
|
||||
FROM docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION}
|
||||
FROM elasticsearch:${ELK_VERSION}
|
||||
|
||||
EXPOSE 9200 9300
|
||||
|
2
gitea/Dockerfile
Normal file
2
gitea/Dockerfile
Normal file
@ -0,0 +1,2 @@
|
||||
FROM gitea/gitea:latest-rootless
|
||||
LABEL maintainer="ykxiao <yk_9001@icloud.com>"
|
@ -1,4 +1,4 @@
|
||||
FROM openjdk:8-jdk
|
||||
FROM openjdk:11-jdk
|
||||
|
||||
RUN apt-get update && apt-get install -y git curl && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
@ -36,11 +36,11 @@ COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groov
|
||||
|
||||
# jenkins version being bundled in this docker image
|
||||
ARG JENKINS_VERSION
|
||||
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.89.2}
|
||||
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.381}
|
||||
|
||||
# jenkins.war checksum, download will be validated using it
|
||||
# 2.89.2
|
||||
ARG JENKINS_SHA=014f669f32bc6e925e926e260503670b32662f006799b133a031a70a794c8a14
|
||||
# 2.303.2
|
||||
ARG JENKINS_SHA=62ca5dcecbf176452d94d4438488662e223ab9594dccb564f065c63832a47302
|
||||
|
||||
|
||||
# Can be used to customize where jenkins.war get downloaded from
|
||||
|
@ -1,4 +1,4 @@
|
||||
ARG ELK_VERSION
|
||||
FROM docker.elastic.co/kibana/kibana:${ELK_VERSION}
|
||||
FROM kibana:${ELK_VERSION}
|
||||
|
||||
EXPOSE 5601
|
||||
|
@ -16,9 +16,9 @@ RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
;fi
|
||||
|
||||
RUN apk add --update \
|
||||
python \
|
||||
python-dev \
|
||||
py-pip \
|
||||
python3 \
|
||||
python3-dev \
|
||||
py3-pip \
|
||||
build-base
|
||||
|
||||
RUN npm install
|
||||
|
@ -31,13 +31,23 @@ RUN apk --update add wget \
|
||||
cyrus-sasl-dev \
|
||||
libgsasl-dev \
|
||||
oniguruma-dev \
|
||||
libressl \
|
||||
libressl-dev \
|
||||
supervisor \
|
||||
procps
|
||||
procps; \
|
||||
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ] || \
|
||||
[ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||
apk --update add libressl libressl-dev; \
|
||||
else \
|
||||
apk --update add openssl-dev; \
|
||||
fi
|
||||
|
||||
RUN pecl channel-update pecl.php.net; \
|
||||
docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
|
||||
docker-php-ext-install mysqli mbstring pdo pdo_mysql xml pcntl; \
|
||||
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80100" ] || \
|
||||
[ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80200" ]; then \
|
||||
php -m | grep -oiE '^tokenizer$'; \
|
||||
else \
|
||||
docker-php-ext-install tokenizer; \
|
||||
fi
|
||||
|
||||
# Add a non-root user to help install ffmpeg:
|
||||
ARG PUID=1000
|
||||
@ -64,14 +74,18 @@ ARG INSTALL_GNUPG=false
|
||||
RUN set -eux; if [ ${INSTALL_GNUPG} = true ]; then \
|
||||
apk add --no-cache --no-progress --virtual BUILD_DEPS_PHP_GNUPG gpgme-dev; \
|
||||
apk add --no-cache --no-progress gpgme; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install gnupg-1.5.0RC2; \
|
||||
else \
|
||||
pecl install gnupg; \
|
||||
fi; \
|
||||
docker-php-ext-enable gnupg; \
|
||||
fi
|
||||
|
||||
#Install LDAP
|
||||
ARG INSTALL_LDAP=false;
|
||||
RUN set -eux; if [ ${INSTALL_LDAP} = true ]; then \
|
||||
apk add --no-cache --no-progress openldap-dev; \
|
||||
docker-php-ext-install ldap; \
|
||||
php -m | grep -oiE '^ldap$'; \
|
||||
fi
|
||||
|
||||
#Install GD package:
|
||||
ARG INSTALL_GD=false
|
||||
RUN if [ ${INSTALL_GD} = true ]; then \
|
||||
|
@ -1,5 +1,5 @@
|
||||
ARG ELK_VERSION
|
||||
FROM docker.elastic.co/logstash/logstash:${ELK_VERSION}
|
||||
FROM logstash:${ELK_VERSION}
|
||||
|
||||
USER root
|
||||
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
|
||||
@ -7,6 +7,4 @@ RUN curl -L -o /usr/share/logstash/lib/mysql-connector-java-5.1.47.jar https://r
|
||||
ADD ./pipeline/ /usr/share/logstash/pipeline/
|
||||
ADD ./config/ /usr/share/logstash/config/
|
||||
|
||||
RUN logstash-plugin install logstash-input-jdbc
|
||||
RUN logstash-plugin install logstash-input-beats
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
FROM djfarrelly/maildev
|
||||
FROM maildev/maildev
|
||||
|
||||
LABEL maintainer="Maxime Hélias <maximehelias16@gmail.com>"
|
||||
LABEL maintainer="Dan Farrelly"
|
||||
|
||||
EXPOSE 80 25
|
||||
|
3
mailpit/Dockerfile
Normal file
3
mailpit/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM axllent/mailpit
|
||||
|
||||
LABEL maintainer="reishou <reishou90@gmail.com>"
|
@ -5,3 +5,6 @@
|
||||
# For explanations see
|
||||
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
|
||||
|
||||
[mysqld]
|
||||
innodb_log_file_size = 4048M
|
||||
innodb_strict_mode = 0
|
||||
|
@ -2,4 +2,4 @@ FROM minio/minio
|
||||
|
||||
LABEL maintainer="Thor Erik Lie <thor@thorerik.com>"
|
||||
|
||||
ENTRYPOINT ["minio", "server", "/export"]
|
||||
ENTRYPOINT ["minio", "server", "--console-address", ":9001", "/export"]
|
||||
|
5
nats/Dockerfile
Normal file
5
nats/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
FROM nats:latest
|
||||
|
||||
LABEL maintainer="Alexander Palchikov <axelpal@gmail.com>"
|
||||
|
||||
COPY nats-server.conf /etc/nats/nats-server.conf
|
25
nats/nats-server.conf
Normal file
25
nats/nats-server.conf
Normal file
@ -0,0 +1,25 @@
|
||||
# Client port of 4222 on all interfaces
|
||||
port: 4222
|
||||
|
||||
# HTTP monitoring port
|
||||
monitor_port: 8222
|
||||
|
||||
# This is for clustering multiple servers together.
|
||||
cluster {
|
||||
|
||||
# Route connections to be received on any interface on port 6222
|
||||
port: 6222
|
||||
|
||||
# Routes are protected, so need to use them with --routes flag
|
||||
# e.g. --routes=nats-route://ruser:T0pS3cr3t@otherdockerhost:6222
|
||||
authorization {
|
||||
user: ruser
|
||||
password: T0pS3cr3t
|
||||
timeout: 2
|
||||
}
|
||||
|
||||
# Routes are actively solicited and connected to from this server.
|
||||
# This Docker image has none by default, but you can pass a
|
||||
# flag to the gnatsd docker image to create one to an existing server.
|
||||
routes = []
|
||||
}
|
@ -24,7 +24,7 @@ http {
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
|
45
nginx/sites/mes-swoole-api.conf.back
Normal file
45
nginx/sites/mes-swoole-api.conf.back
Normal file
@ -0,0 +1,45 @@
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
server {
|
||||
listen 80;
|
||||
server_name mes.api.com;
|
||||
root /var/www/mes-admin-api/public;
|
||||
index index.php;
|
||||
|
||||
location = /index.php {
|
||||
# Ensure that there is no such file named "not_exists"
|
||||
# in your "public" directory.
|
||||
try_files /not_exists @swoole;
|
||||
}
|
||||
# any php files must not be accessed
|
||||
#location ~* \.php$ {
|
||||
# return 404;
|
||||
#}
|
||||
location / {
|
||||
try_files $uri $uri/ @swoole;
|
||||
}
|
||||
|
||||
location @swoole {
|
||||
set $suffix "";
|
||||
|
||||
if ($uri = /index.php) {
|
||||
set $suffix ?$query_string;
|
||||
}
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Scheme $scheme;
|
||||
proxy_set_header SERVER_PORT $server_port;
|
||||
proxy_set_header REMOTE_ADDR $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
|
||||
# IF https
|
||||
# proxy_set_header HTTPS "on";
|
||||
|
||||
proxy_pass http://workspace:4200$suffix;
|
||||
}
|
||||
}
|
56
nginx/sites/octane.conf.example
Normal file
56
nginx/sites/octane.conf.example
Normal file
@ -0,0 +1,56 @@
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
upstream octane {
|
||||
server workspace:8000 weight=5 max_fails=3 fail_timeout=30s;
|
||||
keepalive 16;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name octane.test;
|
||||
server_tokens off;
|
||||
root /var/www/octane/public;
|
||||
|
||||
index index.php;
|
||||
|
||||
charset utf-8;
|
||||
|
||||
location /index.php {
|
||||
try_files /not_exists @octane;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ @octane;
|
||||
}
|
||||
|
||||
location = /favicon.ico { access_log off; log_not_found off; }
|
||||
location = /robots.txt { access_log off; log_not_found off; }
|
||||
|
||||
error_page 404 /index.php;
|
||||
|
||||
location @octane {
|
||||
set $suffix "";
|
||||
|
||||
if ($uri = /index.php) {
|
||||
set $suffix ?$query_string;
|
||||
}
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Scheme $scheme;
|
||||
proxy_set_header SERVER_PORT $server_port;
|
||||
proxy_set_header REMOTE_ADDR $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
|
||||
proxy_pass http://octane$suffix;
|
||||
}
|
||||
|
||||
error_log /var/log/nginx/octane_error.log;
|
||||
access_log /var/log/nginx/octane_access.log;
|
||||
}
|
211
openresty/Dockerfile
Normal file
211
openresty/Dockerfile
Normal file
@ -0,0 +1,211 @@
|
||||
# Dockerfile - alpine
|
||||
# https://github.com/openresty/docker-openresty
|
||||
|
||||
ARG RESTY_IMAGE_BASE="alpine"
|
||||
ARG RESTY_IMAGE_TAG="3.13"
|
||||
|
||||
FROM ${RESTY_IMAGE_BASE}:${RESTY_IMAGE_TAG}
|
||||
|
||||
LABEL maintainer="Evan Wies <evan@neomantra.net>"
|
||||
|
||||
# Docker Build Arguments
|
||||
ARG RESTY_IMAGE_BASE="alpine"
|
||||
ARG RESTY_IMAGE_TAG="3.13"
|
||||
ARG RESTY_VERSION="1.19.3.2"
|
||||
ARG RESTY_OPENSSL_VERSION="1.1.1k"
|
||||
ARG RESTY_OPENSSL_PATCH_VERSION="1.1.1f"
|
||||
ARG RESTY_OPENSSL_URL_BASE="https://www.openssl.org/source"
|
||||
ARG RESTY_PCRE_VERSION="8.44"
|
||||
ARG RESTY_J="1"
|
||||
ARG RESTY_CONFIG_OPTIONS="\
|
||||
--with-compat \
|
||||
--with-file-aio \
|
||||
--with-http_addition_module \
|
||||
--with-http_auth_request_module \
|
||||
--with-http_dav_module \
|
||||
--with-http_flv_module \
|
||||
--with-http_geoip_module=dynamic \
|
||||
--with-http_gunzip_module \
|
||||
--with-http_gzip_static_module \
|
||||
--with-http_image_filter_module=dynamic \
|
||||
--with-http_mp4_module \
|
||||
--with-http_random_index_module \
|
||||
--with-http_realip_module \
|
||||
--with-http_secure_link_module \
|
||||
--with-http_slice_module \
|
||||
--with-http_ssl_module \
|
||||
--with-http_stub_status_module \
|
||||
--with-http_sub_module \
|
||||
--with-http_v2_module \
|
||||
--with-http_xslt_module=dynamic \
|
||||
--with-ipv6 \
|
||||
--with-mail \
|
||||
--with-mail_ssl_module \
|
||||
--with-md5-asm \
|
||||
--with-pcre-jit \
|
||||
--with-sha1-asm \
|
||||
--with-stream \
|
||||
--with-stream_ssl_module \
|
||||
--with-threads \
|
||||
"
|
||||
ARG RESTY_CONFIG_OPTIONS_MORE="\
|
||||
--conf-path=/etc/nginx/nginx.conf \
|
||||
--error-log-path=/var/log/nginx/error.log \
|
||||
--http-log-path=/var/log/nginx/access.log \
|
||||
--pid-path=/var/run/nginx.pid \
|
||||
--user=www-data \
|
||||
--group=www-data \
|
||||
--with-http_iconv_module \
|
||||
--add-module=/tmp/nginx-ct-master \
|
||||
--add-module=/tmp/nginx-dav-ext-module-master \
|
||||
--add-module=/tmp/ngx_brotli-master \
|
||||
--add-module=/tmp/ngx_cache_purge-master \
|
||||
--add-module=/tmp/ngx_http_substitutions_filter_module-master \
|
||||
"
|
||||
ARG RESTY_LUAJIT_OPTIONS="--with-luajit-xcflags='-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT'"
|
||||
|
||||
ARG RESTY_ADD_PACKAGE_BUILDDEPS=""
|
||||
ARG RESTY_ADD_PACKAGE_RUNDEPS=""
|
||||
ARG RESTY_EVAL_PRE_CONFIGURE=""
|
||||
ARG RESTY_EVAL_POST_MAKE=""
|
||||
|
||||
# These are not intended to be user-specified
|
||||
ARG _RESTY_CONFIG_DEPS="--with-pcre \
|
||||
--with-cc-opt='-DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl/include' \
|
||||
--with-ld-opt='-L/usr/local/openresty/pcre/lib -L/usr/local/openresty/openssl/lib -Wl,-rpath,/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl/lib' \
|
||||
"
|
||||
|
||||
LABEL resty_image_base="${RESTY_IMAGE_BASE}"
|
||||
LABEL resty_image_tag="${RESTY_IMAGE_TAG}"
|
||||
LABEL resty_version="${RESTY_VERSION}"
|
||||
LABEL resty_openssl_version="${RESTY_OPENSSL_VERSION}"
|
||||
LABEL resty_openssl_patch_version="${RESTY_OPENSSL_PATCH_VERSION}"
|
||||
LABEL resty_openssl_url_base="${RESTY_OPENSSL_URL_BASE}"
|
||||
LABEL resty_pcre_version="${RESTY_PCRE_VERSION}"
|
||||
LABEL resty_config_options="${RESTY_CONFIG_OPTIONS}"
|
||||
LABEL resty_config_options_more="${RESTY_CONFIG_OPTIONS_MORE}"
|
||||
LABEL resty_config_deps="${_RESTY_CONFIG_DEPS}"
|
||||
LABEL resty_add_package_builddeps="${RESTY_ADD_PACKAGE_BUILDDEPS}"
|
||||
LABEL resty_add_package_rundeps="${RESTY_ADD_PACKAGE_RUNDEPS}"
|
||||
LABEL resty_eval_pre_configure="${RESTY_EVAL_PRE_CONFIGURE}"
|
||||
LABEL resty_eval_post_make="${RESTY_EVAL_POST_MAKE}"
|
||||
|
||||
ARG CHANGE_SOURCE=false
|
||||
RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
# Change application source from dl-cdn.alpinelinux.org to aliyun source
|
||||
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories \
|
||||
;fi
|
||||
|
||||
RUN set -x ; \
|
||||
addgroup -g 82 -S www-data ; \
|
||||
adduser -u 82 -D -S -G www-data www-data && exit 0 ; exit 1
|
||||
|
||||
|
||||
RUN apk add --no-cache --virtual .build-deps \
|
||||
build-base \
|
||||
coreutils \
|
||||
curl \
|
||||
gd-dev \
|
||||
geoip-dev \
|
||||
libxslt-dev \
|
||||
linux-headers \
|
||||
make \
|
||||
perl-dev \
|
||||
readline-dev \
|
||||
zlib-dev \
|
||||
${RESTY_ADD_PACKAGE_BUILDDEPS} \
|
||||
&& apk add --no-cache \
|
||||
gd \
|
||||
geoip \
|
||||
libgcc \
|
||||
libxslt \
|
||||
zlib \
|
||||
bash \
|
||||
logrotate \
|
||||
openssl \
|
||||
${RESTY_ADD_PACKAGE_RUNDEPS} \
|
||||
&& cd /tmp \
|
||||
&& if [ -n "${RESTY_EVAL_PRE_CONFIGURE}" ]; then eval $(echo ${RESTY_EVAL_PRE_CONFIGURE}); fi \
|
||||
&& cd /tmp \
|
||||
&& curl -fSL "${RESTY_OPENSSL_URL_BASE}/openssl-${RESTY_OPENSSL_VERSION}.tar.gz" -o openssl-${RESTY_OPENSSL_VERSION}.tar.gz \
|
||||
&& tar xzf openssl-${RESTY_OPENSSL_VERSION}.tar.gz \
|
||||
&& cd openssl-${RESTY_OPENSSL_VERSION} \
|
||||
&& if [ $(echo ${RESTY_OPENSSL_VERSION} | cut -c 1-5) = "1.1.1" ] ; then \
|
||||
echo 'patching OpenSSL 1.1.1 for OpenResty' \
|
||||
&& curl -s https://raw.githubusercontent.com/openresty/openresty/master/patches/openssl-${RESTY_OPENSSL_PATCH_VERSION}-sess_set_get_cb_yield.patch | patch -p1 ; \
|
||||
fi \
|
||||
&& if [ $(echo ${RESTY_OPENSSL_VERSION} | cut -c 1-5) = "1.1.0" ] ; then \
|
||||
echo 'patching OpenSSL 1.1.0 for OpenResty' \
|
||||
&& curl -s https://raw.githubusercontent.com/openresty/openresty/ed328977028c3ec3033bc25873ee360056e247cd/patches/openssl-1.1.0j-parallel_build_fix.patch | patch -p1 \
|
||||
&& curl -s https://raw.githubusercontent.com/openresty/openresty/master/patches/openssl-${RESTY_OPENSSL_PATCH_VERSION}-sess_set_get_cb_yield.patch | patch -p1 ; \
|
||||
fi \
|
||||
&& ./config \
|
||||
no-threads shared zlib -g \
|
||||
enable-ssl3 enable-ssl3-method \
|
||||
--prefix=/usr/local/openresty/openssl \
|
||||
--libdir=lib \
|
||||
-Wl,-rpath,/usr/local/openresty/openssl/lib \
|
||||
&& make -j${RESTY_J} \
|
||||
&& make -j${RESTY_J} install_sw \
|
||||
&& cd /tmp \
|
||||
&& curl -fSL https://downloads.sourceforge.net/project/pcre/pcre/${RESTY_PCRE_VERSION}/pcre-${RESTY_PCRE_VERSION}.tar.gz -o pcre-${RESTY_PCRE_VERSION}.tar.gz \
|
||||
&& tar xzf pcre-${RESTY_PCRE_VERSION}.tar.gz \
|
||||
&& cd /tmp/pcre-${RESTY_PCRE_VERSION} \
|
||||
&& ./configure \
|
||||
--prefix=/usr/local/openresty/pcre \
|
||||
--disable-cpp \
|
||||
--enable-jit \
|
||||
--enable-utf \
|
||||
--enable-unicode-properties \
|
||||
&& make -j${RESTY_J} \
|
||||
&& make -j${RESTY_J} install \
|
||||
&& cd /tmp \
|
||||
&& curl -fSL https://openresty.org/download/openresty-${RESTY_VERSION}.tar.gz -o openresty-${RESTY_VERSION}.tar.gz \
|
||||
&& tar xzf openresty-${RESTY_VERSION}.tar.gz \
|
||||
&& curl -fSL https://github.com/grahamedgecombe/nginx-ct/archive/master.tar.gz -o nginx-ct.tar.gz \
|
||||
&& tar xzf nginx-ct.tar.gz \
|
||||
&& curl -fSL https://github.com/arut/nginx-dav-ext-module/archive/master.tar.gz -o nginx-dav-ext-module.tar.gz \
|
||||
&& tar xzf nginx-dav-ext-module.tar.gz \
|
||||
&& curl -fSL https://github.com/google/ngx_brotli/archive/master.tar.gz -o ngx_brotli.tar.gz \
|
||||
&& tar xzf ngx_brotli.tar.gz \
|
||||
&& curl -fSL https://github.com/yaoweibin/ngx_http_substitutions_filter_module/archive/master.tar.gz -o ngx_http_substitutions_filter_module.tar.gz \
|
||||
&& tar xzf ngx_http_substitutions_filter_module.tar.gz \
|
||||
&& curl -fSL https://github.com/FRiCKLE/ngx_cache_purge/archive/master.tar.gz -o ngx_cache_purge.tar.gz \
|
||||
&& tar xzf ngx_cache_purge.tar.gz \
|
||||
&& cd /tmp/openresty-${RESTY_VERSION} \
|
||||
&& eval ./configure -j${RESTY_J} ${_RESTY_CONFIG_DEPS} ${RESTY_CONFIG_OPTIONS} ${RESTY_CONFIG_OPTIONS_MORE} ${RESTY_LUAJIT_OPTIONS} \
|
||||
&& make -j${RESTY_J} \
|
||||
&& make -j${RESTY_J} install \
|
||||
&& cd /tmp \
|
||||
&& if [ -n "${RESTY_EVAL_POST_MAKE}" ]; then eval $(echo ${RESTY_EVAL_POST_MAKE}); fi \
|
||||
&& rm -rf \
|
||||
openssl-${RESTY_OPENSSL_VERSION}.tar.gz openssl-${RESTY_OPENSSL_VERSION} \
|
||||
pcre-${RESTY_PCRE_VERSION}.tar.gz pcre-${RESTY_PCRE_VERSION} \
|
||||
openresty-${RESTY_VERSION}.tar.gz openresty-${RESTY_VERSION} \
|
||||
&& apk del .build-deps \
|
||||
&& mkdir -p /etc/nginx/conf.d/ /var/run/openresty/
|
||||
|
||||
# Add additional binaries into PATH for convenience
|
||||
ENV PATH=$PATH:/usr/local/openresty/luajit/bin:/usr/local/openresty/nginx/sbin:/usr/local/openresty/bin
|
||||
|
||||
|
||||
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
|
||||
|
||||
# Copy nginx configuration files
|
||||
COPY nginx.conf /etc/nginx/
|
||||
|
||||
ADD ./startup.sh /opt/startup.sh
|
||||
RUN sed -i 's/\r//g' /opt/startup.sh
|
||||
CMD ["/bin/bash", "/opt/startup.sh"]
|
||||
|
||||
EXPOSE 80 81 443
|
14
openresty/logrotate/nginx
Normal file
14
openresty/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
|
||||
}
|
100
openresty/nginx.conf
Normal file
100
openresty/nginx.conf
Normal file
@ -0,0 +1,100 @@
|
||||
# nginx.conf -- docker-openresty
|
||||
#
|
||||
# This file is installed to:
|
||||
# `/usr/local/openresty/nginx/conf/nginx.conf`
|
||||
# and is the file loaded by nginx at startup,
|
||||
# unless the user specifies otherwise.
|
||||
#
|
||||
# It tracks the upstream OpenResty's `nginx.conf`, but removes the `server`
|
||||
# section and adds this directive:
|
||||
# `include /etc/nginx/conf.d/*.conf;`
|
||||
#
|
||||
# The `docker-openresty` file `nginx.vh.default.conf` is copied to
|
||||
# `/etc/nginx/conf.d/default.conf`. It contains the `server section
|
||||
# of the upstream `nginx.conf`.
|
||||
#
|
||||
# See https://github.com/openresty/docker-openresty/blob/master/README.md#nginx-config-files
|
||||
#
|
||||
|
||||
user www-data;
|
||||
worker_processes 4;
|
||||
|
||||
# Enables the use of JIT for regular expressions to speed-up their processing.
|
||||
pcre_jit on;
|
||||
|
||||
|
||||
#error_log logs/error.log;
|
||||
#error_log logs/error.log notice;
|
||||
#error_log logs/error.log info;
|
||||
|
||||
pid /var/run/nginx.pid;
|
||||
daemon off;
|
||||
|
||||
worker_rlimit_nofile 65535;
|
||||
events {
|
||||
use epoll;
|
||||
worker_connections 65535;
|
||||
multi_accept on;
|
||||
accept_mutex on;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
# Enables or disables the use of underscores in client request header fields.
|
||||
# When the use of underscores is disabled, request header fields whose names contain underscores are marked as invalid and become subject to the ignore_invalid_headers directive.
|
||||
# underscores_in_headers off;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for" "$host"';
|
||||
#access_log logs/access.log main;
|
||||
|
||||
# Log in JSON Format
|
||||
# log_format nginxlog_json escape=json '{ "timestamp": "$time_iso8601", '
|
||||
# '"remote_addr": "$remote_addr", '
|
||||
# '"body_bytes_sent": $body_bytes_sent, '
|
||||
# '"request_time": $request_time, '
|
||||
# '"response_status": $status, '
|
||||
# '"request": "$request", '
|
||||
# '"request_method": "$request_method", '
|
||||
# '"host": "$host",'
|
||||
# '"upstream_addr": "$upstream_addr",'
|
||||
# '"http_x_forwarded_for": "$http_x_forwarded_for",'
|
||||
# '"http_referrer": "$http_referer", '
|
||||
# '"http_user_agent": "$http_user_agent", '
|
||||
# '"http_version": "$server_protocol", '
|
||||
# '"nginx_access": true }';
|
||||
# access_log /dev/stdout nginxlog_json;
|
||||
|
||||
# See Move default writable paths to a dedicated directory (#119)
|
||||
# https://github.com/openresty/docker-openresty/issues/119
|
||||
client_body_temp_path /var/run/openresty/nginx-client-body;
|
||||
proxy_temp_path /var/run/openresty/nginx-proxy;
|
||||
fastcgi_temp_path /var/run/openresty/nginx-fastcgi;
|
||||
uwsgi_temp_path /var/run/openresty/nginx-uwsgi;
|
||||
scgi_temp_path /var/run/openresty/nginx-scgi;
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
|
||||
#keepalive_timeout 0;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
client_max_body_size 128M;
|
||||
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
||||
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
include /etc/nginx/sites-available/*.conf;
|
||||
|
||||
# Don't reveal OpenResty version to clients.
|
||||
server_tokens off;
|
||||
charset UTF-8;
|
||||
}
|
2
openresty/sites/.gitignore
vendored
Normal file
2
openresty/sites/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*.conf
|
||||
!default.conf
|
43
openresty/sites/app.conf.example
Normal file
43
openresty/sites/app.conf.example
Normal file
@ -0,0 +1,43 @@
|
||||
server {
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
# For https
|
||||
# listen 443 ssl;
|
||||
# listen [::]:443 ssl ipv6only=on;
|
||||
# ssl_certificate /etc/nginx/ssl/default.crt;
|
||||
# ssl_certificate_key /etc/nginx/ssl/default.key;
|
||||
|
||||
server_name app.test;
|
||||
root /var/www/app;
|
||||
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_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/letsencrypt/;
|
||||
log_not_found off;
|
||||
}
|
||||
|
||||
error_log /var/log/nginx/app_error.log;
|
||||
access_log /var/log/nginx/app_access.log;
|
||||
}
|
43
openresty/sites/confluence.conf.example
Normal file
43
openresty/sites/confluence.conf.example
Normal file
@ -0,0 +1,43 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name www.confluence-domain.com;
|
||||
rewrite ^(.*) https://confluence-domain.com$1/ permanent;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name confluence-domain.com;
|
||||
rewrite ^(.*) https://confluence-domain.com/ permanent;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
ssl_certificate /etc/nginx/ssl/confluence-domain.com.crt;
|
||||
ssl_certificate_key /etc/nginx/ssl/confluence-domain.com.key;
|
||||
|
||||
server_name confluence-domain.com;
|
||||
|
||||
location / {
|
||||
client_max_body_size 100m;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Server $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass http://confluence-domain.com:8090/;
|
||||
}
|
||||
|
||||
location /synchrony {
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Server $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass http://confluence-domain.com:8090/synchrony-proxy;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
}
|
||||
|
||||
error_log /var/log/nginx/bookchangerru_error.log;
|
||||
access_log /var/log/nginx/bookchangerru_access.log;
|
||||
}
|
40
openresty/sites/default.conf
Normal file
40
openresty/sites/default.conf
Normal file
@ -0,0 +1,40 @@
|
||||
server {
|
||||
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server ipv6only=on;
|
||||
|
||||
# For https
|
||||
# listen 443 ssl default_server;
|
||||
# listen [::]:443 ssl default_server ipv6only=on;
|
||||
# ssl_certificate /etc/nginx/ssl/default.crt;
|
||||
# ssl_certificate_key /etc/nginx/ssl/default.key;
|
||||
|
||||
server_name localhost;
|
||||
root /var/www/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_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/letsencrypt/;
|
||||
log_not_found off;
|
||||
}
|
||||
}
|
49
openresty/sites/laravel.conf.example
Normal file
49
openresty/sites/laravel.conf.example
Normal file
@ -0,0 +1,49 @@
|
||||
#server {
|
||||
# listen 80;
|
||||
# server_name laravel.com.co;
|
||||
# return 301 https://laravel.com.co$request_uri;
|
||||
#}
|
||||
|
||||
server {
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
# For https
|
||||
# listen 443 ssl;
|
||||
# listen [::]:443 ssl ipv6only=on;
|
||||
# ssl_certificate /etc/nginx/ssl/default.crt;
|
||||
# ssl_certificate_key /etc/nginx/ssl/default.key;
|
||||
|
||||
server_name laravel.test;
|
||||
root /var/www/laravel/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_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/letsencrypt/;
|
||||
log_not_found off;
|
||||
}
|
||||
|
||||
error_log /var/log/nginx/laravel_error.log;
|
||||
access_log /var/log/nginx/laravel_access.log;
|
||||
}
|
110
openresty/sites/laravel_varnish.conf.example
Normal file
110
openresty/sites/laravel_varnish.conf.example
Normal file
@ -0,0 +1,110 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name www.laravel.test;
|
||||
rewrite ^(.*) https://laravel.test$1/ permanent;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name laravel.test;
|
||||
rewrite ^(.*) https://laravel.test$1/ permanent;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl ;
|
||||
listen [::]:443 ssl;
|
||||
ssl_certificate /etc/nginx/ssl/laravel.test.crt;
|
||||
ssl_certificate_key /etc/nginx/ssl/laravel.test.key;
|
||||
server_name www.laravel.test;
|
||||
rewrite ^(.*) https://laravel.test$1/ permanent;
|
||||
}
|
||||
|
||||
server {
|
||||
server_name laravel.test;
|
||||
|
||||
# For https
|
||||
listen 443 ssl ;
|
||||
listen [::]:443 ssl;
|
||||
ssl_certificate /etc/nginx/ssl/laravel.test.crt;
|
||||
ssl_certificate_key /etc/nginx/ssl/laravel.test.key;
|
||||
|
||||
port_in_redirect off;
|
||||
|
||||
add_header Strict-Transport-Security "max-age=31536000";
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
|
||||
location / {
|
||||
proxy_pass http://proxy:6081;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Forwarded-Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_set_header HTTPS "on";
|
||||
proxy_redirect off;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
server_name laravel.test;
|
||||
|
||||
listen 81;
|
||||
listen [::]:81;
|
||||
|
||||
root /var/www/laravel.test/www;
|
||||
|
||||
index index.php index.html index.htm;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$is_args$args;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_max_temp_file_size 4m;
|
||||
fastcgi_pass php-upstream;
|
||||
|
||||
# Additional configs
|
||||
fastcgi_pass_header Set-Cookie;
|
||||
fastcgi_pass_header Cookie;
|
||||
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
|
||||
try_files $uri /index.php =404;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
|
||||
fastcgi_param HTTPS on;
|
||||
|
||||
fastcgi_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
# Caching
|
||||
location ~* \.(ico|jpg|webp|jpeg|gif|css|png|js|ico|bmp|zip|woff)$ {
|
||||
access_log off;
|
||||
log_not_found off;
|
||||
add_header Pragma public;
|
||||
add_header Cache-Control "public";
|
||||
expires 14d;
|
||||
}
|
||||
|
||||
location ~* \.(php|html)$ {
|
||||
access_log on;
|
||||
log_not_found on;
|
||||
add_header Pragma public;
|
||||
add_header Cache-Control "public";
|
||||
expires 14d;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
47
openresty/sites/node.conf.example
Normal file
47
openresty/sites/node.conf.example
Normal file
@ -0,0 +1,47 @@
|
||||
#server {
|
||||
# listen 80;
|
||||
# server_name node.com.co;
|
||||
# return 301 https://node.com.co$request_uri;
|
||||
#}
|
||||
|
||||
server {
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
#listen 443;
|
||||
#listen [::]:443;
|
||||
|
||||
server_name node.com.co;
|
||||
|
||||
#ssl on;
|
||||
#ssl_certificate /var/certs/node.com.co/cert.pem;
|
||||
#ssl_certificate_key /var/certs/node.com.co/privkey.pem;
|
||||
#ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
|
||||
#ssl_ciphers HIGH:!aNULL:!MD5;
|
||||
|
||||
|
||||
location / {
|
||||
proxy_pass http://node.com.co:3001;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection 'upgrade';
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/letsencrypt/;
|
||||
log_not_found off;
|
||||
}
|
||||
|
||||
error_log /var/log/nginx/node.com.co.local_error.log;
|
||||
access_log /var/log/nginx/node.com.co.local_access.log;
|
||||
}
|
42
openresty/sites/symfony.conf.example
Normal file
42
openresty/sites/symfony.conf.example
Normal file
@ -0,0 +1,42 @@
|
||||
server {
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
# For https
|
||||
# listen 443 ssl;
|
||||
# listen [::]:443 ssl ipv6only=on;
|
||||
# ssl_certificate /etc/nginx/ssl/default.crt;
|
||||
# ssl_certificate_key /etc/nginx/ssl/default.key;
|
||||
|
||||
server_name symfony.test;
|
||||
root /var/www/projects/symfony/web;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
location / {
|
||||
try_files $uri @rewriteapp;
|
||||
}
|
||||
|
||||
# For Symfony 3
|
||||
location @rewriteapp {
|
||||
rewrite ^(.*)$ /app.php/$1 last;
|
||||
}
|
||||
|
||||
# For Symfony 4 config
|
||||
# location @rewriteapp {
|
||||
# rewrite ^(.*)$ /index.php/$1 last;
|
||||
# }
|
||||
|
||||
location ~ ^/(app|app_dev|config|index)\.php(/|$) {
|
||||
fastcgi_pass php-upstream;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
fastcgi_param HTTPS off;
|
||||
}
|
||||
|
||||
error_log /var/log/nginx/symfony_error.log;
|
||||
access_log /var/log/nginx/symfony_access.log;
|
||||
}
|
4
openresty/ssl/.gitignore
vendored
Normal file
4
openresty/ssl/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
*.crt
|
||||
*.csr
|
||||
*.key
|
||||
*.pem
|
14
openresty/startup.sh
Normal file
14
openresty/startup.sh
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -f /etc/nginx/ssl/default.crt ]; then
|
||||
openssl genrsa -out "/etc/nginx/ssl/default.key" 2048
|
||||
openssl req -new -key "/etc/nginx/ssl/default.key" -out "/etc/nginx/ssl/default.csr" -subj "/CN=default/O=default/C=UK"
|
||||
openssl x509 -req -days 365 -in "/etc/nginx/ssl/default.csr" -signkey "/etc/nginx/ssl/default.key" -out "/etc/nginx/ssl/default.crt"
|
||||
chmod 644 /etc/nginx/ssl/default.key
|
||||
fi
|
||||
|
||||
# Start crond in background
|
||||
crond -l 2 -b
|
||||
|
||||
# Start nginx in foreground
|
||||
nginx
|
@ -28,9 +28,9 @@ ENV DEBIAN_FRONTEND noninteractive
|
||||
ARG CHANGE_SOURCE=false
|
||||
RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
# Change application source from deb.debian.org to aliyun source
|
||||
sed -i 's/deb.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list && \
|
||||
sed -i 's/security.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list && \
|
||||
sed -i 's/security-cdn.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list \
|
||||
sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \
|
||||
sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \
|
||||
sed -i 's/security-cdn.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list \
|
||||
;fi
|
||||
|
||||
# always run apt update when start and after add new source list, then clean up at end.
|
||||
@ -117,11 +117,7 @@ ARG INSTALL_GNUPG=false
|
||||
|
||||
RUN if [ ${INSTALL_GNUPG} = true ]; then \
|
||||
apt-get -yq install libgpgme-dev; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install gnupg-1.5.0RC2; \
|
||||
else \
|
||||
pecl install gnupg; \
|
||||
fi; \
|
||||
docker-php-ext-enable gnupg; \
|
||||
php -m | grep -q 'gnupg'; \
|
||||
fi
|
||||
@ -197,6 +193,7 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \
|
||||
|
||||
ARG INSTALL_PG_CLIENT=false
|
||||
ARG INSTALL_POSTGIS=false
|
||||
ARG PG_CLIENT_VERSION
|
||||
|
||||
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
|
||||
apt-get install -yqq gnupg \
|
||||
@ -204,7 +201,7 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
|
||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt $VERSION_CODENAME-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
|
||||
&& curl -sL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
||||
&& apt-get update -yqq \
|
||||
&& apt-get install -yqq postgresql-client-12 postgis; \
|
||||
&& apt-get install -yqq postgresql-client-${PG_CLIENT_VERSION} postgis; \
|
||||
if [ ${INSTALL_POSTGIS} = true ]; then \
|
||||
apt-get install -yqq postgis; \
|
||||
fi \
|
||||
@ -216,11 +213,17 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XDEBUG=false
|
||||
ARG XDEBUG_PORT=9003
|
||||
|
||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# Install the xdebug extension
|
||||
# https://xdebug.org/docs/compat
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.0.0; \
|
||||
pecl install xdebug-3.2.1; \
|
||||
else \
|
||||
pecl install xdebug-3.1.6; \
|
||||
fi; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install xdebug-2.5.5; \
|
||||
@ -238,10 +241,10 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# Copy xdebug configuration for remote debugging
|
||||
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
||||
|
||||
RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||
sed -i "s/xdebug.remote_host=/xdebug.client_host=/" /usr/local/etc/php/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_connect_back=0/xdebug.discover_client_host=false/" /usr/local/etc/php/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_port=9000/xdebug.client_port=9003/" /usr/local/etc/php/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_port=9000/xdebug.client_port=${XDEBUG_PORT}/" /usr/local/etc/php/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.profiler_enable=0/; xdebug.profiler_enable=0/" /usr/local/etc/php/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.profiler_output_dir=/xdebug.output_dir=/" /usr/local/etc/php/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_mode=req/; xdebug.remote_mode=req/" /usr/local/etc/php/conf.d/xdebug.ini && \
|
||||
@ -262,12 +265,10 @@ USER root
|
||||
ARG INSTALL_PCOV=false
|
||||
|
||||
RUN if [ ${INSTALL_PCOV} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
if [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; }; then \
|
||||
pecl install pcov && \
|
||||
docker-php-ext-enable pcov \
|
||||
;fi \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -326,6 +327,8 @@ RUN set -eux; \
|
||||
pecl install swoole-4.3.5; \
|
||||
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
|
||||
pecl install swoole-4.5.11; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
pecl install swoole-4.8.12; \
|
||||
else \
|
||||
pecl install swoole; \
|
||||
fi; \
|
||||
@ -357,13 +360,19 @@ ARG INSTALL_MONGO=false
|
||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||
# Install the mongodb extension
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install mongo && \
|
||||
docker-php-ext-enable mongo \
|
||||
;else \
|
||||
pecl install mongodb && \
|
||||
docker-php-ext-enable mongodb \
|
||||
;fi \
|
||||
;fi
|
||||
pecl install mongo; \
|
||||
docker-php-ext-enable mongo; \
|
||||
php -m | grep -oiE '^mongo$'; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ] ;}; then \
|
||||
pecl install mongodb-1.9.2; \
|
||||
else \
|
||||
pecl install mongodb; \
|
||||
fi; \
|
||||
docker-php-ext-enable mongodb; \
|
||||
php -m | grep -oiE '^mongodb$'; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
###########################################################################
|
||||
# Xhprof:
|
||||
@ -410,32 +419,18 @@ RUN set -eux; \
|
||||
|
||||
ARG INSTALL_AMQP=false
|
||||
|
||||
RUN if [ ${INSTALL_AMQP} = true ]; then \
|
||||
# download and install manually, to make sure it's compatible with ampq installed by pecl later
|
||||
# install cmake first
|
||||
apt-get -yqq install cmake && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ] || [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||
curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/v0.11.0.tar.gz; \
|
||||
else \
|
||||
curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz; \
|
||||
fi && \
|
||||
mkdir -p rabbitmq-c && \
|
||||
tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \
|
||||
cd rabbitmq-c/ && \
|
||||
mkdir _build && cd _build/ && \
|
||||
cmake .. && \
|
||||
cmake --build . --target install && \
|
||||
# Install the amqp extension
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_AMQP} = true ]; then \
|
||||
# # Install the amqp extension
|
||||
apt-get -yqq install librabbitmq-dev; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
printf "\n" | pecl install amqp-1.11.0beta; \
|
||||
pecl install amqp-1.11.0beta; \
|
||||
else \
|
||||
printf "\n" | pecl install amqp; \
|
||||
fi && \
|
||||
docker-php-ext-enable amqp && \
|
||||
# Install the sockets extension
|
||||
docker-php-ext-install sockets && \
|
||||
php -m | grep -q 'sockets' \
|
||||
;fi
|
||||
pecl install amqp; \
|
||||
fi; \
|
||||
docker-php-ext-enable amqp; \
|
||||
php -m | grep -oiE '^amqp$'; \
|
||||
fi
|
||||
|
||||
###########################################################################
|
||||
# CASSANDRA:
|
||||
@ -495,6 +490,23 @@ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
|
||||
docker-php-ext-enable gearman \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# xlswriter:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XLSWRITER=false
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_XLSWRITER} = true ]; then \
|
||||
# Install Php xlswriter Extension \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then \
|
||||
pecl install xlswriter &&\
|
||||
docker-php-ext-enable xlswriter &&\
|
||||
php -m | grep -q 'xlswriter'; \
|
||||
else \
|
||||
echo "PHP Extension for xlswriter is not supported for PHP 5.0";\
|
||||
fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# pcntl
|
||||
###########################################################################
|
||||
@ -588,13 +600,17 @@ RUN set -xe; \
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_OCI8=false
|
||||
ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/diogomascarenha/oracle-instantclient/raw/master/
|
||||
ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/the-paulus/oracle-instantclient/raw/master/
|
||||
ARG ORACLE_INSTANT_CLIENT_ARCH=x86_64
|
||||
ARG ORACLE_INSTANT_CLIENT_MAJOR=18
|
||||
ARG ORACLE_INSTANT_CLIENT_MINOR=3
|
||||
|
||||
ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_12_1"
|
||||
ENV OCI_HOME="/opt/oracle/instantclient_12_1"
|
||||
ENV OCI_LIB_DIR="/opt/oracle/instantclient_12_1"
|
||||
ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_12_1/sdk/include"
|
||||
ENV OCI_VERSION=12
|
||||
ENV ORACLE_INSTANT_CLIENT_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR}_${ORACLE_INSTANT_CLIENT_MINOR}
|
||||
ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}"
|
||||
ENV OCI_HOME="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}"
|
||||
ENV OCI_LIB_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}"
|
||||
ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/sdk/include"
|
||||
ENV OCI_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR}
|
||||
|
||||
RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
# Install wget
|
||||
@ -602,13 +618,13 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
# Install Oracle Instantclient
|
||||
&& mkdir /opt/oracle \
|
||||
&& cd /opt/oracle \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.x64-12.1.0.2.0.zip \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.x64-12.1.0.2.0.zip \
|
||||
&& unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
|
||||
&& unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
|
||||
&& ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \
|
||||
&& ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \
|
||||
&& ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \
|
||||
&& unzip /opt/oracle/instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \
|
||||
&& unzip /opt/oracle/instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \
|
||||
&& if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so ; fi\
|
||||
&& if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so ; fi \
|
||||
&& if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so ; fi \
|
||||
&& rm -rf /opt/oracle/*.zip \
|
||||
# Install PHP extensions deps
|
||||
&& apt-get install --no-install-recommends -yqq \
|
||||
@ -616,11 +632,17 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
freetds-dev && \
|
||||
# Install PHP extensions
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.10; \
|
||||
echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.0.12; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.2.0; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8-3.0.1; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION . PHP_MINOR_VERSION;") = "81" ]; then \
|
||||
echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8-3.2.1; \
|
||||
else \
|
||||
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.2.0; \
|
||||
echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8; \
|
||||
fi \
|
||||
&& docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 \
|
||||
&& docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION},${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} \
|
||||
&& docker-php-ext-configure pdo_dblib --with-libdir=/lib/x86_64-linux-gnu \
|
||||
&& docker-php-ext-install \
|
||||
pdo_oci \
|
||||
@ -635,13 +657,20 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "8.1" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.4" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.3" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.2" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.1" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.0" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "5.6" ]; then \
|
||||
# Install the php ioncube loader
|
||||
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
|
||||
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
|
||||
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
|
||||
&& printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
|
||||
&& rm -rf /tmp/ioncube* \
|
||||
&& php -m | grep -oiE '^ionCube Loader$' \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
@ -704,7 +733,8 @@ ARG INSTALL_LDAP=false
|
||||
|
||||
RUN if [ ${INSTALL_LDAP} = true ]; then \
|
||||
apt-get install -yqq libldap2-dev && \
|
||||
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \
|
||||
ARCH=$(arch) && \
|
||||
docker-php-ext-configure ldap --with-libdir="lib/${ARCH}-linux-gnu/" && \
|
||||
docker-php-ext-install ldap \
|
||||
;fi
|
||||
|
||||
@ -720,33 +750,34 @@ RUN set -eux; \
|
||||
apt-get -yqq install freetds-dev libsybdb5 \
|
||||
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.so /usr/lib/libsybdb.so \
|
||||
&& docker-php-ext-install mssql pdo_dblib \
|
||||
&& php -m | grep -q 'mssql' \
|
||||
&& php -m | grep -q 'pdo_dblib' \
|
||||
&& php -m | grep -oiE '^mssql$' \
|
||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||
;else \
|
||||
###########################################################################
|
||||
# Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
|
||||
###########################################################################
|
||||
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
|
||||
apt-get install -yqq apt-transport-https gnupg \
|
||||
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux \
|
||||
apt-get update \
|
||||
&& apt-get install -yqq apt-transport-https gnupg lsb-release \
|
||||
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
|
||||
&& curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& curl https://packages.microsoft.com/config/debian/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& apt-get update -yqq \
|
||||
&& ACCEPT_EULA=Y apt-get install -yqq unixodbc unixodbc-dev libgss3 odbcinst msodbcsql17 locales \
|
||||
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
|
||||
&& ln -sfn /etc/locale.alias /usr/share/locale/locale.alias \
|
||||
&& locale-gen \
|
||||
&& if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "2" ]; then \
|
||||
pecl install pdo_sqlsrv-5.8.1 sqlsrv-5.8.1 \
|
||||
;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ]; then \
|
||||
pecl install pdo_sqlsrv-5.6.1 sqlsrv-5.6.1 \
|
||||
;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
&& if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||
pecl install pdo_sqlsrv-5.3.0 sqlsrv-5.3.0 \
|
||||
;elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
|
||||
pecl install pdo_sqlsrv-5.6.1 sqlsrv-5.6.1 \
|
||||
;elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70200" ]; then \
|
||||
pecl install pdo_sqlsrv-5.8.1 sqlsrv-5.8.1 \
|
||||
;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' \
|
||||
&& php -m | grep -oiE '^pdo_sqlsrv$' \
|
||||
&& php -m | grep -oiE '^sqlsrv$' \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
@ -801,7 +832,9 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
ARG INSTALL_SMB=false
|
||||
|
||||
RUN if [ ${INSTALL_SMB} = true ]; then \
|
||||
apt-get install -yqq smbclient php-smbclient coreutils \
|
||||
apt-get install -yqq smbclient libsmbclient-dev coreutils && \
|
||||
pecl install smbclient && \
|
||||
docker-php-ext-enable smbclient \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -837,24 +870,12 @@ ARG INSTALL_PHALCON=false
|
||||
ARG LARADOCK_PHALCON_VERSION
|
||||
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
|
||||
|
||||
# Copy phalcon configration
|
||||
COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apt-get install -yqq unzip libpcre3-dev gcc make re2c git automake autoconf\
|
||||
&& git clone https://github.com/jbboehr/php-psr.git \
|
||||
&& cd php-psr \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make test \
|
||||
&& make install \
|
||||
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \
|
||||
&& unzip -d /tmp/ /tmp/cphalcon.zip \
|
||||
&& cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \
|
||||
&& ./install \
|
||||
&& mv /usr/local/etc/php/conf.d/phalcon.ini.disable /usr/local/etc/php/conf.d/phalcon.ini \
|
||||
&& rm -rf /tmp/cphalcon* \
|
||||
apt-get update -yqq \
|
||||
&& pecl channel-update pecl.php.net \
|
||||
&& apt-get install -yqq libpcre3-dev; \
|
||||
pecl install phalcon-${LARADOCK_PHALCON_VERSION}; \
|
||||
docker-php-ext-enable phalcon \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -1004,12 +1025,10 @@ ARG INSTALL_AUDIOWAVEFORM=false
|
||||
|
||||
RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
|
||||
apt-get -y install wget make cmake gcc g++ libmad0-dev libid3tag0-dev libsndfile1-dev libgd-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \
|
||||
&& cd /tmp \
|
||||
&& git clone https://github.com/bbc/audiowaveform.git \
|
||||
&& cd audiowaveform \
|
||||
&& wget https://github.com/google/googletest/archive/release-1.10.0.tar.gz \
|
||||
&& tar xzf release-1.10.0.tar.gz \
|
||||
&& ln -s googletest-release-1.10.0/googletest googletest \
|
||||
&& ln -s googletest-release-1.10.0/googlemock googlemock \
|
||||
&& git clone --depth=1 https://github.com/google/googletest.git -b release-1.11.0 \
|
||||
&& mkdir build \
|
||||
&& cd build \
|
||||
&& cmake .. \
|
||||
@ -1025,9 +1044,11 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
|
||||
USER root
|
||||
|
||||
ARG INSTALL_WKHTMLTOPDF=false
|
||||
ARG WKHTMLTOPDF_VERSION=0.12.6-1
|
||||
|
||||
RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
apt-get install -yqq \
|
||||
ARCH=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
|
||||
&& apt-get install -yqq \
|
||||
libxrender1 \
|
||||
libfontconfig1 \
|
||||
libx11-dev \
|
||||
@ -1038,11 +1059,24 @@ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
xfonts-base \
|
||||
xfonts-75dpi \
|
||||
wget \
|
||||
&& wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.stretch_amd64.deb \
|
||||
&& dpkg -i wkhtmltox_0.12.6-1.stretch_amd64.deb \
|
||||
&& wget "https://github.com/wkhtmltopdf/packaging/releases/download/${WKHTMLTOPDF_VERSION}/wkhtmltox_0.12.6-1.stretch_${ARCH}.deb" \
|
||||
&& dpkg -i "wkhtmltox_${WKHTMLTOPDF_VERSION}.stretch_${ARCH}.deb" \
|
||||
&& apt -f install \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# trader:
|
||||
#####################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_TRADER=false
|
||||
|
||||
RUN if [ ${INSTALL_TRADER} = true ]; then \
|
||||
pecl install trader \
|
||||
&& echo "extension=trader.so" >> $PHP_INI_DIR/conf.d/trader.ini \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Mailparse extension:
|
||||
###########################################################################
|
||||
@ -1064,9 +1098,9 @@ ARG INSTALL_CACHETOOL=false
|
||||
|
||||
RUN if [ ${INSTALL_CACHETOOL} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") -ge 1 ]; then \
|
||||
curl -sO http://gordalina.github.io/cachetool/downloads/cachetool.phar; \
|
||||
curl -sO https://gordalina.github.io/cachetool/downloads/cachetool.phar; \
|
||||
else \
|
||||
curl http://gordalina.github.io/cachetool/downloads/cachetool-3.2.1.phar -o cachetool.phar; \
|
||||
curl https://gordalina.github.io/cachetool/downloads/cachetool-3.2.1.phar -o cachetool.phar; \
|
||||
fi && \
|
||||
chmod +x cachetool.phar && \
|
||||
mv cachetool.phar /usr/local/bin/cachetool \
|
||||
@ -1081,7 +1115,7 @@ ARG INSTALL_XMLRPC=false
|
||||
RUN if [ ${INSTALL_XMLRPC} = true ]; then \
|
||||
apt-get -yq install libxml2-dev; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xmlrpc-1.0.0RC2; \
|
||||
pecl install xmlrpc-1.0.0RC3; \
|
||||
docker-php-ext-enable xmlrpc; \
|
||||
else \
|
||||
docker-php-ext-install xmlrpc; \
|
||||
@ -1140,35 +1174,128 @@ ARG NEW_RELIC_KEY=${NEW_RELIC_KEY}
|
||||
ARG NEW_RELIC_APP_NAME=${NEW_RELIC_APP_NAME}
|
||||
|
||||
RUN if [ ${NEW_RELIC} = true ]; then \
|
||||
curl -L http://download.newrelic.com/php_agent/archive/9.9.0.260/newrelic-php5-9.9.0.260-linux.tar.gz | tar -C /tmp -zx && \
|
||||
curl -L http://download.newrelic.com/php_agent/release/newrelic-php5-9.18.1.303-linux.tar.gz | tar -C /tmp -zx && \
|
||||
export NR_INSTALL_USE_CP_NOT_LN=1 && \
|
||||
export NR_INSTALL_SILENT=1 && \
|
||||
/tmp/newrelic-php5-*/newrelic-install install && \
|
||||
rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* && \
|
||||
sed -i \
|
||||
-e 's/"REPLACE_WITH_REAL_KEY"/"${NEW_RELIC_KEY}"/' \
|
||||
-e 's/newrelic.appname = "PHP Application"/newrelic.appname = "${NEW_RELIC_APP_NAME}"/' \
|
||||
-e 's/"REPLACE_WITH_REAL_KEY"/"'${NEW_RELIC_KEY}'"/' \
|
||||
-e 's/newrelic.appname = "PHP Application"/newrelic.appname = "'${NEW_RELIC_APP_NAME}'"/' \
|
||||
-e 's/;newrelic.daemon.app_connect_timeout =.*/newrelic.daemon.app_connect_timeout=15s/' \
|
||||
-e 's/;newrelic.daemon.start_timeout =.*/newrelic.daemon.start_timeout=5s/' \
|
||||
/usr/local/etc/php/conf.d/newrelic.ini \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# PHP SSDB:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_SSDB=false
|
||||
|
||||
RUN set -xe; \
|
||||
if [ ${INSTALL_SSDB} = true ] && [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
|
||||
apt-get -y install sudo wget && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
curl -L -o /tmp/ssdb-client-php.tar.gz https://github.com/jonnywang/phpssdb/archive/php7.tar.gz; \
|
||||
else \
|
||||
curl -L -o /tmp/ssdb-client-php.tar.gz https://github.com/jonnywang/phpssdb/archive/master.tar.gz; \
|
||||
fi \
|
||||
&& mkdir -p /tmp/ssdb-client-php \
|
||||
&& tar -C /tmp/ssdb-client-php -zxvf /tmp/ssdb-client-php.tar.gz --strip 1 \
|
||||
&& cd /tmp/ssdb-client-php \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& rm /tmp/ssdb-client-php.tar.gz \
|
||||
&& docker-php-ext-enable ssdb \
|
||||
;fi
|
||||
###########################################################################
|
||||
# Downgrade Openssl:
|
||||
###########################################################################
|
||||
|
||||
ARG DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=false
|
||||
ARG DOWNGRADE_OPENSSL_TLS_VERSION=1.2
|
||||
|
||||
RUN if [ ${DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL} = true ]; then \
|
||||
sed -i 's,^\(MinProtocol[ ]*=\).*,\1'TLSv1.2',g' /etc/ssl/openssl.cnf \
|
||||
sed -i 's,^\(MinProtocol[ ]*=\).*,\1'TLSv${DOWNGRADE_OPENSSL_TLS_VERSION}',g' /etc/ssl/openssl.cnf \
|
||||
&& \
|
||||
sed -i 's,^\(CipherString[ ]*=\).*,\1'DEFAULT@SECLEVEL=1',g' /etc/ssl/openssl.cnf\
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# zmq
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_ZMQ=false
|
||||
|
||||
RUN if [ ${INSTALL_ZMQ} = true ]; then \
|
||||
apt-get install --yes git libzmq3-dev \
|
||||
&& git clone https://github.com/zeromq/php-zmq.git \
|
||||
&& cd php-zmq \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& cd .. \
|
||||
&& rm -fr php-zmq \
|
||||
&& echo "extension=zmq.so" > /usr/local/etc/php/conf.d/zmq.ini \
|
||||
;fi
|
||||
|
||||
|
||||
############################################################################
|
||||
## Event:
|
||||
############################################################################
|
||||
USER root
|
||||
|
||||
ARG INSTALL_EVENT=false
|
||||
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_EVENT} = true ]; then \
|
||||
curl -L -o /tmp/libevent.tar.gz https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz &&\
|
||||
mkdir -p /tmp/libevent-php &&\
|
||||
tar -C /tmp/libevent-php -zxvf /tmp/libevent.tar.gz --strip 1 &&\
|
||||
cd /tmp/libevent-php &&\
|
||||
./configure --prefix=/usr/local/libevent-2.1.12 &&\
|
||||
make &&\
|
||||
make install &&\
|
||||
rm /tmp/libevent.tar.gz &&\
|
||||
docker-php-ext-install sockets &&\
|
||||
curl -L -o /tmp/event.tar.gz http://pecl.php.net/get/event-3.0.6.tgz &&\
|
||||
mkdir -p /tmp/event-php &&\
|
||||
tar -C /tmp/event-php -zxvf /tmp/event.tar.gz --strip 1 &&\
|
||||
cd /tmp/event-php &&\
|
||||
phpize &&\
|
||||
./configure --with-event-libevent-dir=/usr/local/libevent-2.1.12/ &&\
|
||||
make &&\
|
||||
make install &&\
|
||||
rm /tmp/event.tar.gz &&\
|
||||
docker-php-ext-enable event &&\
|
||||
php -m | grep -q 'event' \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# DNS utilities:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_DNSUTILS=false
|
||||
|
||||
RUN if [ ${INSTALL_DNSUTILS} = true ]; then \
|
||||
apt-get update && apt-get install -y dnsutils \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Check PHP version:
|
||||
###########################################################################
|
||||
|
||||
RUN set -xe; php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
|
||||
RUN set -xe; php -v | grep -q "PHP ${LARADOCK_PHP_VERSION}."
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
|
1948
php-fpm/php8.1.ini
Normal file
1948
php-fpm/php8.1.ini
Normal file
File diff suppressed because it is too large
Load Diff
1955
php-fpm/php8.2.ini
Normal file
1955
php-fpm/php8.2.ini
Normal file
File diff suppressed because it is too large
Load Diff
@ -25,19 +25,30 @@ RUN apk --update add wget \
|
||||
build-base \
|
||||
libmcrypt-dev \
|
||||
libxml2-dev \
|
||||
linux-headers \
|
||||
pcre-dev \
|
||||
zlib-dev \
|
||||
autoconf \
|
||||
cyrus-sasl-dev \
|
||||
libgsasl-dev \
|
||||
oniguruma-dev \
|
||||
libressl \
|
||||
libressl-dev \
|
||||
supervisor
|
||||
supervisor; \
|
||||
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ] || \
|
||||
[ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||
apk --update add libressl libressl-dev; \
|
||||
else \
|
||||
apk --update add openssl-dev; \
|
||||
fi
|
||||
|
||||
|
||||
RUN pecl channel-update pecl.php.net; \
|
||||
docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
|
||||
docker-php-ext-install mysqli mbstring pdo pdo_mysql xml pcntl; \
|
||||
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80100" ] || \
|
||||
[ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80200" ]; then \
|
||||
php -m | grep -oiE '^tokenizer$'; \
|
||||
else \
|
||||
docker-php-ext-install tokenizer; \
|
||||
fi
|
||||
|
||||
# Add a non-root user:
|
||||
ARG PUID=1000
|
||||
@ -64,20 +75,24 @@ ARG INSTALL_GNUPG=false
|
||||
RUN set -eux; if [ ${INSTALL_GNUPG} = true ]; then \
|
||||
apk add --no-cache --no-progress --virtual BUILD_DEPS_PHP_GNUPG gpgme-dev; \
|
||||
apk add --no-cache --no-progress gpgme; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install gnupg-1.5.0RC2; \
|
||||
else \
|
||||
pecl install gnupg; \
|
||||
fi; \
|
||||
docker-php-ext-enable gnupg; \
|
||||
fi
|
||||
|
||||
#Install LDAP
|
||||
ARG INSTALL_LDAP=false;
|
||||
RUN set -eux; if [ ${INSTALL_LDAP} = true ]; then \
|
||||
apk add --no-cache --no-progress openldap-dev; \
|
||||
docker-php-ext-install ldap; \
|
||||
php -m | grep -oiE '^ldap$'; \
|
||||
fi
|
||||
|
||||
#Install GD package:
|
||||
ARG INSTALL_GD=false
|
||||
RUN if [ ${INSTALL_GD} = true ]; then \
|
||||
apk add --update --no-cache freetype-dev libjpeg-turbo-dev jpeg-dev libpng-dev; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ]; then \
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg --with-png; \
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||
else \
|
||||
docker-php-ext-configure gd --with-freetype-dir=/usr/lib/ --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/; \
|
||||
fi; \
|
||||
@ -136,9 +151,15 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install mongo; \
|
||||
docker-php-ext-enable mongo; \
|
||||
php -m | grep -oiE '^mongo$'; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ] ;}; then \
|
||||
pecl install mongodb-1.9.2; \
|
||||
else \
|
||||
pecl install mongodb; \
|
||||
fi; \
|
||||
docker-php-ext-enable mongodb; \
|
||||
php -m | grep -oiE '^mongodb$'; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
@ -246,15 +267,16 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
|
||||
ARG INSTALL_AMQP=false
|
||||
|
||||
RUN if [ ${INSTALL_AMQP} = true ]; then \
|
||||
docker-php-ext-install sockets; \
|
||||
apk --update add -q rabbitmq-c rabbitmq-c-dev && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
printf "\n" | pecl install amqp-1.11.0beta; \
|
||||
printf "\n" | pecl install amqp-1.11.0; \
|
||||
else \
|
||||
printf "\n" | pecl install amqp; \
|
||||
fi && \
|
||||
docker-php-ext-enable amqp && \
|
||||
apk del -q rabbitmq-c-dev && \
|
||||
docker-php-ext-install sockets \
|
||||
apk del -q rabbitmq-c-dev; \
|
||||
php -m | grep -oiE '^amqp$' \
|
||||
;fi
|
||||
|
||||
# Install Gearman:
|
||||
@ -293,23 +315,28 @@ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
|
||||
|
||||
# Install Phalcon ext
|
||||
ARG INSTALL_PHALCON=false
|
||||
ARG PHALCON_VERSION
|
||||
ENV PHALCON_VERSION ${PHALCON_VERSION}
|
||||
ARG LARADOCK_PHALCON_VERSION
|
||||
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apk --update add unzip gcc make re2c bash\
|
||||
&& git clone https://github.com/jbboehr/php-psr.git \
|
||||
&& cd php-psr \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make test \
|
||||
&& make install \
|
||||
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.zip \
|
||||
&& unzip -d /tmp/ /tmp/cphalcon.zip \
|
||||
&& cd /tmp/cphalcon-${PHALCON_VERSION}/build \
|
||||
&& ./install \
|
||||
&& rm -rf /tmp/cphalcon* \
|
||||
apt-get update -yqq \
|
||||
&& pecl channel-update pecl.php.net \
|
||||
&& apt-get install -yqq libpcre3-dev; \
|
||||
pecl install phalcon-${LARADOCK_PHALCON_VERSION}; \
|
||||
docker-php-ext-enable phalcon; \
|
||||
php -m | grep -q 'phalcon' \
|
||||
;fi
|
||||
|
||||
# Install APCU ext
|
||||
ARG INSTALL_APCU=false
|
||||
|
||||
RUN if [ ${INSTALL_APCU} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install -a apcu-4.0.11; \
|
||||
else \
|
||||
pecl install apcu; \
|
||||
fi && \
|
||||
docker-php-ext-enable apcu \
|
||||
;fi
|
||||
|
||||
ARG INSTALL_GHOSTSCRIPT=false
|
||||
@ -336,19 +363,40 @@ RUN if [ ${INSTALL_REDIS} = true ]; then \
|
||||
|
||||
ARG INSTALL_SWOOLE=false
|
||||
|
||||
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
# Install Php Swoole Extension
|
||||
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ]; then \
|
||||
echo '' | pecl -q install swoole-2.0.10; \
|
||||
pecl install swoole-2.0.10; \
|
||||
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||
echo '' | pecl -q install swoole-4.3.5; \
|
||||
pecl install swoole-4.3.5; \
|
||||
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
|
||||
echo '' | pecl -q install swoole-4.5.11; \
|
||||
pecl install swoole-4.5.11; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
pecl install swoole-4.8.12; \
|
||||
else \
|
||||
echo '' | pecl -q install swoole; \
|
||||
pecl install swoole; \
|
||||
fi; \
|
||||
docker-php-ext-enable swoole \
|
||||
&& php -m | grep -q 'swoole' \
|
||||
docker-php-ext-enable swoole; \
|
||||
php -m | grep -oiE '^swoole$'; \
|
||||
fi
|
||||
|
||||
###########################################################################
|
||||
# xlswriter:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XLSWRITER=false
|
||||
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_XLSWRITER} = true ]; then \
|
||||
# Install Php xlswriter Extension \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then \
|
||||
pecl install xlswriter && \
|
||||
docker-php-ext-enable xlswriter && \
|
||||
php -m | grep -q 'xlswriter'; \
|
||||
else \
|
||||
echo "PHP Extension for xlswriter is not supported for PHP 5.0"; \
|
||||
fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -388,7 +436,7 @@ ARG INSTALL_XMLRPC=false
|
||||
|
||||
RUN if [ ${INSTALL_XMLRPC} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xmlrpc-1.0.0RC2; \
|
||||
pecl install xmlrpc-1.0.0RC3; \
|
||||
docker-php-ext-enable xmlrpc; \
|
||||
else \
|
||||
docker-php-ext-install xmlrpc; \
|
||||
@ -414,6 +462,108 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||
php -m | grep -r 'memcached'; \
|
||||
fi
|
||||
|
||||
###########################################################################
|
||||
# SQL SERVER:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_MSSQL=false
|
||||
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_MSSQL} = true ]; then \
|
||||
apk add --update gnupg \
|
||||
###########################################################################
|
||||
# Ref from:
|
||||
# - https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15#alpine17
|
||||
###########################################################################
|
||||
# Add Microsoft repo for Microsoft ODBC Driver 17 for Linux
|
||||
# Driver version 17.5 or higher is required for Alpine support.
|
||||
# Download the desired package(s)
|
||||
&& curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.8.1.1-1_amd64.apk \
|
||||
# Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
|
||||
&& curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.8.1.1-1_amd64.sig \
|
||||
&& curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import - \
|
||||
&& gpg --verify msodbcsql17_17.8.1.1-1_amd64.sig msodbcsql17_17.8.1.1-1_amd64.apk \
|
||||
# Install the package(s)
|
||||
&& apk add --allow-untrusted msodbcsql17_17.8.1.1-1_amd64.apk unixodbc-dev \
|
||||
&& pecl install sqlsrv pdo_sqlsrv \
|
||||
# && echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/10_pdo_sqlsrv.ini
|
||||
# && echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/00_sqlsrv.ini
|
||||
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
|
||||
&& php -m | grep -q 'pdo_sqlsrv' \
|
||||
&& php -m | grep -q 'sqlsrv' \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# PHP SSDB:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_SSDB=false
|
||||
|
||||
RUN set -xe; \
|
||||
if [ ${INSTALL_SSDB} = true ] && [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
|
||||
apk --update add sudo wget && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
curl -L -o /tmp/ssdb-client-php.tar.gz https://github.com/jonnywang/phpssdb/archive/php7.tar.gz; \
|
||||
else \
|
||||
curl -L -o /tmp/ssdb-client-php.tar.gz https://github.com/jonnywang/phpssdb/archive/master.tar.gz; \
|
||||
fi \
|
||||
&& mkdir -p /tmp/ssdb-client-php \
|
||||
&& tar -C /tmp/ssdb-client-php -zxvf /tmp/ssdb-client-php.tar.gz --strip 1 \
|
||||
&& cd /tmp/ssdb-client-php \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& rm /tmp/ssdb-client-php.tar.gz \
|
||||
&& docker-php-ext-enable ssdb \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Intl:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_INTL=false
|
||||
|
||||
RUN if [ ${INSTALL_INTL} = true ]; then \
|
||||
apk add icu-dev && \
|
||||
docker-php-ext-configure intl && \
|
||||
docker-php-ext-install intl && \
|
||||
docker-php-ext-enable intl \
|
||||
;fi
|
||||
|
||||
############################################################################
|
||||
## Event:
|
||||
############################################################################
|
||||
USER root
|
||||
|
||||
ARG INSTALL_EVENT=false
|
||||
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_EVENT} = true ]; then \
|
||||
curl -L -o /tmp/libevent.tar.gz https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz &&\
|
||||
mkdir -p /tmp/libevent-php &&\
|
||||
tar -C /tmp/libevent-php -zxvf /tmp/libevent.tar.gz --strip 1 &&\
|
||||
cd /tmp/libevent-php &&\
|
||||
./configure --prefix=/usr/local/libevent-2.1.12 &&\
|
||||
make &&\
|
||||
make install &&\
|
||||
rm /tmp/libevent.tar.gz &&\
|
||||
docker-php-ext-install sockets &&\
|
||||
curl -L -o /tmp/event.tar.gz http://pecl.php.net/get/event-3.0.6.tgz &&\
|
||||
mkdir -p /tmp/event-php &&\
|
||||
tar -C /tmp/event-php -zxvf /tmp/event.tar.gz --strip 1 &&\
|
||||
cd /tmp/event-php &&\
|
||||
phpize &&\
|
||||
./configure --with-event-libevent-dir=/usr/local/libevent-2.1.12/ &&\
|
||||
make &&\
|
||||
make install &&\
|
||||
rm /tmp/event.tar.gz &&\
|
||||
docker-php-ext-enable --ini-name zz-event.ini event &&\
|
||||
php -m | grep -q 'event' \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Supervisord Configuration
|
||||
|
@ -1,8 +1,9 @@
|
||||
[program:laravel-worker]
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=php /var/www/artisan queue:work --sleep=3 --tries=3
|
||||
command=php /var/www/mes-admin-api/artisan queue:work --tries=3
|
||||
autostart=true
|
||||
autorestart=true
|
||||
numprocs=8
|
||||
user=laradock
|
||||
numprocs=3
|
||||
user=root
|
||||
redirect_stderr=true
|
||||
stdout_logfile=/var/www/mes-admin-api/storage/logs/laravel-worker.log
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM phpmyadmin/phpmyadmin
|
||||
FROM phpmyadmin
|
||||
|
||||
LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>"
|
||||
|
||||
|
@ -1,7 +1,27 @@
|
||||
FROM postgis/postgis:latest
|
||||
ARG POSTGIS_VERSION=latest
|
||||
FROM postgis/postgis:${POSTGIS_VERSION}
|
||||
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
ARG INSTALL_PGSQL_HTTP_FOR_POSTGIS13=false
|
||||
|
||||
RUN if [ ${INSTALL_PGSQL_HTTP_FOR_POSTGIS13} = true ]; then \
|
||||
apt-get clean \
|
||||
&& apt-get update -yqq \
|
||||
&& apt-get install -y \
|
||||
git \
|
||||
make \
|
||||
gcc \
|
||||
libcurl4-openssl-dev \
|
||||
postgresql-server-dev-13 \
|
||||
postgresql-13-cron \
|
||||
&& git clone --recursive https://github.com/pramsey/pgsql-http.git \
|
||||
&& cd pgsql-http/ \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& apt-get clean \
|
||||
;fi
|
||||
|
||||
CMD ["postgres"]
|
||||
|
||||
EXPOSE 5432
|
||||
|
0
postgres/docker-entrypoint-initdb.d/createdb.sh.example
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/createdb.sh.example
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/init_confluence_db.sh
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/init_confluence_db.sh
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/init_gitlab_db.sh
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/init_gitlab_db.sh
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh
Normal file → Executable file
44
postgres/docker-entrypoint-initdb.d/init_keycloak_db.sh
Executable file
44
postgres/docker-entrypoint-initdb.d/init_keycloak_db.sh
Executable 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 keycloak ##############################################
|
||||
if [ "$KEYCLOAK_POSTGRES_INIT" == 'true' ]; then
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE USER $KEYCLOAK_POSTGRES_USER WITH PASSWORD '$KEYCLOAK_POSTGRES_PASSWORD';
|
||||
CREATE DATABASE $KEYCLOAK_POSTGRES_DB;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $KEYCLOAK_POSTGRES_DB TO $KEYCLOAK_POSTGRES_USER;
|
||||
ALTER ROLE $KEYCLOAK_POSTGRES_USER CREATEROLE SUPERUSER;
|
||||
EOSQL
|
||||
echo
|
||||
fi
|
0
postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh
Normal file → Executable file
0
postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh
Normal file → Executable file
1
rabbitmq/management_agent.disable_metrics_collector.conf
Normal file
1
rabbitmq/management_agent.disable_metrics_collector.conf
Normal file
@ -0,0 +1 @@
|
||||
management_agent.disable_metrics_collector = false
|
2
rabbitmq/rabbitmq.conf
Normal file
2
rabbitmq/rabbitmq.conf
Normal file
@ -0,0 +1,2 @@
|
||||
default_user = guest
|
||||
default_pass = guest
|
20320
react/package-lock.json
generated
20320
react/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -9,10 +9,10 @@
|
||||
"@testing-library/jest-dom": "^4.2.4",
|
||||
"@testing-library/react": "^9.5.0",
|
||||
"@testing-library/user-event": "^7.2.1",
|
||||
"axios": "^0.21.1",
|
||||
"axios": "^0.21.2",
|
||||
"bootstrap": "^4.5.3",
|
||||
"jss-rtl": "^0.3.0",
|
||||
"node-sass": "^4.14.1",
|
||||
"node-sass": "^7.0.3",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^17.0.1",
|
||||
"react-bootstrap": "^1.4.0",
|
||||
@ -20,7 +20,7 @@
|
||||
"react-intl": "^4.7.6",
|
||||
"react-redux": "^7.2.2",
|
||||
"react-router-dom": "^5.2.0",
|
||||
"react-scripts": "3.4.1",
|
||||
"react-scripts": "5.0.1",
|
||||
"redux": "^4.0.5",
|
||||
"redux-saga": "^1.1.3"
|
||||
},
|
||||
|
7
soketi/Dockerfile
Normal file
7
soketi/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
||||
FROM quay.io/soketi/soketi:latest
|
||||
|
||||
LABEL maintainer="WuweiMing <wwm041544363@gmail.com>"
|
||||
|
||||
CMD ["node /app/bin/server.js start"]
|
||||
|
||||
EXPOSE 6001 9601
|
22
ssdb/Dockerfile
Normal file
22
ssdb/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
||||
FROM alpine
|
||||
LABEL maintainer="Leonard Buskin <leonardbuskin@gmail.com>"
|
||||
|
||||
ARG VERSION=${VERSION:-master}
|
||||
|
||||
RUN apk add --no-cache --virtual .build-deps \
|
||||
curl gcc g++ make autoconf libc-dev libevent-dev linux-headers perl tar \
|
||||
&& mkdir -p /ssdb/tmp \
|
||||
&& curl -Lk "https://github.com/ideawu/ssdb/archive/${VERSION}.tar.gz" | \
|
||||
tar -xz -C /ssdb/tmp --strip-components=1 \
|
||||
&& cd /ssdb/tmp \
|
||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
&& make install PREFIX=/ssdb \
|
||||
&& rm -rf /ssdb/tmp \
|
||||
&& apk add --virtual .rundeps libstdc++ \
|
||||
&& apk add --no-cache bash python2 \
|
||||
&& apk del .build-deps
|
||||
|
||||
EXPOSE 8888
|
||||
VOLUME /ssdb/var
|
||||
COPY ssdb.conf /ssdb/ssdb.conf
|
||||
CMD ["/ssdb/ssdb-server", "/ssdb/ssdb.conf"]
|
52
ssdb/ssdb.conf
Normal file
52
ssdb/ssdb.conf
Normal file
@ -0,0 +1,52 @@
|
||||
# ssdb-server config
|
||||
# MUST indent by TAB!
|
||||
|
||||
# relative to path of this file, directory must exists
|
||||
work_dir = /data
|
||||
pidfile = /run/ssdb.pid
|
||||
|
||||
server:
|
||||
#ip: 127.0.0.1
|
||||
port: 8888
|
||||
# bind to public ip
|
||||
ip: 0.0.0.0
|
||||
# format: allow|deny: all|ip_prefix
|
||||
# multiple allows or denys is supported
|
||||
deny: all
|
||||
allow: 127.0.0.1
|
||||
allow: 192.
|
||||
allow: 172.
|
||||
# auth password must be at least 32 characters
|
||||
#auth: very-strong-password
|
||||
|
||||
replication:
|
||||
binlog: yes
|
||||
# Limit sync speed to *MB/s, -1: no limit
|
||||
sync_speed: -1
|
||||
slaveof:
|
||||
# to identify a master even if it moved(ip, port changed)
|
||||
# if set to empty or not defined, ip:port will be used.
|
||||
#id: svc_2
|
||||
# sync|mirror, default is sync
|
||||
#type: sync
|
||||
#host: s1.ssdb.db
|
||||
#port: 8888
|
||||
|
||||
logger:
|
||||
level: warn
|
||||
output: /var/log/ssdb.log
|
||||
rotate:
|
||||
size: 1000000000
|
||||
|
||||
leveldb:
|
||||
# in MB
|
||||
cache_size: 500
|
||||
# in KB
|
||||
block_size: 32
|
||||
# in MB
|
||||
write_buffer_size: 64
|
||||
# in MB
|
||||
compaction_speed: 1000
|
||||
# yes|no
|
||||
compression: yes
|
||||
|
3
tarantool-admin/Dockerfile
Normal file
3
tarantool-admin/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM quay.io/basis-company/tarantool-admin
|
||||
|
||||
LABEL maintainer="Alexander Palchikov <axelpal@gmail.com>"
|
3
tarantool/Dockerfile
Normal file
3
tarantool/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM tarantool/tarantool:2
|
||||
|
||||
LABEL maintainer="Alexander Palchikov <axelpal@gmail.com>"
|
2
tarantool/lua/.gitignore
vendored
Normal file
2
tarantool/lua/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
@ -1,8 +1,8 @@
|
||||
GIN_MODE=debug
|
||||
|
||||
# Weaver
|
||||
WEAVER_AUTH_KEY=arachnys-weaver
|
||||
WEAVER_ATHENA_CMD=athenapdf -S
|
||||
WEAVER_AUTH_KEY="arachnys-weaver"
|
||||
WEAVER_ATHENA_CMD="athenapdf -S"
|
||||
WEAVER_MAX_WORKERS=10
|
||||
WEAVER_MAX_CONVERSION_QUEUE=50
|
||||
WEAVER_WORKER_TIMEOUT=90
|
||||
|
@ -31,17 +31,10 @@ USER root
|
||||
###########################################################################
|
||||
|
||||
ARG CHANGE_SOURCE=false
|
||||
ARG UBUNTU_SOURCE=aliyun
|
||||
COPY ./sources.sh /tmp/sources.sh
|
||||
RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
# Change application source from deb.debian.org to aliyun source
|
||||
sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list; \
|
||||
sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list; \
|
||||
sed -i 's/security-cdn.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list; \
|
||||
chmod +x /tmp/sources.sh; \
|
||||
/bin/sh -c /tmp/sources.sh; \
|
||||
fi; \
|
||||
rm -rf /tmp/sources.sh
|
||||
sed -i 's/ports.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list; \
|
||||
fi;
|
||||
|
||||
###########################################################################
|
||||
# Laradock non-root user:
|
||||
@ -147,7 +140,12 @@ RUN echo "" >> ~/.bashrc && \
|
||||
# Update composer
|
||||
ARG COMPOSER_VERSION=2
|
||||
ENV COMPOSER_VERSION ${COMPOSER_VERSION}
|
||||
RUN composer self-update --${COMPOSER_VERSION}
|
||||
RUN set -eux; \
|
||||
if [ "$COMPOSER_VERSION" = "1" ] || [ "$COMPOSER_VERSION" = "2" ]; then \
|
||||
composer self-update --${COMPOSER_VERSION}; \
|
||||
else \
|
||||
composer self-update ${COMPOSER_VERSION}; \
|
||||
fi
|
||||
|
||||
USER laradock
|
||||
|
||||
@ -161,10 +159,10 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
|
||||
;fi
|
||||
|
||||
# Check if auth file is disabled
|
||||
ARG COMPOSER_AUTH=false
|
||||
ENV COMPOSER_AUTH ${COMPOSER_AUTH}
|
||||
ARG COMPOSER_AUTH_JSON=false
|
||||
ENV COMPOSER_AUTH_JSON ${COMPOSER_AUTH_JSON}
|
||||
|
||||
RUN if [ ${COMPOSER_AUTH} = false ]; then \
|
||||
RUN if [ ${COMPOSER_AUTH_JSON} = false ]; then \
|
||||
# remove the file
|
||||
rm /home/laradock/.composer/auth.json \
|
||||
;fi
|
||||
@ -200,6 +198,15 @@ COPY ./crontab /etc/cron.d
|
||||
|
||||
RUN chmod -R 644 /etc/cron.d
|
||||
|
||||
###########################################################################
|
||||
# Certificate Authorities
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
COPY ./ca-certificates/* /usr/local/share/ca-certificates/
|
||||
RUN update-ca-certificates
|
||||
|
||||
###########################################################################
|
||||
# Drush:
|
||||
###########################################################################
|
||||
@ -307,7 +314,7 @@ RUN set -eux; \
|
||||
# SMB:
|
||||
###########################################################################
|
||||
if [ ${INSTALL_SMB} = true ]; then \
|
||||
apt-get install -yqq smbclient php-smbclient coreutils; \
|
||||
apt-get install -yqq smbclient php${LARADOCK_PHP_VERSION}-smbclient coreutils; \
|
||||
fi; \
|
||||
###########################################################################
|
||||
# IMAP:
|
||||
@ -329,28 +336,26 @@ RUN set -eux; \
|
||||
USER root
|
||||
|
||||
ARG INSTALL_XDEBUG=false
|
||||
ARG XDEBUG_PORT=9003
|
||||
|
||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# Install the xdebug extension
|
||||
# https://xdebug.org/docs/compat
|
||||
apt-get install -yqq pkg-config php-xml php${LARADOCK_PHP_VERSION}-xml && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.0.0; \
|
||||
pecl install xdebug-3.2.1; \
|
||||
else \
|
||||
pecl install xdebug-3.1.6; \
|
||||
fi; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install xdebug-2.5.5; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
pecl install xdebug-2.9.0; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ]; then \
|
||||
pecl install xdebug-2.9.8; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
pecl install xdebug-2.9.8; \
|
||||
else \
|
||||
#pecl install xdebug; \
|
||||
echo "xDebug 3 required, not supported."; \
|
||||
fi \
|
||||
fi \
|
||||
fi \
|
||||
fi \
|
||||
fi && \
|
||||
@ -360,10 +365,10 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# ADD for REMOTE debugging
|
||||
COPY ./xdebug.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini
|
||||
|
||||
RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||
sed -i "s/xdebug.remote_host=/xdebug.client_host=/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_connect_back=0/xdebug.discover_client_host=false/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_port=9000/xdebug.client_port=9003/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_port=9000/xdebug.client_port=${XDEBUG_PORT}/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.profiler_enable=0/; xdebug.profiler_enable=0/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.profiler_output_dir=/xdebug.output_dir=/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
|
||||
sed -i "s/xdebug.remote_mode=req/; xdebug.remote_mode=req/" /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xdebug.ini && \
|
||||
@ -384,13 +389,11 @@ USER root
|
||||
ARG INSTALL_PCOV=false
|
||||
|
||||
RUN if [ ${INSTALL_PCOV} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
if [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; }; then \
|
||||
pecl install pcov && \
|
||||
echo "extension=pcov.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini && \
|
||||
echo "pcov.enabled" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \
|
||||
;fi \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
|
||||
@ -453,16 +456,23 @@ ARG INSTALL_MONGO=false
|
||||
|
||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||
# Install the mongodb extension
|
||||
apt-get install -yqq pkg-config && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install mongo && \
|
||||
echo "extension=mongo.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini && \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongo.ini \
|
||||
;else \
|
||||
pecl install mongodb && \
|
||||
echo "extension=mongodb.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini && \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongodb.ini \
|
||||
;fi \
|
||||
;fi
|
||||
pecl install mongo; \
|
||||
echo "extension=mongo.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini; \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongo.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongo.ini; \
|
||||
php -m | grep -oiE '^mongo$'; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ] ;}; then \
|
||||
pecl install mongodb-1.9.2; \
|
||||
else \
|
||||
pecl install mongodb; \
|
||||
fi; \
|
||||
echo "extension=mongodb.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini; \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/mongodb.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-mongodb.ini; \
|
||||
php -m | grep -oiE '^mongodb$'; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
###########################################################################
|
||||
# AMQP:
|
||||
@ -525,7 +535,11 @@ ARG INSTALL_GEARMAN=false
|
||||
RUN if [ ${INSTALL_GEARMAN} = true ]; then \
|
||||
add-apt-repository -y ppa:ondrej/pkg-gearman && \
|
||||
apt-get update && \
|
||||
apt-get -yqq install php-gearman \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
apt-get install php${LARADOCK_PHP_VERSION}-gearman -y \
|
||||
; else \
|
||||
apt-get install php-gearman -y \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -535,7 +549,8 @@ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
|
||||
ARG INSTALL_PHPREDIS=false
|
||||
|
||||
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
|
||||
apt-get install -yqq php${LARADOCK_PHP_VERSION}-redis \
|
||||
apt-get update \
|
||||
&& apt-get install -yqq php${LARADOCK_PHP_VERSION}-redis \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -547,12 +562,14 @@ ARG INSTALL_SWOOLE=false
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
# Install Php Swoole Extension
|
||||
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
echo '' | pecl -q install swoole-2.0.10; \
|
||||
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
echo '' | pecl -q install swoole-4.3.5; \
|
||||
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ]; then \
|
||||
echo '' | pecl -q install swoole-4.5.11; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
echo '' | pecl -q install swoole-4.8.12; \
|
||||
else \
|
||||
echo '' | pecl -q install swoole; \
|
||||
fi; \
|
||||
@ -561,6 +578,27 @@ RUN set -eux; \
|
||||
php -m | grep -q 'swoole'; \
|
||||
fi
|
||||
|
||||
|
||||
|
||||
###########################################################################
|
||||
# xlswriter:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XLSWRITER=false
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_XLSWRITER} = true ]; then \
|
||||
# Install Php xlswriter Extension
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then \
|
||||
echo '' | pecl -q install xlswriter && \
|
||||
echo "extension=xlswriter.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/xlswriter.ini && \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/xlswriter.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-xlswriter.ini && \
|
||||
php -m | grep -q 'xlswriter'; \
|
||||
else \
|
||||
echo "PHP Extension for xlswriter is not supported for PHP 5.0"; \
|
||||
fi \
|
||||
;fi
|
||||
|
||||
|
||||
###########################################################################
|
||||
# Taint EXTENSION
|
||||
###########################################################################
|
||||
@ -653,7 +691,13 @@ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "8.1" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.4" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.3" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.2" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.1" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "7.0" ] \
|
||||
|| [ ${LARADOCK_PHP_VERSION} = "5.6" ]; then \
|
||||
# Install the php ioncube loader
|
||||
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
|
||||
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
|
||||
@ -661,6 +705,7 @@ RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||
&& echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini \
|
||||
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/0ioncube.ini \
|
||||
&& rm -rf /tmp/ioncube* \
|
||||
&& php -m | grep -oiE '^ionCube Loader$' \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
@ -693,6 +738,7 @@ ARG INSTALL_NPM_GULP=false
|
||||
ARG INSTALL_NPM_BOWER=false
|
||||
ARG INSTALL_NPM_VUE_CLI=false
|
||||
ARG INSTALL_NPM_ANGULAR_CLI=false
|
||||
ARG INSTALL_NPM_CHECK_UPDATES_CLI=false
|
||||
ARG NPM_REGISTRY
|
||||
ENV NPM_REGISTRY ${NPM_REGISTRY}
|
||||
ARG NPM_FETCH_RETRIES
|
||||
@ -710,11 +756,12 @@ ENV NVM_NODEJS_ORG_MIRROR ${NVM_NODEJS_ORG_MIRROR}
|
||||
RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
# Install nvm (A Node Version Manager)
|
||||
mkdir -p $NVM_DIR && \
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash \
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash \
|
||||
&& . $NVM_DIR/nvm.sh \
|
||||
&& nvm install ${NODE_VERSION} \
|
||||
&& nvm use ${NODE_VERSION} \
|
||||
&& nvm alias ${NODE_VERSION} \
|
||||
&& npm cache clear --force \
|
||||
&& npm config set fetch-retries ${NPM_FETCH_RETRIES} \
|
||||
&& npm config set fetch-retry-factor ${NPM_FETCH_RETRY_FACTOR} \
|
||||
&& npm config set fetch-retry-mintimeout ${NPM_FETCH_RETRY_MINTIMEOUT} \
|
||||
@ -734,7 +781,9 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
&& if [ ${INSTALL_NPM_ANGULAR_CLI} = true ]; then \
|
||||
npm install -g @angular/cli \
|
||||
;fi \
|
||||
&& ln -s `npm bin --global` /home/laradock/.node-bin \
|
||||
&& if [ ${INSTALL_NPM_CHECK_UPDATES_CLI} = true ]; then \
|
||||
npm install -g npm-check-updates \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
# Wouldn't execute when added to the RUN statement in the above block
|
||||
@ -754,9 +803,6 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \
|
||||
;fi
|
||||
|
||||
# Add PATH for node
|
||||
ENV PATH $PATH:/home/laradock/.node-bin
|
||||
|
||||
# Make it so the node modules can be executed with 'docker-compose exec'
|
||||
# We'll create symbolic links into '/usr/local/bin'.
|
||||
RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
@ -784,11 +830,16 @@ COPY ./.npmrc /home/laradock/.npmrc
|
||||
# PNPM:
|
||||
###########################################################################
|
||||
|
||||
USER laradock
|
||||
USER root
|
||||
|
||||
ARG INSTALL_PNPM=false
|
||||
ENV PNPM_HOME="/home/laradock/.local/share/pnpm"
|
||||
ENV PATH $PATH:/home/laradock/.local/share/pnpm
|
||||
|
||||
RUN if [ ${INSTALL_PNPM} = true ]; then \
|
||||
echo "" >> ~/.bashrc && \
|
||||
echo 'export PNPM_HOME="/home/laradock/.local/share/pnpm"' >> ~/.bashrc && \
|
||||
echo 'export PATH="$PNPM_HOME:$PATH"' >> ~/.bashrc && \
|
||||
npx pnpm add -g pnpm \
|
||||
;fi
|
||||
|
||||
@ -878,13 +929,17 @@ RUN set -xe; \
|
||||
|
||||
USER root
|
||||
ARG INSTALL_OCI8=false
|
||||
ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/diogomascarenha/oracle-instantclient/raw/master/
|
||||
ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/the-paulus/oracle-instantclient/raw/master/
|
||||
ARG ORACLE_INSTANT_CLIENT_ARCH=x86_64
|
||||
ARG ORACLE_INSTANT_CLIENT_MAJOR=18
|
||||
ARG ORACLE_INSTANT_CLIENT_MINOR=3
|
||||
|
||||
ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_12_1"
|
||||
ENV OCI_HOME="/opt/oracle/instantclient_12_1"
|
||||
ENV OCI_LIB_DIR="/opt/oracle/instantclient_12_1"
|
||||
ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_12_1/sdk/include"
|
||||
ENV OCI_VERSION=12
|
||||
ENV ORACLE_INSTANT_CLIENT_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR}_${ORACLE_INSTANT_CLIENT_MINOR}
|
||||
ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}"
|
||||
ENV OCI_HOME="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}"
|
||||
ENV OCI_LIB_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}"
|
||||
ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/sdk/include"
|
||||
ENV OCI_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR}
|
||||
|
||||
RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
# Install wget
|
||||
@ -892,13 +947,13 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
# Install Oracle Instantclient
|
||||
&& mkdir /opt/oracle \
|
||||
&& cd /opt/oracle \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.x64-12.1.0.2.0.zip \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.x64-12.1.0.2.0.zip \
|
||||
&& unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
|
||||
&& unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
|
||||
&& ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \
|
||||
&& ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \
|
||||
&& ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \
|
||||
&& wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \
|
||||
&& unzip /opt/oracle/instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \
|
||||
&& unzip /opt/oracle/instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \
|
||||
&& if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so ; fi\
|
||||
&& if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so ; fi \
|
||||
&& if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so ; fi \
|
||||
&& rm -rf /opt/oracle/*.zip \
|
||||
# Install PHP extensions deps
|
||||
&& apt-get update \
|
||||
@ -906,9 +961,15 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
libaio-dev && \
|
||||
# Install PHP extensions
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.10; \
|
||||
echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.0.12; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.2.0; \
|
||||
elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80000" ]; then \
|
||||
echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8-3.0.1; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION . PHP_MINOR_VERSION;") = "81" ]; then \
|
||||
echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8-3.2.1; \
|
||||
else \
|
||||
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.2.0; \
|
||||
echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8; \
|
||||
fi \
|
||||
&& echo "extension=oci8.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \
|
||||
&& php -m | grep -q 'oci8' \
|
||||
@ -946,6 +1007,7 @@ ARG INSTALL_LARAVEL_ENVOY=false
|
||||
|
||||
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
|
||||
# Install the Laravel Envoy
|
||||
composer global config --no-plugins allow-plugins.kylekatarnls/update-helper true && \
|
||||
composer global require laravel/envoy \
|
||||
;fi
|
||||
|
||||
@ -1038,34 +1100,36 @@ RUN set -eux; \
|
||||
if [ ${INSTALL_MSSQL} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
apt-get install -yqq php5.6-sybase freetds-bin freetds-common libsybdb5 \
|
||||
&& php -m | grep -q 'mssql' \
|
||||
&& php -m | grep -q 'pdo_dblib' \
|
||||
&& php -m | grep -oiE '^mssql$' \
|
||||
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||
;else \
|
||||
###########################################################################
|
||||
# The following steps were taken from
|
||||
# https://github.com/Microsoft/msphpsql/wiki/Install-and-configuration
|
||||
###########################################################################
|
||||
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
|
||||
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
|
||||
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
|
||||
apt-get update -yqq && \
|
||||
ACCEPT_EULA=Y apt-get install -yqq msodbcsql17 mssql-tools unixodbc unixodbc-dev libgss3 odbcinst locales && \
|
||||
ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd && \
|
||||
ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp && \
|
||||
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
|
||||
locale-gen && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "2" ]; then \
|
||||
pecl install pdo_sqlsrv-5.8.1 sqlsrv-5.8.1 \
|
||||
;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "1" ]; then \
|
||||
pecl install pdo_sqlsrv-5.6.1 sqlsrv-5.6.1 \
|
||||
;elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
locale-gen \
|
||||
&& if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||
pecl install pdo_sqlsrv-5.3.0 sqlsrv-5.3.0 \
|
||||
;elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70100" ]; then \
|
||||
pecl install pdo_sqlsrv-5.6.1 sqlsrv-5.6.1 \
|
||||
;elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70200" ]; then \
|
||||
pecl install pdo_sqlsrv-5.8.1 sqlsrv-5.8.1 \
|
||||
;elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70300" ]; then \
|
||||
pecl install pdo_sqlsrv-5.9.0 sqlsrv-5.9.0 \
|
||||
;else \
|
||||
pecl install pdo_sqlsrv 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' \
|
||||
echo "extension=sqlsrv.so" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-sqlsrv.ini && \
|
||||
php -m | grep -oiE '^pdo_sqlsrv$' && \
|
||||
php -m | grep -oiE '^sqlsrv$' \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
@ -1113,7 +1177,7 @@ RUN if [ ${INSTALL_SYMFONY} = true ]; then \
|
||||
mkdir -p /usr/local/bin \
|
||||
&& apt-get -y install sudo wget \
|
||||
&& wget --quiet https://get.symfony.com/cli/installer -O - | bash \
|
||||
&& mv /root/.symfony/bin/symfony /usr/local/bin/symfony \
|
||||
&& mv /root/.symfony5/bin/symfony /usr/local/bin/symfony \
|
||||
&& chmod a+x /usr/local/bin/symfony \
|
||||
;fi
|
||||
|
||||
@ -1124,7 +1188,10 @@ RUN if [ ${INSTALL_SYMFONY} = true ]; then \
|
||||
ARG INSTALL_PYTHON=false
|
||||
|
||||
RUN if [ ${INSTALL_PYTHON} = true ]; then \
|
||||
apt-get -y install python python-pip python-dev build-essential \
|
||||
apt-get -y install python python-dev build-essential \
|
||||
&& curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py \
|
||||
&& python get-pip.py \
|
||||
&& rm get-pip.py \
|
||||
&& python -m pip install --upgrade pip \
|
||||
&& python -m pip install --upgrade virtualenv \
|
||||
;fi
|
||||
@ -1136,7 +1203,10 @@ RUN if [ ${INSTALL_PYTHON} = true ]; then \
|
||||
ARG INSTALL_PYTHON3=false
|
||||
|
||||
RUN if [ ${INSTALL_PYTHON3} = true ]; then \
|
||||
apt-get -y install python3 python3-pip python3-dev build-essential \
|
||||
apt-get -y install python3 python3-dev build-essential \
|
||||
&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
|
||||
&& python3 get-pip.py \
|
||||
&& rm get-pip.py \
|
||||
&& python3 -m pip install --upgrade --force-reinstall pip \
|
||||
&& python3 -m pip install --upgrade virtualenv \
|
||||
;fi
|
||||
@ -1240,6 +1310,7 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||
USER root
|
||||
|
||||
ARG INSTALL_PG_CLIENT=false
|
||||
ARG PG_CLIENT_VERSION
|
||||
|
||||
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
|
||||
# Install the pgsql client
|
||||
@ -1247,7 +1318,7 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
|
||||
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list \
|
||||
&& apt-get update \
|
||||
&& apt-get -y install postgresql-client-12 \
|
||||
&& apt-get -y install postgresql-client-${PG_CLIENT_VERSION} \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -1265,6 +1336,7 @@ RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
|
||||
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
|
||||
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
|
||||
xfonts-base xfonts-scalable x11-apps \
|
||||
fonts-ipafont \
|
||||
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
|
||||
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
|
||||
&& apt-get -y -f install \
|
||||
@ -1285,22 +1357,30 @@ ARG LARADOCK_PHALCON_VERSION
|
||||
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apt-get update && apt-get install -yqq unzip libpcre3-dev gcc make re2c git automake autoconf\
|
||||
&& git clone https://github.com/jbboehr/php-psr.git \
|
||||
&& cd php-psr \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make test \
|
||||
&& make install \
|
||||
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \
|
||||
&& unzip -d /tmp/ /tmp/cphalcon.zip \
|
||||
&& cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \
|
||||
&& ./install \
|
||||
&& echo "extension=psr.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini \
|
||||
&& echo "extension=phalcon.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini \
|
||||
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-phalcon.ini \
|
||||
&& rm -rf /tmp/cphalcon* \
|
||||
apt-get update -yqq \
|
||||
&& pecl channel-update pecl.php.net \
|
||||
&& apt-get install -yqq libpcre3-dev; \
|
||||
pecl install phalcon-${LARADOCK_PHALCON_VERSION}; \
|
||||
echo "extension=phalcon.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini; \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/50-phalcon.ini; \
|
||||
php -m | grep -q 'phalcon' \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# APCU:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_APCU=false
|
||||
|
||||
RUN if [ ${INSTALL_APCU} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install apcu-4.0.11; \
|
||||
else \
|
||||
pecl install apcu; \
|
||||
fi && \
|
||||
echo "extension=apcu.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/apcu.ini; \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/apcu.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/50-apcu.ini; \
|
||||
php -m | grep -q 'apcu' \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -1389,13 +1469,11 @@ USER root
|
||||
ARG INSTALL_AUDIOWAVEFORM=false
|
||||
|
||||
RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
|
||||
apt-get -y install git wget make cmake gcc g++ libmad0-dev libid3tag0-dev libsndfile1-dev libgd-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \
|
||||
apt-get -y install wget make cmake gcc g++ libmad0-dev libid3tag0-dev libsndfile1-dev libgd-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \
|
||||
&& cd /tmp \
|
||||
&& git clone https://github.com/bbc/audiowaveform.git \
|
||||
&& cd audiowaveform \
|
||||
&& wget https://github.com/google/googletest/archive/release-1.10.0.tar.gz \
|
||||
&& tar xzf release-1.10.0.tar.gz \
|
||||
&& ln -s googletest-release-1.10.0/googletest googletest \
|
||||
&& ln -s googletest-release-1.10.0/googlemock googlemock \
|
||||
&& git clone --depth=1 https://github.com/google/googletest.git -b release-1.11.0 \
|
||||
&& mkdir build \
|
||||
&& cd build \
|
||||
&& cmake .. \
|
||||
@ -1410,9 +1488,11 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \
|
||||
USER root
|
||||
|
||||
ARG INSTALL_WKHTMLTOPDF=false
|
||||
ARG WKHTMLTOPDF_VERSION=0.12.6-1
|
||||
|
||||
RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
apt-get install -y \
|
||||
ARCH=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
|
||||
&& apt-get install -y \
|
||||
libxrender1 \
|
||||
libfontconfig1 \
|
||||
libx11-dev \
|
||||
@ -1423,8 +1503,8 @@ RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
xfonts-base \
|
||||
xfonts-75dpi \
|
||||
wget \
|
||||
&& wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb \
|
||||
&& dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb \
|
||||
&& wget "https://github.com/wkhtmltopdf/packaging/releases/download/${WKHTMLTOPDF_VERSION}/wkhtmltox_0.12.6-1.bionic_${ARCH}.deb" \
|
||||
&& dpkg -i "wkhtmltox_${WKHTMLTOPDF_VERSION}.bionic_${ARCH}.deb" \
|
||||
&& apt -f install \
|
||||
;fi
|
||||
|
||||
@ -1492,6 +1572,7 @@ ARG INSTALL_PROTOC=false
|
||||
ARG PROTOC_VERSION
|
||||
|
||||
RUN if [ ${INSTALL_PROTOC} = true ]; then \
|
||||
apt-get -yqq install sudo wget unzip && \
|
||||
if [ ${PROTOC_VERSION} = "latest" ]; then \
|
||||
REAL_PROTOC_VERSION=$(curl -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | \
|
||||
sed -nr 's/.*"tag_name":\s?"v(.+?)".*/\1/p'); \
|
||||
@ -1499,10 +1580,10 @@ RUN if [ ${INSTALL_PROTOC} = true ]; then \
|
||||
REAL_PROTOC_VERSION=${PROTOC_VERSION}; \
|
||||
fi && \
|
||||
PROTOC_ZIP=protoc-${REAL_PROTOC_VERSION}-linux-x86_64.zip; \
|
||||
curl -L -o /tmp/protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v${REAL_PROTOC_VERSION}/${PROTOC_ZIP} && \
|
||||
unzip -q -o /tmp/protoc.zip -d /usr/local bin/protoc && \
|
||||
unzip -q -o /tmp/protoc.zip -d /usr/local 'include/*' && \
|
||||
rm -f /tmp/protoc.zip && \
|
||||
wget https://github.com/protocolbuffers/protobuf/releases/download/v${REAL_PROTOC_VERSION}/${PROTOC_ZIP} && \
|
||||
unzip -q -o ${PROTOC_ZIP} -d /usr/local bin/protoc && \
|
||||
unzip -q -o ${PROTOC_ZIP} -d /usr/local 'include/*' && \
|
||||
rm -f ${PROTOC_ZIP} && \
|
||||
chmod +x /usr/local/bin/protoc && \
|
||||
chmod -R +r /usr/local/include/google \
|
||||
;fi
|
||||
@ -1530,7 +1611,7 @@ ARG SHELL_OH_MY_ZSH_ALIASES=false
|
||||
USER laradock
|
||||
RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \
|
||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --keep-zshrc" && \
|
||||
sed -i -r 's/^plugins=\(.*?\)$/plugins=(laravel5)/' /home/laradock/.zshrc && \
|
||||
sed -i -r 's/^plugins=\(.*?\)$/plugins=(laravel composer)/' /home/laradock/.zshrc && \
|
||||
echo '\n\
|
||||
bindkey "^[OB" down-line-or-search\n\
|
||||
bindkey "^[OC" forward-char\n\
|
||||
@ -1638,6 +1719,118 @@ RUN set -eux; \
|
||||
php -m | grep -q 'zookeeper'; \
|
||||
fi
|
||||
|
||||
###########################################################################
|
||||
# PHP SSDB:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_SSDB=false
|
||||
|
||||
RUN set -xe; \
|
||||
if [ ${INSTALL_SSDB} = true ] && [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
|
||||
apt-get -y install sudo wget && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
curl -L -o /tmp/ssdb-client-php.tar.gz https://github.com/jonnywang/phpssdb/archive/php7.tar.gz; \
|
||||
else \
|
||||
curl -L -o /tmp/ssdb-client-php.tar.gz https://github.com/jonnywang/phpssdb/archive/master.tar.gz; \
|
||||
fi \
|
||||
&& mkdir -p /tmp/ssdb-client-php \
|
||||
&& tar -C /tmp/ssdb-client-php -zxvf /tmp/ssdb-client-php.tar.gz --strip 1 \
|
||||
&& cd /tmp/ssdb-client-php \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& rm /tmp/ssdb-client-php.tar.gz \
|
||||
&& docker-php-ext-enable ssdb \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# trader:
|
||||
#####################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_TRADER=false
|
||||
|
||||
RUN if [ ${INSTALL_TRADER} = true ]; then \
|
||||
pecl install trader \
|
||||
&& echo "extension=trader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/trader.ini \
|
||||
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/trader.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-trader.ini \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# zmq
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_ZMQ=false
|
||||
|
||||
RUN if [ ${INSTALL_ZMQ} = true ]; then \
|
||||
apt-get install --yes git libzmq3-dev \
|
||||
&& git clone https://github.com/zeromq/php-zmq.git \
|
||||
&& cd php-zmq \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& cd .. \
|
||||
&& rm -fr php-zmq \
|
||||
&& echo "extension=zmq.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/zmq.ini \
|
||||
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/zmq.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-zmq.ini \
|
||||
;fi
|
||||
|
||||
############################################################################
|
||||
## Event:
|
||||
############################################################################
|
||||
USER root
|
||||
|
||||
ARG INSTALL_EVENT=false
|
||||
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_EVENT} = true ]; then \
|
||||
curl -L -o /tmp/libevent.tar.gz https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz &&\
|
||||
mkdir -p /tmp/libevent-php &&\
|
||||
tar -C /tmp/libevent-php -zxvf /tmp/libevent.tar.gz --strip 1 &&\
|
||||
cd /tmp/libevent-php &&\
|
||||
./configure --prefix=/usr/local/libevent-2.1.12 &&\
|
||||
make &&\
|
||||
make install &&\
|
||||
rm /tmp/libevent.tar.gz &&\
|
||||
if [ ! -f /etc/php/${LARADOCK_PHP_VERSION}/mods-available/sockets.ini ]; then\
|
||||
echo "extension=sockets.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/sockets.ini; \
|
||||
fi &&\
|
||||
ln -sf /etc/php/${LARADOCK_PHP_VERSION}/mods-available/sockets.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-sockets.ini && \
|
||||
curl -L -o /tmp/event.tar.gz http://pecl.php.net/get/event-3.0.6.tgz &&\
|
||||
mkdir -p /tmp/event-php &&\
|
||||
tar -C /tmp/event-php -zxvf /tmp/event.tar.gz --strip 1 &&\
|
||||
cd /tmp/event-php &&\
|
||||
phpize &&\
|
||||
./configure --with-event-libevent-dir=/usr/local/libevent-2.1.12/ &&\
|
||||
make &&\
|
||||
make install &&\
|
||||
rm /tmp/event.tar.gz &&\
|
||||
echo "extension=event.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/event.ini && \
|
||||
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/event.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-event.ini && \
|
||||
php -m | grep -q 'event' \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# DNS utilities:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_DNSUTILS=false
|
||||
|
||||
RUN if [ ${INSTALL_DNSUTILS} = true ]; then \
|
||||
apt-get update && apt-get install -y dnsutils \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
|
@ -148,3 +148,14 @@ function fs() {
|
||||
du $arg .[^.]* ./*;
|
||||
fi;
|
||||
}
|
||||
|
||||
# Add artisan autocomplete
|
||||
function _artisan()
|
||||
{
|
||||
COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
|
||||
COMMANDS=`php artisan --raw --no-ansi list | sed "s/[[:space:]].*//g"`
|
||||
COMPREPLY=(`compgen -W "$COMMANDS" -- "${COMP_WORDS[COMP_CWORD]}"`)
|
||||
return 0
|
||||
}
|
||||
complete -F _artisan art
|
||||
complete -F _artisan artisan
|
||||
|
@ -1,83 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -xe;
|
||||
|
||||
if type "tee" 2>/dev/null && [ -n "${UBUNTU_SOURCE}" ]; then
|
||||
SOURCE_PATH="/etc/apt/sources.list"
|
||||
cp ${SOURCE_PATH} ${SOURCE_PATH}.bak && rm -rf ${SOURCE_PATH}
|
||||
case "${UBUNTU_SOURCE}" in
|
||||
"aliyun")
|
||||
tee ${SOURCE_PATH} <<-'EOF'
|
||||
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
|
||||
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
|
||||
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
EOF
|
||||
;;
|
||||
"zju")
|
||||
tee ${SOURCE_PATH} <<-'EOF'
|
||||
deb http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe
|
||||
deb http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe
|
||||
deb http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe
|
||||
deb http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe
|
||||
deb http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe
|
||||
deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic main multiverse restricted universe
|
||||
deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-backports main multiverse restricted universe
|
||||
deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-proposed main multiverse restricted universe
|
||||
deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-security main multiverse restricted universe
|
||||
deb-src http://mirrors.zju.edu.cn/ubuntu/ bionic-updates main multiverse restricted universe
|
||||
EOF
|
||||
;;
|
||||
"tsinghua")
|
||||
tee ${SOURCE_PATH} <<-'EOF'
|
||||
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
|
||||
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
|
||||
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
EOF
|
||||
;;
|
||||
"163")
|
||||
tee ${SOURCE_PATH} <<-'EOF'
|
||||
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
|
||||
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
|
||||
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
EOF
|
||||
;;
|
||||
"ustc")
|
||||
tee ${SOURCE_PATH} <<-'EOF'
|
||||
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
|
||||
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
|
||||
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
|
||||
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
|
||||
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
|
||||
EOF
|
||||
;;
|
||||
*)
|
||||
echo "Please check whether there is aliyun|zju|tsinghua|163|ustc in the parameter"
|
||||
exit 1;;
|
||||
esac
|
||||
fi
|
Reference in New Issue
Block a user