Compare commits
35 Commits
Author | SHA1 | Date | |
---|---|---|---|
cf46b87a01 | |||
0af2115658 | |||
c1e8e955a1 | |||
0ffea858d6 | |||
549094d7d2 | |||
7219b3543a | |||
1dac382827 | |||
876336bc1a | |||
538b6aa0cd | |||
c886831613 | |||
9cfe5c6156 | |||
db02fe7570 | |||
436df887c9 | |||
919cde3a76 | |||
784aab2043 | |||
d5d9073863 | |||
6a3b3fac2d | |||
61576c0b1b | |||
70c1be4168 | |||
e101e4d5b2 | |||
4658820437 | |||
0bbfb2d228 | |||
86a4108ef4 | |||
20c85904c5 | |||
aaef73c84d | |||
876935452e | |||
00df369e96 | |||
902198ab05 | |||
2e2cb6df22 | |||
39469e1404 | |||
947a791ad2 | |||
aa84dd8616 | |||
b788a8bbfd | |||
89051de67d | |||
1b865dd153 |
2
.github/README.md
vendored
2
.github/README.md
vendored
@ -1,5 +1,5 @@
|
||||
<p align="center">
|
||||
<img src="https://s19.postimg.org/jblfytw9f/laradock-logo.jpg" alt="Laradock Logo"/>
|
||||
<img src="/.github/home-page-images/laradock-logo.jpg?raw=true" alt="Laradock Logo"/>
|
||||
</p>
|
||||
|
||||
<p align="center">A Docker PHP development environment that facilitates running PHP Apps on Docker</p>
|
||||
|
BIN
.github/home-page-images/laradock-logo.jpg
vendored
Normal file
BIN
.github/home-page-images/laradock-logo.jpg
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 287 KiB |
@ -1,4 +1,4 @@
|
||||
baseurl = "http://laradock.io/"
|
||||
baseurl = "https://laradock.io/"
|
||||
languageCode = "en-us"
|
||||
publishDir = "../docs"
|
||||
title = "Laradock"
|
||||
|
@ -353,6 +353,28 @@ Note: If `.php-fpm/xdebug` doesn't execute and gives `Permission Denied` error t
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-ionCube-Loader"></a>
|
||||
## Install ionCube Loader
|
||||
|
||||
1 - First install `ionCube Loader` in the Workspace and the PHP-FPM Containers:
|
||||
<br>
|
||||
a) open the `.env` file
|
||||
<br>
|
||||
b) search for the `WORKSPACE_INSTALL_IONCUBE` argument under the Workspace Container
|
||||
<br>
|
||||
c) set it to `true`
|
||||
<br>
|
||||
d) search for the `PHP_FPM_INSTALL_IONCUBE` argument under the PHP-FPM Container
|
||||
<br>
|
||||
e) set it to `true`
|
||||
|
||||
2 - Re-build the containers `docker-compose build workspace php-fpm`
|
||||
|
||||
Always download the latest version of [Loaders for ionCube ](http://www.ioncube.com/loaders.php).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
@ -523,6 +545,7 @@ b) add a new service container by simply copy-paste this section below PHP-FPM c
|
||||
args:
|
||||
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} #Optionally install PGSQL PHP drivers
|
||||
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} #Optionally install BCMath php package
|
||||
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP} #Optionally install Soap php package
|
||||
volumes_from:
|
||||
- applications
|
||||
depends_on:
|
||||
@ -543,6 +566,28 @@ docker-compose up -d php-worker
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-Mailu"></a>
|
||||
## Use Mailu
|
||||
|
||||
1 - You need register a domain.
|
||||
|
||||
2 - Required RECAPTCHA for signup email [HERE](https://www.google.com/recaptcha/admin)
|
||||
|
||||
2 - modify following environment variable in `.env` file
|
||||
|
||||
```
|
||||
MAILU_RECAPTCHA_PUBLIC_KEY=<YOUR_RECAPTCHA_PUBLIC_KEY>
|
||||
MAILU_RECAPTCHA_PRIVATE_KEY=<YOUR_RECAPTCHA_PRIVATE_KEY>
|
||||
MAILU_DOMAIN=laradock.io
|
||||
MAILU_HOSTNAMES=mail.laradock.io
|
||||
```
|
||||
|
||||
2 - Open your browser and visit `http://YOUR_DOMAIN`.
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-NetData"></a>
|
||||
## Use NetData
|
||||
@ -999,6 +1044,27 @@ docker-compose up -d minio
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-Thumbor"></a>
|
||||
## Use Thumbor
|
||||
|
||||
Thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images. ([Thumbor](https://github.com/thumbor/thumbor))
|
||||
|
||||
1 - Configure Thumbor:
|
||||
- Checkout all the options under the thumbor settings
|
||||
|
||||
|
||||
2 - Run the Thumbor Container (`minio`) with the `docker-compose up` command. Example:
|
||||
|
||||
```bash
|
||||
docker-compose up -d thumbor
|
||||
```
|
||||
|
||||
3 - Navigate to an example image on `http://localhost:8000/unsafe/300x300/i.imgur.com/bvjzPct.jpg`
|
||||
|
||||
For more documentation on Thumbor visit the [Thumbor documenation](http://thumbor.readthedocs.io/en/latest/index.html) page
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-AWS"></a>
|
||||
## Use AWS
|
||||
@ -1499,10 +1565,33 @@ e) set it to `true`
|
||||
3 - Set it to `true`
|
||||
<br>
|
||||
4 - Re-build the containers `docker-compose build php-fpm`
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-Faketime"></a>
|
||||
## Install libfaketime in the php-fpm container
|
||||
Libfaketime allows you to control the date and time that is returned from the operating system.
|
||||
It can be used by specifying a special string in the `PHP_FPM_FAKETIME` variable in the `.env` file.
|
||||
For example:
|
||||
`PHP_FPM_FAKETIME=-1d`
|
||||
will set the clock back 1 day. See (https://github.com/wolfcw/libfaketime) for more information.
|
||||
|
||||
1 - Open the `.env` file
|
||||
<br>
|
||||
2 - Search for the `PHP_FPM_INSTALL_FAKETIME` argument under the PHP-FPM container
|
||||
<br>
|
||||
3 - Set it to `true`
|
||||
<br>
|
||||
4 - Search for the `PHP_FPM_FAKETIME` argument under the PHP-FPM container
|
||||
<br>
|
||||
5 - Set it to the desired string
|
||||
<br>
|
||||
6 - Re-build the containers `docker-compose build php-fpm`<br>
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="phpstorm-debugging"></a>
|
||||
@ -1798,7 +1887,7 @@ This error sometimes happens because your Laravel application isn't running on t
|
||||
|
||||
## I get stuck when building nginx on `fetch http://mirrors.aliyun.com/alpine/v3.5/main/x86_64/APKINDEX.tar.gz`
|
||||
|
||||
As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-293296687), removing the line `RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories` from `nginx/Dockerfile` solves the problem.
|
||||
As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-419652646), Already fixed,just set `CHANGE_SOURCE` to false.
|
||||
|
||||
## Custom composer repo packagist url and npm registry url
|
||||
|
||||
|
@ -81,10 +81,10 @@ We'll need to do step 1 of the [Usage](#Usage) section now to make this happen.
|
||||
cp env-example .env
|
||||
```
|
||||
|
||||
At the top, change the `APPLICATION` variable to your project path.
|
||||
At the top, change the `APP_CODE_PATH_HOST` variable to your project path.
|
||||
|
||||
```
|
||||
APPLICATION=../project-z/
|
||||
APP_CODE_PATH_HOST=../project-z/
|
||||
```
|
||||
|
||||
Make sure to replace `project-z` with your project folder name.
|
||||
@ -161,7 +161,7 @@ We recommend using a Docker version which is newer than 1.13.
|
||||
cp env-example .env
|
||||
```
|
||||
|
||||
You can edit the `.env` file to choose which software you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables have been used.
|
||||
You can edit the `.env` file to choose which software's you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables are being used.
|
||||
|
||||
Depending on the host's operating system you may need to change the value given to `COMPOSE_FILE`. When you are running Laradock on Mac OS the correct file separator to use is `:`. When running Laradock from a Windows environment multiple files must be separated with `;`.
|
||||
|
||||
|
@ -418,7 +418,7 @@ laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222-
|
||||
<a name="enablePhpXdebug"></a>
|
||||
## Enable xDebug on php-fpm
|
||||
|
||||
In a host terminal sitting in the laradock folder, run: `.php-fpm/xdebug status`
|
||||
In a host terminal sitting in the laradock folder, run: `./php-fpm/xdebug status`
|
||||
You should see something like the following:
|
||||
|
||||
```
|
||||
@ -430,7 +430,7 @@ Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
|
||||
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
|
||||
```
|
||||
|
||||
Other commands include `.php-fpm/xdebug start | stop`.
|
||||
Other commands include `./php-fpm/xdebug start | stop`.
|
||||
|
||||
If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will already be running when
|
||||
`php-fpm` is started and listening for debug info on port 9000.
|
||||
@ -516,9 +516,9 @@ If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will
|
||||
<a name="UsagePHPStormDebugSite"></a>
|
||||
### Debug WebSite
|
||||
- In case xDebug is disabled, from the `laradock` folder run:
|
||||
`.php-fpm/xdebug start`.
|
||||
`./php-fpm/xdebug start`.
|
||||
- To switch xdebug off, run:
|
||||
`.php-fpm/xdebug stop`
|
||||
`./php-fpm/xdebug stop`
|
||||
|
||||
- Start Remote Debugging
|
||||
- 
|
||||
|
@ -97,7 +97,7 @@ Beanstalkd - RabbitMQ - PHP Worker
|
||||
- **Queueing Management:**
|
||||
Beanstalkd Console - RabbitMQ Console
|
||||
- **Random Tools:**
|
||||
HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Grafana - Gitlab - Mailhog - MailDev - Minio - Varnish - Swoole - NetData - Portainer - Laravel Echo...
|
||||
Mailu - HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Grafana - Gitlab - Mailhog - MailDev - Minio - Varnish - Swoole - NetData - Portainer - Laravel Echo - Phalcon...
|
||||
|
||||
Laradock introduces the **Workspace** Image, as a development environment.
|
||||
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
|
||||
|
@ -25,18 +25,21 @@
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
<!-- Google Ads -->
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- Laradock Horizontal -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:890px;height:100px"
|
||||
data-ad-client="ca-pub-9826129398689742"
|
||||
data-ad-slot="2340256024"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
<!-- Wrapper arround google ads for seedanddew -->
|
||||
<div class='snd-ad'>
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
<!-- Google Ads -->
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- Laradock Horizontal -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:890px;height:100px"
|
||||
data-ad-client="ca-pub-9826129398689742"
|
||||
data-ad-slot="2340256024"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
</div>
|
||||
|
||||
{{ range where .Site.Pages "Type" "index" }}
|
||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||
|
@ -70,6 +70,27 @@
|
||||
{{ end }}
|
||||
<script src="{{ "javascripts/modernizr.js" | absURL }}"></script>
|
||||
|
||||
<script>
|
||||
// ------------------------------------------------------------
|
||||
// seedanddew.com integration
|
||||
var SeedAndDewConfig = {};
|
||||
(function() {
|
||||
SeedAndDewConfig['adClass'] = "snd-ad";
|
||||
/* * * DON'T EDIT BELOW THIS LINE * * */
|
||||
SeedAndDewConfig['projectId'] = 'd69f3ea2-1e30-44c7-bd2a-87686c0136e6';
|
||||
SeedAndDewConfig['loadStartTime'] = performance.now();
|
||||
SeedAndDewConfig['apiVersion'] = '2018-05-28'
|
||||
SeedAndDewConfig['sessionId'] = Math.random().toString(36).substring(2, 15);
|
||||
var snd = document.createElement('script');
|
||||
snd.type = 'text/javascript';
|
||||
snd.async = true;
|
||||
snd.src = 'https://www.seedanddew.com/static/embed.min.js';
|
||||
(document.getElementsByTagName('head')[0] ||
|
||||
document.getElementsByTagName('body')[0]).appendChild(snd);
|
||||
})();
|
||||
// ------------------------------------------------------------
|
||||
</script>
|
||||
|
||||
{{ with .RSSLink }}
|
||||
<link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
<link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
|
@ -1,17 +1,27 @@
|
||||
FROM zuohuadong/caddy:alpine
|
||||
FROM golang:alpine
|
||||
|
||||
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
|
||||
|
||||
RUN apk add --no-cache \
|
||||
openssh \
|
||||
git \
|
||||
build-base && \
|
||||
go get github.com/abiosoft/caddyplug/caddyplug \
|
||||
&& caddyplug install-caddy \
|
||||
apk del build-base
|
||||
|
||||
ARG plugins="cors"
|
||||
|
||||
## ARG plugins="cors cgi cloudflare azure linode"
|
||||
|
||||
|
||||
RUN caddyplug install ${plugins}
|
||||
|
||||
RUN apk add --no-cache inotify-tools \
|
||||
&& echo -e "#!/bin/sh\nwhile inotifywait -e modify /etc/caddy; do\n\tpkill caddy\ndone " >> /start.sh \
|
||||
&& chmod +x /start.sh
|
||||
|
||||
EXPOSE 80 443 2015
|
||||
EXPOSE 80 443
|
||||
|
||||
WORKDIR /var/www/public
|
||||
|
||||
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile","-agree"]
|
||||
CMD ["sh","-c","/start.sh & /usr/bin/caddy -conf /etc/caddy/Caddyfile -agree"]
|
||||
|
@ -44,3 +44,8 @@ laradock2.demo:80 {
|
||||
#proxy domain.com
|
||||
#cors
|
||||
}
|
||||
|
||||
laradock3.demo:80 {
|
||||
import authlist.conf
|
||||
root /var/www/public
|
||||
}
|
1
caddy/caddy/authlist.conf
Normal file
1
caddy/caddy/authlist.conf
Normal file
@ -0,0 +1 @@
|
||||
basicauth / laradock laradock
|
@ -48,10 +48,13 @@ services:
|
||||
context: ./workspace
|
||||
args:
|
||||
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
||||
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
|
||||
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
|
||||
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
|
||||
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
|
||||
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
||||
- INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2}
|
||||
- INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
|
||||
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
|
||||
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
|
||||
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
|
||||
@ -86,8 +89,10 @@ services:
|
||||
- INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM}
|
||||
- INSTALL_DUSK_DEPS=${WORKSPACE_INSTALL_DUSK_DEPS}
|
||||
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
|
||||
- INSTALL_PHALCON=${WORKSPACE_INSTALL_PHALCON}
|
||||
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
|
||||
- INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
|
||||
- INSTALL_IONCUBE=${WORKSPACE_INSTALL_IONCUBE}
|
||||
- PUID=${WORKSPACE_PUID}
|
||||
- PGID=${WORKSPACE_PGID}
|
||||
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
|
||||
@ -116,9 +121,11 @@ services:
|
||||
context: ./php-fpm
|
||||
args:
|
||||
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
||||
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
|
||||
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
|
||||
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
|
||||
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
||||
- INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2}
|
||||
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
|
||||
- INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
|
||||
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
|
||||
@ -136,14 +143,16 @@ services:
|
||||
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
|
||||
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
||||
- INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
|
||||
- INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
|
||||
- INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
|
||||
- INSTALL_GHOSTSCRIPT=${PHP_FPM_INSTALL_GHOSTSCRIPT}
|
||||
- INSTALL_LDAP=${PHP_FPM_INSTALL_LDAP}
|
||||
- INSTALL_PHALCON=${PHP_FPM_INSTALL_PHALCON}
|
||||
- INSTALL_SWOOLE=${PHP_FPM_INSTALL_SWOOLE}
|
||||
- INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
|
||||
- INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
|
||||
- INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME}
|
||||
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
|
||||
volumes:
|
||||
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
@ -154,6 +163,7 @@ services:
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
- DOCKER_HOST=tcp://docker-in-docker:2375
|
||||
- FAKETIME=${PHP_FPM_FAKETIME}
|
||||
depends_on:
|
||||
- workspace
|
||||
networks:
|
||||
@ -169,6 +179,7 @@ services:
|
||||
- PHP_VERSION=${PHP_VERSION}
|
||||
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
|
||||
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
|
||||
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ./php-worker/supervisord.d:/etc/supervisord.d
|
||||
@ -186,10 +197,12 @@ services:
|
||||
args:
|
||||
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
|
||||
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
|
||||
- CHANGE_SOURCE=${CHANGE_SOURCE}
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
|
||||
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
|
||||
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
|
||||
ports:
|
||||
- "${NGINX_HOST_HTTP_PORT}:80"
|
||||
- "${NGINX_HOST_HTTPS_PORT}:443"
|
||||
@ -468,7 +481,7 @@ services:
|
||||
build: ./caddy
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ${CADDY_CUSTOM_CADDYFILE}:/etc/Caddyfile
|
||||
- ${CADDY_CONFIG_PATH}:/etc/caddy
|
||||
- ${CADDY_HOST_LOG_PATH}:/var/log/caddy
|
||||
- ${DATA_PATH_HOST}:/root/.caddy
|
||||
ports:
|
||||
@ -693,6 +706,7 @@ services:
|
||||
args:
|
||||
- SOLR_VERSION=${SOLR_VERSION}
|
||||
- SOLR_DATAIMPORTHANDLER_MYSQL=${SOLR_DATAIMPORTHANDLER_MYSQL}
|
||||
- SOLR_DATAIMPORTHANDLER_MSSQL=${SOLR_DATAIMPORTHANDLER_MSSQL}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/solr:/opt/solr/server/solr/mycores
|
||||
ports:
|
||||
@ -700,6 +714,122 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Thumbor #########################################
|
||||
thumbor:
|
||||
build: ./thumbor
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/thumbor/data:/data
|
||||
- ${DATA_PATH_HOST}/thumbor/data:/logs
|
||||
ports:
|
||||
- "${THUMBOR_PORT}:8000"
|
||||
environment:
|
||||
- THUMBOR_LOG_FORMAT=${THUMBOR_LOG_FORMAT}
|
||||
- THUMBOR_LOG_DATE_FORMAT=${THUMBOR_LOG_DATE_FORMAT}
|
||||
- MAX_WIDTH=${MAX_WIDTH}
|
||||
- MAX_HEIGHT=${MAX_HEIGHT}
|
||||
- MIN_WIDTH=${MIN_WIDTH}
|
||||
- MIN_HEIGHT=${MIN_HEIGHT}
|
||||
- ALLOWED_SOURCES=${ALLOWED_SOURCES}
|
||||
- QUALITY=${QUALITY}
|
||||
- WEBP_QUALITY=${WEBP_QUALITY}
|
||||
- PNG_COMPRESSION_LEVEL=${PNG_COMPRESSION_LEVEL}
|
||||
- AUTO_WEBP=${AUTO_WEBP}
|
||||
- MAX_AGE=${MAX_AGE}
|
||||
- MAX_AGE_TEMP_IMAGE=${MAX_AGE_TEMP_IMAGE}
|
||||
- RESPECT_ORIENTATION=${RESPECT_ORIENTATION}
|
||||
- IGNORE_SMART_ERRORS=${IGNORE_SMART_ERRORS}
|
||||
- PRESERVE_EXIF_INFO=${PRESERVE_EXIF_INFO}
|
||||
- ALLOW_ANIMATED_GIFS=${ALLOW_ANIMATED_GIFS}
|
||||
- USE_GIFSICLE_ENGINE=${USE_GIFSICLE_ENGINE}
|
||||
- USE_BLACKLIST=${USE_BLACKLIST}
|
||||
- LOADER=${LOADER}
|
||||
- STORAGE=${STORAGE}
|
||||
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
|
||||
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
|
||||
- RESULT_STORAGE=${RESULT_STORAGE}
|
||||
- ENGINE=${ENGINE}
|
||||
- SECURITY_KEY=${SECURITY_KEY}
|
||||
- ALLOW_UNSAFE_URL=${ALLOW_UNSAFE_URL}
|
||||
- ALLOW_OLD_URLS=${ALLOW_OLD_URLS}
|
||||
- FILE_LOADER_ROOT_PATH=${FILE_LOADER_ROOT_PATH}
|
||||
- HTTP_LOADER_CONNECT_TIMEOUT=${HTTP_LOADER_CONNECT_TIMEOUT}
|
||||
- HTTP_LOADER_REQUEST_TIMEOUT=${HTTP_LOADER_REQUEST_TIMEOUT}
|
||||
- HTTP_LOADER_FOLLOW_REDIRECTS=${HTTP_LOADER_FOLLOW_REDIRECTS}
|
||||
- HTTP_LOADER_MAX_REDIRECTS=${HTTP_LOADER_MAX_REDIRECTS}
|
||||
- HTTP_LOADER_FORWARD_USER_AGENT=${HTTP_LOADER_FORWARD_USER_AGENT}
|
||||
- HTTP_LOADER_DEFAULT_USER_AGENT=${HTTP_LOADER_DEFAULT_USER_AGENT}
|
||||
- HTTP_LOADER_PROXY_HOST=${HTTP_LOADER_PROXY_HOST}
|
||||
- HTTP_LOADER_PROXY_PORT=${HTTP_LOADER_PROXY_PORT}
|
||||
- HTTP_LOADER_PROXY_USERNAME=${HTTP_LOADER_PROXY_USERNAME}
|
||||
- HTTP_LOADER_PROXY_PASSWORD=${HTTP_LOADER_PROXY_PASSWORD}
|
||||
- HTTP_LOADER_CA_CERTS=${HTTP_LOADER_CA_CERTS}
|
||||
- HTTP_LOADER_VALIDATE_CERTS=${HTTP_LOADER_VALIDATE_CERTS}
|
||||
- HTTP_LOADER_CLIENT_KEY=${HTTP_LOADER_CLIENT_KEY}
|
||||
- HTTP_LOADER_CLIENT_CERT=${HTTP_LOADER_CLIENT_CERT}
|
||||
- HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT=${HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT}
|
||||
- STORAGE_EXPIRATION_SECONDS=${STORAGE_EXPIRATION_SECONDS}
|
||||
- STORES_CRYPTO_KEY_FOR_EACH_IMAGE=${STORES_CRYPTO_KEY_FOR_EACH_IMAGE}
|
||||
- FILE_STORAGE_ROOT_PATH=${FILE_STORAGE_ROOT_PATH}
|
||||
- UPLOAD_MAX_SIZE=${UPLOAD_MAX_SIZE}
|
||||
- UPLOAD_ENABLED=${UPLOAD_ENABLED}
|
||||
- UPLOAD_PHOTO_STORAGE=${UPLOAD_PHOTO_STORAGE}
|
||||
- UPLOAD_DELETE_ALLOWED=${UPLOAD_DELETE_ALLOWED}
|
||||
- UPLOAD_PUT_ALLOWED=${UPLOAD_PUT_ALLOWED}
|
||||
- UPLOAD_DEFAULT_FILENAME=${UPLOAD_DEFAULT_FILENAME}
|
||||
- MONGO_STORAGE_SERVER_HOST=${MONGO_STORAGE_SERVER_HOST}
|
||||
- MONGO_STORAGE_SERVER_PORT=${MONGO_STORAGE_SERVER_PORT}
|
||||
- MONGO_STORAGE_SERVER_DB=${MONGO_STORAGE_SERVER_DB}
|
||||
- MONGO_STORAGE_SERVER_COLLECTION=${MONGO_STORAGE_SERVER_COLLECTION}
|
||||
- REDIS_STORAGE_SERVER_HOST=${REDIS_STORAGE_SERVER_HOST}
|
||||
- REDIS_STORAGE_SERVER_PORT=${REDIS_STORAGE_SERVER_PORT}
|
||||
- REDIS_STORAGE_SERVER_DB=${REDIS_STORAGE_SERVER_DB}
|
||||
- REDIS_STORAGE_SERVER_PASSWORD=${REDIS_STORAGE_SERVER_PASSWORD}
|
||||
- REDIS_RESULT_STORAGE_SERVER_HOST=${REDIS_RESULT_STORAGE_SERVER_HOST}
|
||||
- REDIS_RESULT_STORAGE_SERVER_PORT=${REDIS_RESULT_STORAGE_SERVER_PORT}
|
||||
- REDIS_RESULT_STORAGE_SERVER_DB=${REDIS_RESULT_STORAGE_SERVER_DB}
|
||||
- REDIS_RESULT_STORAGE_SERVER_PASSWORD=${REDIS_RESULT_STORAGE_SERVER_PASSWORD}
|
||||
- MEMCACHE_STORAGE_SERVERS=${MEMCACHE_STORAGE_SERVERS}
|
||||
- MIXED_STORAGE_FILE_STORAGE=${MIXED_STORAGE_FILE_STORAGE}
|
||||
- MIXED_STORAGE_CRYPTO_STORAGE=${MIXED_STORAGE_CRYPTO_STORAGE}
|
||||
- MIXED_STORAGE_DETECTOR_STORAGE=${MIXED_STORAGE_DETECTOR_STORAGE}
|
||||
- META_CALLBACK_NAME=${META_CALLBACK_NAME}
|
||||
- DETECTORS=${DETECTORS}
|
||||
- FACE_DETECTOR_CASCADE_FILE=${FACE_DETECTOR_CASCADE_FILE}
|
||||
- OPTIMIZERS=${OPTIMIZERS}
|
||||
- JPEGTRAN_PATH=${JPEGTRAN_PATH}
|
||||
- PROGRESSIVE_JPEG=${PROGRESSIVE_JPEG}
|
||||
- RESULT_STORAGE_EXPIRATION_SECONDS=${RESULT_STORAGE_EXPIRATION_SECONDS}
|
||||
- RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=${RESULT_STORAGE_FILE_STORAGE_ROOT_PATH}
|
||||
- RESULT_STORAGE_STORES_UNSAFE=${RESULT_STORAGE_STORES_UNSAFE}
|
||||
- REDIS_QUEUE_SERVER_HOST=${REDIS_QUEUE_SERVER_HOST}
|
||||
- REDIS_QUEUE_SERVER_PORT=${REDIS_QUEUE_SERVER_PORT}
|
||||
- REDIS_QUEUE_SERVER_DB=${REDIS_QUEUE_SERVER_DB}
|
||||
- REDIS_QUEUE_SERVER_PASSWORD=${REDIS_QUEUE_SERVER_PASSWORD}
|
||||
- SQS_QUEUE_KEY_ID=${SQS_QUEUE_KEY_ID}
|
||||
- SQS_QUEUE_KEY_SECRET=${SQS_QUEUE_KEY_SECRET}
|
||||
- SQS_QUEUE_REGION=${SQS_QUEUE_REGION}
|
||||
- USE_CUSTOM_ERROR_HANDLING=${USE_CUSTOM_ERROR_HANDLING}
|
||||
- ERROR_HANDLER_MODULE=${ERROR_HANDLER_MODULE}
|
||||
- ERROR_FILE_LOGGER=${ERROR_FILE_LOGGER}
|
||||
- ERROR_FILE_NAME_USE_CONTEXT=${ERROR_FILE_NAME_USE_CONTEXT}
|
||||
- SENTRY_DSN_URL=${SENTRY_DSN_URL}
|
||||
- TC_AWS_REGION=${TC_AWS_REGION}
|
||||
- TC_AWS_ENDPOINT=${TC_AWS_ENDPOINT}
|
||||
- TC_AWS_STORAGE_BUCKET=${TC_AWS_STORAGE_BUCKET}
|
||||
- TC_AWS_STORAGE_ROOT_PATH=${TC_AWS_STORAGE_ROOT_PATH}
|
||||
- TC_AWS_LOADER_BUCKET=${TC_AWS_LOADER_BUCKET}
|
||||
- TC_AWS_LOADER_ROOT_PATH=${TC_AWS_LOADER_ROOT_PATH}
|
||||
- TC_AWS_RESULT_STORAGE_BUCKET=${TC_AWS_RESULT_STORAGE_BUCKET}
|
||||
- TC_AWS_RESULT_STORAGE_ROOT_PATH=${TC_AWS_RESULT_STORAGE_ROOT_PATH}
|
||||
- TC_AWS_STORAGE_SSE=${TC_AWS_STORAGE_SSE}
|
||||
- TC_AWS_STORAGE_RRS=${TC_AWS_STORAGE_RRS}
|
||||
- TC_AWS_ENABLE_HTTP_LOADER=${TC_AWS_ENABLE_HTTP_LOADER}
|
||||
- TC_AWS_ALLOWED_BUCKETS=${TC_AWS_ALLOWED_BUCKETS}
|
||||
- TC_AWS_STORE_METADATA=${TC_AWS_STORE_METADATA}
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### AWS EB-CLI ################################################
|
||||
aws:
|
||||
build:
|
||||
@ -889,3 +1019,252 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### IDE-THEIA ################################################
|
||||
ide-theia:
|
||||
build:
|
||||
context: ./ide-theia
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:/home/project
|
||||
ports:
|
||||
- "${IDE_THEIA_PORT}:3000"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### IDE-WEBIDE ################################################
|
||||
ide-webide:
|
||||
build:
|
||||
context: ./ide-webide
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/ide/webide/ide.db:/root/.coding-ide/ide.db
|
||||
ports:
|
||||
- "${IDE_WEBIDE_PORT}:8080"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### IDE-CODIAD ################################################
|
||||
ide-codiad:
|
||||
build:
|
||||
context: ./ide-codiad
|
||||
environment:
|
||||
- APP_CODE_PATH_CONTAINER=${APP_CODE_PATH_CONTAINER}
|
||||
- TZ=${WORKSPACE_TIMEZONE}
|
||||
- PGID=1000
|
||||
- PUID=1000
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ${DATA_PATH_HOST}/ide/codiad:/config
|
||||
ports:
|
||||
- "${IDE_CODIAD_PORT}:80"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### IDE-ICECODER ################################################
|
||||
ide-icecoder:
|
||||
build:
|
||||
context: ./ide-icecoder
|
||||
environment:
|
||||
- DOCUMENT_ROOT=${APP_CODE_PATH_CONTAINER}
|
||||
- TZ=${WORKSPACE_TIMEZONE}
|
||||
- PGID=1000
|
||||
- PUID=1000
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ${APP_CODE_PATH_HOST}:/home/laradock/ICEcoder/dev
|
||||
ports:
|
||||
- "${IDE_ICECODER_PORT}:8080"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### DOCKER-REGISTRY ################################################
|
||||
docker-registry:
|
||||
build:
|
||||
context: ./docker-registry
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ${DATA_PATH_HOST}/docker-registry:/var/lib/registry
|
||||
ports:
|
||||
- "${DOCKER_REGISTRY_PORT}:5000"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### DOCKER-WEB-UI ################################################
|
||||
docker-web-ui:
|
||||
build:
|
||||
context: ./docker-web-ui
|
||||
environment:
|
||||
- TZ=${WORKSPACE_TIMEZONE}
|
||||
- ENV_DOCKER_REGISTRY_HOST=${DOCKER_WEBUI_REGISTRY_HOST}
|
||||
- ENV_DOCKER_REGISTRY_PORT=${DOCKER_WEBUI_REGISTRY_PORT}
|
||||
- ENV_DOCKER_REGISTRY_USE_SSL=${DOCKER_REGISTRY_USE_SSL}
|
||||
- ENV_MODE_BROWSE_ONLY=${DOCKER_REGISTRY_BROWSE_ONLY}
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "${DOCKER_WEBUI_PORT}:80"
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### MAILU ################################################
|
||||
mailu:
|
||||
image: mailu/admin:${MAILU_VERSION}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/data:/data"
|
||||
- "${DATA_PATH_HOST}/mailu/dkim:/dkim"
|
||||
- "${DATA_PATH_HOST}/mailu/webmail:/webmail"
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
depends_on:
|
||||
- mailu-front
|
||||
- mailu-imap
|
||||
- mailu-smtp
|
||||
- mailu-antispam
|
||||
- mailu-antivirus
|
||||
- mailu-webdav
|
||||
- mailu-admin
|
||||
- mailu-webmail
|
||||
- mailu-fetchmail
|
||||
command: ["sh", "-c", "echo ${MAILU_INIT_ADMIN_USERNAME}@${MAILU_DOMAIN} ${MAILU_INIT_ADMIN_PASSWORD} ;python manage.py advertise ; python manage.py db upgrade ; python manage.py admin ${MAILU_INIT_ADMIN_USERNAME} ${MAILU_DOMAIN} ${MAILU_INIT_ADMIN_PASSWORD} || true;sed -i -- \"s/= Off/= On/g\" /webmail/_data_/_default_/configs/config.ini || true;if grep -Fq \"registration_link_url\" /webmail/_data_/_default_/configs/config.ini;then echo Already set!;else echo \"\" >> /webmail/_data_/_default_/configs/config.ini; echo \"[login]\" >> /webmail/_data_/_default_/configs/config.ini;echo \"registration_link_url = '${MAILU_WEBSITE}${MAILU_WEB_ADMIN}/ui/user/signup'\" >> /webmail/_data_/_default_/configs/config.ini;fi"]
|
||||
networks:
|
||||
- backend
|
||||
mailu-front:
|
||||
image: mailu/nginx:${MAILU_VERSION}
|
||||
environment:
|
||||
- ADMIN=${MAILU_ADMIN}
|
||||
- WEB_ADMIN=${MAILU_WEB_ADMIN}
|
||||
- WEB_WEBMAIL=${MAILU_WEB_WEBMAIL}
|
||||
- WEBDAV=${MAILU_WEBDAV}
|
||||
- HOSTNAMES=${MAILU_HOSTNAMES}
|
||||
- TLS_FLAVOR=${MAILU_TLS_FLAVOR}
|
||||
- MESSAGE_SIZE_LIMIT=${MAILU_MESSAGE_SIZE_LIMIT}
|
||||
ports:
|
||||
- "${MAILU_HTTP_PORT}:80"
|
||||
- "${MAILU_HTTPS_PORT}:443"
|
||||
- "110:110"
|
||||
- "143:143"
|
||||
- "993:993"
|
||||
- "995:995"
|
||||
- "25:25"
|
||||
- "465:465"
|
||||
- "587:587"
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/certs:/certs"
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- front
|
||||
mailu-imap:
|
||||
image: mailu/dovecot:${MAILU_VERSION}
|
||||
environment:
|
||||
- DOMAIN=${MAILU_DOMAIN}
|
||||
- HOSTNAMES=${MAILU_HOSTNAMES}
|
||||
- POSTMASTER=${MAILU_POSTMASTER}
|
||||
- WEBMAIL=${MAILU_WEBMAIL}
|
||||
- RECIPIENT_DELIMITER=${MAILU_RECIPIENT_DELIMITER}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/data:/data"
|
||||
- "${DATA_PATH_HOST}/mailu/mail:/mail"
|
||||
- "${DATA_PATH_HOST}/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- mailu-front
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- imap
|
||||
mailu-smtp:
|
||||
image: mailu/postfix:${MAILU_VERSION}
|
||||
environment:
|
||||
- DOMAIN=${MAILU_DOMAIN}
|
||||
- HOSTNAMES=${MAILU_HOSTNAMES}
|
||||
- RELAYHOST=${MAILU_RELAYHOST}
|
||||
- RELAYNETS=${MAILU_RELAYNETS}
|
||||
- RECIPIENT_DELIMITER=${MAILU_RECIPIENT_DELIMITER}
|
||||
- MESSAGE_SIZE_LIMIT=${MAILU_MESSAGE_SIZE_LIMIT}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/data:/data"
|
||||
- "${DATA_PATH_HOST}/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- mailu-front
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- smtp
|
||||
mailu-antispam:
|
||||
image: mailu/rspamd:${MAILU_VERSION}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/filter:/var/lib/rspamd"
|
||||
- "${DATA_PATH_HOST}/mailu/dkim:/dkim"
|
||||
- "${DATA_PATH_HOST}/mailu/overrides/rspamd:/etc/rspamd/override.d"
|
||||
depends_on:
|
||||
- mailu-front
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- antispam
|
||||
mailu-antivirus:
|
||||
image: mailu/clamav:${MAILU_VERSION}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/filter:/data"
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- antivirus
|
||||
mailu-webdav:
|
||||
image: mailu/${MAILU_WEBDAV}:${MAILU_VERSION}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/dav:/data"
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- webdav
|
||||
mailu-admin:
|
||||
image: mailu/admin:${MAILU_VERSION}
|
||||
environment:
|
||||
- DOMAIN=${MAILU_DOMAIN}
|
||||
- HOSTNAMES=${MAILU_HOSTNAMES}
|
||||
- POSTMASTER=${MAILU_POSTMASTER}
|
||||
- SECRET_KEY=${MAILU_SECRET_KEY}
|
||||
- AUTH_RATELIMIT=${MAILU_AUTH_RATELIMIT}
|
||||
- TLS_FLAVOR=${MAILU_TLS_FLAVOR}
|
||||
- DISABLE_STATISTICS=${MAILU_DISABLE_STATISTICS}
|
||||
- DMARC_RUA=${MAILU_DMARC_RUA}
|
||||
- DMARC_RUF=${MAILU_DMARC_RUF}
|
||||
- WELCOME=${MAILU_WELCOME}
|
||||
- WELCOME_SUBJECT=${MAILU_WELCOME_SUBJECT}
|
||||
- WELCOME_BODY=${MAILU_WELCOME_BODY}
|
||||
- WEB_ADMIN=${MAILU_WEB_ADMIN}
|
||||
- WEB_WEBMAIL=${MAILU_WEB_WEBMAIL}
|
||||
- WEBSITE=${MAILU_WEBSITE}
|
||||
- WEBMAIL=${MAILU_WEBMAIL}
|
||||
- SITENAME=${MAILU_SITENAME}
|
||||
- PASSWORD_SCHEME=${MAILU_PASSWORD_SCHEME}
|
||||
- RECAPTCHA_PUBLIC_KEY=${MAILU_RECAPTCHA_PUBLIC_KEY}
|
||||
- RECAPTCHA_PRIVATE_KEY=${MAILU_RECAPTCHA_PRIVATE_KEY}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/data:/data"
|
||||
- "${DATA_PATH_HOST}/mailu/dkim:/dkim"
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
depends_on:
|
||||
- redis
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- admin
|
||||
mailu-webmail:
|
||||
image: "mailu/${MAILU_WEBMAIL}:${MAILU_VERSION}"
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/webmail:/data"
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- webmail
|
||||
mailu-fetchmail:
|
||||
image: mailu/fetchmail:${MAILU_VERSION}
|
||||
environment:
|
||||
- FETCHMAIL_DELAY=${MAILU_FETCHMAIL_DELAY}
|
||||
volumes:
|
||||
- "${DATA_PATH_HOST}/mailu/data:/data"
|
||||
networks:
|
||||
backend:
|
||||
aliases:
|
||||
- fetchmail
|
||||
|
3
docker-registry/Dockerfile
Normal file
3
docker-registry/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM registry:2
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
3
docker-web-ui/Dockerfile
Normal file
3
docker-web-ui/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM konradkleine/docker-registry-frontend:v2
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
210
env-example
210
env-example
@ -37,6 +37,11 @@ COMPOSE_PROJECT_NAME=laradock
|
||||
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.2 - 7.1 - 7.0 - 5.6
|
||||
PHP_VERSION=7.2
|
||||
|
||||
### 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=3.4.1
|
||||
|
||||
### PHP Interpreter #######################################
|
||||
|
||||
# Select the PHP Interpreter. Accepted values: hhvm - php-fpm
|
||||
@ -81,14 +86,16 @@ WORKSPACE_NPM_REGISTRY=
|
||||
WORKSPACE_INSTALL_YARN=true
|
||||
WORKSPACE_YARN_VERSION=latest
|
||||
WORKSPACE_INSTALL_NPM_GULP=true
|
||||
WORKSPACE_INSTALL_NPM_BOWER=true
|
||||
WORKSPACE_INSTALL_NPM_BOWER=false
|
||||
WORKSPACE_INSTALL_NPM_VUE_CLI=true
|
||||
WORKSPACE_INSTALL_PHPREDIS=true
|
||||
WORKSPACE_INSTALL_WORKSPACE_SSH=false
|
||||
WORKSPACE_INSTALL_SUBVERSION=false
|
||||
WORKSPACE_INSTALL_XDEBUG=false
|
||||
WORKSPACE_INSTALL_PHPDBG=false
|
||||
WORKSPACE_INSTALL_SSH2=false
|
||||
WORKSPACE_INSTALL_LDAP=false
|
||||
WORKSPACE_INSTALL_GMP=false
|
||||
WORKSPACE_INSTALL_SOAP=false
|
||||
WORKSPACE_INSTALL_IMAP=false
|
||||
WORKSPACE_INSTALL_MONGO=false
|
||||
@ -112,8 +119,10 @@ WORKSPACE_INSTALL_IMAGEMAGICK=false
|
||||
WORKSPACE_INSTALL_TERRAFORM=false
|
||||
WORKSPACE_INSTALL_DUSK_DEPS=false
|
||||
WORKSPACE_INSTALL_PG_CLIENT=false
|
||||
WORKSPACE_INSTALL_PHALCON=false
|
||||
WORKSPACE_INSTALL_SWOOLE=false
|
||||
WORKSPACE_INSTALL_LIBPNG=false
|
||||
WORKSPACE_INSTALL_IONCUBE=false
|
||||
WORKSPACE_PUID=1000
|
||||
WORKSPACE_PGID=1000
|
||||
WORKSPACE_CHROME_DRIVER_VERSION=2.32
|
||||
@ -125,7 +134,6 @@ WORKSPACE_SSH_PORT=2222
|
||||
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
|
||||
PHP_FPM_INSTALL_BCMATH=true
|
||||
PHP_FPM_INSTALL_MYSQLI=true
|
||||
PHP_FPM_INSTALL_TOKENIZER=true
|
||||
PHP_FPM_INSTALL_INTL=true
|
||||
PHP_FPM_INSTALL_IMAGEMAGICK=true
|
||||
PHP_FPM_INSTALL_OPCACHE=true
|
||||
@ -138,6 +146,7 @@ PHP_FPM_INSTALL_IMAP=false
|
||||
PHP_FPM_INSTALL_MONGO=false
|
||||
PHP_FPM_INSTALL_AMQP=false
|
||||
PHP_FPM_INSTALL_MSSQL=false
|
||||
PHP_FPM_INSTALL_SSH2=false
|
||||
PHP_FPM_INSTALL_SOAP=false
|
||||
PHP_FPM_INSTALL_GMP=false
|
||||
PHP_FPM_INSTALL_EXIF=false
|
||||
@ -145,15 +154,20 @@ PHP_FPM_INSTALL_AEROSPIKE=false
|
||||
PHP_FPM_INSTALL_PGSQL=false
|
||||
PHP_FPM_INSTALL_GHOSTSCRIPT=false
|
||||
PHP_FPM_INSTALL_LDAP=false
|
||||
PHP_FPM_INSTALL_PHALCON=false
|
||||
PHP_FPM_INSTALL_SWOOLE=false
|
||||
PHP_FPM_INSTALL_PG_CLIENT=false
|
||||
PHP_FPM_INSTALL_PCNTL=false
|
||||
PHP_FPM_INSTALL_CALENDAR=false
|
||||
PHP_FPM_INSTALL_FAKETIME=false
|
||||
PHP_FPM_INSTALL_IONCUBE=false
|
||||
PHP_FPM_FAKETIME=-0
|
||||
|
||||
### PHP_WORKER ############################################
|
||||
|
||||
PHP_WORKER_INSTALL_PGSQL=false
|
||||
PHP_WORKER_INSTALL_BCMATH=false
|
||||
PHP_WORKER_INSTALL_SOAP=false
|
||||
|
||||
### NGINX #################################################
|
||||
|
||||
@ -163,6 +177,7 @@ NGINX_HOST_LOG_PATH=./logs/nginx/
|
||||
NGINX_SITES_PATH=./nginx/sites/
|
||||
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
NGINX_PHP_UPSTREAM_PORT=9000
|
||||
NGINX_SSL_PATH=./nginx/ssl/
|
||||
|
||||
### APACHE ################################################
|
||||
|
||||
@ -336,6 +351,8 @@ AEROSPIKE_INFO_PORT=3003
|
||||
# for all versions "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz"
|
||||
# for php 7.2 (using this branch until the support for 7.2 on master) "https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.tar.gz"
|
||||
AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.tar.gz
|
||||
# for php 5.6
|
||||
# AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php5/archive/3.4.15.tar.gz
|
||||
|
||||
### RETHINKDB #############################################
|
||||
|
||||
@ -350,17 +367,126 @@ MONGODB_PORT=27017
|
||||
CADDY_HOST_HTTP_PORT=80
|
||||
CADDY_HOST_HTTPS_PORT=443
|
||||
CADDY_HOST_LOG_PATH=./logs/caddy
|
||||
CADDY_CUSTOM_CADDYFILE=./caddy/Caddyfile
|
||||
CADDY_CONFIG_PATH=./caddy/caddy
|
||||
|
||||
### LARAVEL ECHO SERVER ###################################
|
||||
|
||||
LARAVEL_ECHO_SERVER_PORT=6001
|
||||
|
||||
### THUMBOR ############################################################################################################
|
||||
|
||||
THUMBOR_PORT=8000
|
||||
THUMBOR_LOG_FORMAT="%(asctime)s %(name)s:%(levelname)s %(message)s"
|
||||
THUMBOR_LOG_DATE_FORMAT="%Y-%m-%d %H:%M:%S"
|
||||
MAX_WIDTH=0
|
||||
MAX_HEIGHT=0
|
||||
MIN_WIDTH=1
|
||||
MIN_HEIGHT=1
|
||||
ALLOWED_SOURCES=[]
|
||||
QUALITY=80
|
||||
WEBP_QUALITY=None
|
||||
PNG_COMPRESSION_LEVEL=6
|
||||
AUTO_WEBP=False
|
||||
MAX_AGE=86400
|
||||
MAX_AGE_TEMP_IMAGE=0
|
||||
RESPECT_ORIENTATION=False
|
||||
IGNORE_SMART_ERRORS=False
|
||||
PRESERVE_EXIF_INFO=False
|
||||
ALLOW_ANIMATED_GIFS=True
|
||||
USE_GIFSICLE_ENGINE=False
|
||||
USE_BLACKLIST=False
|
||||
LOADER=thumbor.loaders.http_loader
|
||||
STORAGE=thumbor.storages.file_storage
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
RESULT_STORAGE=thumbor.result_storages.file_storage
|
||||
ENGINE=thumbor.engines.pil
|
||||
SECURITY_KEY="MY_SECURE_KEY"
|
||||
ALLOW_UNSAFE_URL=True
|
||||
ALLOW_OLD_URLS=True
|
||||
FILE_LOADER_ROOT_PATH=/data/loader
|
||||
HTTP_LOADER_CONNECT_TIMEOUT=5
|
||||
HTTP_LOADER_REQUEST_TIMEOUT=20
|
||||
HTTP_LOADER_FOLLOW_REDIRECTS=True
|
||||
HTTP_LOADER_MAX_REDIRECTS=5
|
||||
HTTP_LOADER_FORWARD_USER_AGENT=False
|
||||
HTTP_LOADER_DEFAULT_USER_AGENT="Thumbor/5.2.1"
|
||||
HTTP_LOADER_PROXY_HOST=None
|
||||
HTTP_LOADER_PROXY_PORT=None
|
||||
HTTP_LOADER_PROXY_USERNAME=None
|
||||
HTTP_LOADER_PROXY_PASSWORD=None
|
||||
HTTP_LOADER_CA_CERTS=None
|
||||
HTTP_LOADER_VALIDATE_CERTS=True
|
||||
HTTP_LOADER_CLIENT_KEY=None
|
||||
HTTP_LOADER_CLIENT_CERT=None
|
||||
HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT=False
|
||||
STORAGE_EXPIRATION_SECONDS=2592000
|
||||
STORES_CRYPTO_KEY_FOR_EACH_IMAGE=False
|
||||
FILE_STORAGE_ROOT_PATH=/data/storage
|
||||
UPLOAD_MAX_SIZE=0
|
||||
UPLOAD_ENABLED=False
|
||||
UPLOAD_PHOTO_STORAGE=thumbor.storages.file_storage
|
||||
UPLOAD_DELETE_ALLOWED=False
|
||||
UPLOAD_PUT_ALLOWED=False
|
||||
UPLOAD_DEFAULT_FILENAME=image
|
||||
MONGO_STORAGE_SERVER_HOST=mongo
|
||||
MONGO_STORAGE_SERVER_PORT=27017
|
||||
MONGO_STORAGE_SERVER_DB=thumbor
|
||||
MONGO_STORAGE_SERVER_COLLECTION=images
|
||||
REDIS_STORAGE_SERVER_HOST=redis
|
||||
REDIS_STORAGE_SERVER_PORT=6379
|
||||
REDIS_STORAGE_SERVER_DB=0
|
||||
REDIS_STORAGE_SERVER_PASSWORD=None
|
||||
REDIS_RESULT_STORAGE_SERVER_HOST=redis
|
||||
REDIS_RESULT_STORAGE_SERVER_PORT=6379
|
||||
REDIS_RESULT_STORAGE_SERVER_DB=0
|
||||
REDIS_RESULT_STORAGE_SERVER_PASSWORD=None
|
||||
MEMCACHE_STORAGE_SERVERS=["localhost:11211",]
|
||||
MIXED_STORAGE_FILE_STORAGE=thumbor.storages.no_storage
|
||||
MIXED_STORAGE_CRYPTO_STORAGE=thumbor.storages.no_storage
|
||||
MIXED_STORAGE_DETECTOR_STORAGE=thumbor.storages.no_storage
|
||||
META_CALLBACK_NAME=None
|
||||
DETECTORS=[]
|
||||
FACE_DETECTOR_CASCADE_FILE=haarcascade_frontalface_alt.xml
|
||||
OPTIMIZERS=[]
|
||||
JPEGTRAN_PATH=/usr/bin/jpegtran
|
||||
PROGRESSIVE_JPEG=True
|
||||
FILTERS=["thumbor.filters.brightness", "thumbor.filters.contrast", "thumbor.filters.rgb", "thumbor.filters.round_corner", "thumbor.filters.quality", "thumbor.filters.noise", "thumbor.filters.watermark", "thumbor.filters.equalize", "thumbor.filters.fill", "thumbor.filters.sharpen", "thumbor.filters.strip_icc", "thumbor.filters.frame", "thumbor.filters.grayscale", "thumbor.filters.rotate", "thumbor.filters.format", "thumbor.filters.max_bytes", "thumbor.filters.convolution", "thumbor.filters.blur", "thumbor.filters.extract_focal", "thumbor.filters.no_upscale"]
|
||||
RESULT_STORAGE_EXPIRATION_SECONDS=0
|
||||
RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage
|
||||
RESULT_STORAGE_STORES_UNSAFE=False
|
||||
REDIS_QUEUE_SERVER_HOST=redis
|
||||
REDIS_QUEUE_SERVER_PORT=6379
|
||||
REDIS_QUEUE_SERVER_DB="0"
|
||||
REDIS_QUEUE_SERVER_PASSWORD=None
|
||||
SQS_QUEUE_KEY_ID=None
|
||||
SQS_QUEUE_KEY_SECRET=None
|
||||
SQS_QUEUE_REGION=us-east-1
|
||||
USE_CUSTOM_ERROR_HANDLING=False
|
||||
ERROR_HANDLER_MODULE=thumbor.error_handlers.sentry
|
||||
ERROR_FILE_LOGGER=None
|
||||
ERROR_FILE_NAME_USE_CONTEXT="False"
|
||||
SENTRY_DSN_URL=
|
||||
TC_AWS_REGION=eu-west-1
|
||||
TC_AWS_ENDPOINT=None
|
||||
TC_AWS_STORAGE_BUCKET=
|
||||
TC_AWS_STORAGE_ROOT_PATH=
|
||||
TC_AWS_LOADER_BUCKET=
|
||||
TC_AWS_LOADER_ROOT_PATH=
|
||||
TC_AWS_RESULT_STORAGE_BUCKET=
|
||||
TC_AWS_RESULT_STORAGE_ROOT_PATH=
|
||||
TC_AWS_STORAGE_SSE=False
|
||||
TC_AWS_STORAGE_RRS=False
|
||||
TC_AWS_ENABLE_HTTP_LOADER=False
|
||||
TC_AWS_ALLOWED_BUCKETS=False
|
||||
TC_AWS_STORE_METADATA=False
|
||||
|
||||
### SOLR ##################################################
|
||||
|
||||
SOLR_VERSION=5.5
|
||||
SOLR_PORT=8983
|
||||
SOLR_DATAIMPORTHANDLER_MYSQL=false
|
||||
SOLR_DATAIMPORTHANDLER_MSSQL=false
|
||||
|
||||
### GITLAB ###############################################
|
||||
GITLAB_HOST_HTTP_PORT=8989
|
||||
@ -407,3 +533,81 @@ MONGO_WEBUI_INSTALL_MONGO=false
|
||||
METABASE_PORT=3030
|
||||
METABASE_DB_FILE=metabase.db
|
||||
METABASE_JAVA_TIMEZONE=US/Pacific
|
||||
|
||||
### IDE ###############################################
|
||||
IDE_THEIA_PORT=987
|
||||
IDE_WEBIDE_PORT=984
|
||||
IDE_CODIAD_PORT=985
|
||||
IDE_ICECODER_PORT=986
|
||||
|
||||
### DOCKERREGISTRY ###############################################
|
||||
DOCKER_REGISTRY_PORT=5000
|
||||
|
||||
### DOCKERWEBUI ###############################################
|
||||
DOCKER_WEBUI_REGISTRY_HOST=docker-registry
|
||||
DOCKER_WEBUI_REGISTRY_PORT=5000
|
||||
# if have use https proxy please set to 1
|
||||
DOCKER_REGISTRY_USE_SSL=0
|
||||
DOCKER_REGISTRY_BROWSE_ONLY=false
|
||||
DOCKER_WEBUI_PORT=8754
|
||||
|
||||
### MAILU ###############################################
|
||||
MAILU_VERSION=latest
|
||||
MAILU_RECAPTCHA_PUBLIC_KEY=<YOUR_RECAPTCHA_PUBLIC_KEY>
|
||||
MAILU_RECAPTCHA_PRIVATE_KEY=<YOUR_RECAPTCHA_PRIVATE_KEY>
|
||||
# Main mail domain
|
||||
MAILU_HTTP_PORT=6080
|
||||
MAILU_HTTPS_PORT=60443
|
||||
MAILU_DOMAIN=example.com
|
||||
MAILU_INIT_ADMIN_USERNAME=laradock
|
||||
MAILU_INIT_ADMIN_PASSWORD=laradock
|
||||
# Hostnames for this server, separated with comas
|
||||
MAILU_HOSTNAMES=mail.example.com,alternative.example.com,yetanother.example.com
|
||||
# Postmaster local part (will append the main mail domain)
|
||||
MAILU_POSTMASTER=admin
|
||||
# Set to a randomly generated 16 bytes string
|
||||
MAILU_SECRET_KEY=ChangeMeChangeMe
|
||||
# Choose how secure connections will behave (value: letsencrypt, cert, notls, mail)
|
||||
MAILU_TLS_FLAVOR=cert
|
||||
# Authentication rate limit (per source IP address)
|
||||
MAILU_AUTH_RATELIMIT=10/minute;1000/hour
|
||||
# Opt-out of statistics, replace with "True" to opt out
|
||||
MAILU_DISABLE_STATISTICS=False
|
||||
# Message size limit in bytes
|
||||
# Default: accept messages up to 50MB
|
||||
MAILU_MESSAGE_SIZE_LIMIT=50000000
|
||||
# Will relay all outgoing mails if configured
|
||||
MAILU_RELAYHOST=
|
||||
# Networks granted relay permissions, make sure that you include your Docker
|
||||
# internal network (default to 172.17.0.0/16)
|
||||
MAILU_RELAYNETS=172.16.0.0/12
|
||||
# Fetchmail delay
|
||||
MAILU_FETCHMAIL_DELAY=600
|
||||
# Recipient delimiter, character used to delimiter localpart from custom address part
|
||||
# e.g. localpart+custom@domain;tld
|
||||
MAILU_RECIPIENT_DELIMITER=+
|
||||
# DMARC rua and ruf email
|
||||
MAILU_DMARC_RUA=admin
|
||||
MAILU_DMARC_RUF=admin
|
||||
# Weclome email, enable and set a topic and body if you wish to send welcome
|
||||
# emails to all users.
|
||||
MAILU_WELCOME=True
|
||||
MAILU_WELCOME_SUBJECT=Welcome to your new email account
|
||||
MAILU_WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly!
|
||||
# Path to the admin interface if enabled
|
||||
MAILU_WEB_ADMIN=/admin
|
||||
# Path to the webmail if enabled
|
||||
MAILU_WEB_WEBMAIL=/webmail
|
||||
# Website name
|
||||
MAILU_SITENAME=Example Mail
|
||||
# Linked Website URL
|
||||
MAILU_WEBSITE=http://mail.example.com
|
||||
# Default password scheme used for newly created accounts and changed passwords
|
||||
# (value: SHA512-CRYPT, SHA256-CRYPT, MD5-CRYPT, CRYPT)
|
||||
MAILU_PASSWORD_SCHEME=SHA512-CRYPT
|
||||
# Expose the admin interface (value: true, false)
|
||||
MAILU_ADMIN=true
|
||||
# Choose which webmail to run if any (values: roundcube, rainloop, none)
|
||||
MAILU_WEBMAIL=rainloop
|
||||
# Dav server implementation (value: radicale, none)
|
||||
MAILU_WEBDAV=radicale
|
||||
|
5
ide-codiad/Dockerfile
Normal file
5
ide-codiad/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
FROM linuxserver/codiad
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||
|
||||
COPY config.php /defaults/config.php
|
43
ide-codiad/config.php
Normal file
43
ide-codiad/config.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (c) Codiad & Kent Safranski (codiad.com), distributed
|
||||
* as-is and without warranty under the MIT License. See
|
||||
* [root]/license.txt for more. This information must remain intact.
|
||||
*/
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// CONFIG
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// PATH TO CODIAD
|
||||
define("BASE_PATH", "/config/www/");
|
||||
// BASE URL TO CODIAD (without trailing slash)
|
||||
define("BASE_URL", "localhost");
|
||||
// THEME : default, modern or clear (look at /themes)
|
||||
define("THEME", "default");
|
||||
// ABSOLUTE PATH, this is used as whitelist for absolute path projects
|
||||
define("WHITEPATHS", BASE_PATH . ",/home,/");
|
||||
// SESSIONS (e.g. 7200)
|
||||
$cookie_lifetime = "0";
|
||||
// TIMEZONE
|
||||
date_default_timezone_set(getenv('TZ','UTC'));
|
||||
// Allows to overwrite the default language
|
||||
//define("LANGUAGE", "en");
|
||||
// External Authentification
|
||||
//define("AUTH_PATH", "/path/to/customauth.php");
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// ** DO NOT EDIT CONFIG BELOW **
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// PATHS
|
||||
define("COMPONENTS", BASE_PATH . "/components");
|
||||
define("PLUGINS", BASE_PATH . "/plugins");
|
||||
define("THEMES", BASE_PATH . "/themes");
|
||||
define("DATA", BASE_PATH . "/data");
|
||||
define("WORKSPACE", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
|
||||
// URLS
|
||||
define("WSURL", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
|
||||
// Marketplace
|
||||
define("MARKETURL", "http://market.codiad.com/json");
|
||||
// Update Check
|
||||
//define("UPDATEURL", "http://update.codiad.com/?v={VER}&o={OS}&p={PHP}&w={WEB}&a={ACT}");
|
||||
define("ARCHIVEURL", "https://github.com/Codiad/Codiad/archive/master.zip");
|
||||
define("COMMITURL", "https://api.github.com/repos/Codiad/Codiad/commits");
|
||||
?>
|
21
ide-icecoder/Dockerfile
Normal file
21
ide-icecoder/Dockerfile
Normal file
@ -0,0 +1,21 @@
|
||||
FROM php:alpine
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||
|
||||
ARG PUID=1000
|
||||
ENV PUID ${PUID}
|
||||
ARG PGID=1000
|
||||
ENV PGID ${PGID}
|
||||
|
||||
RUN apk add --no-cache git
|
||||
|
||||
RUN addgroup -g $PGID -S laradock && \
|
||||
adduser -u $PUID -S laradock -G laradock
|
||||
|
||||
USER laradock
|
||||
|
||||
RUN cd /home/laradock && git clone https://github.com/mattpass/ICEcoder.git
|
||||
|
||||
WORKDIR /home/laradock/ICEcoder
|
||||
|
||||
CMD ["php","-S","0.0.0.0:8080"]
|
5
ide-theia/Dockerfile
Normal file
5
ide-theia/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
FROM theiaide/theia
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
||||
|
||||
RUN echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf
|
3
ide-webide/Dockerfile
Normal file
3
ide-webide/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM webide/webide
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
@ -2,7 +2,7 @@
|
||||
# Copy createdb.sql.example to createdb.sql
|
||||
# then uncomment then set database name and username to create you need databases
|
||||
#
|
||||
# example: .env MYSQL_USER=appuser and need db name is myshop_db
|
||||
# example: .env MYSQL_USER=appuser and needed db name is myshop_db
|
||||
#
|
||||
# CREATE DATABASE IF NOT EXISTS `myshop_db` ;
|
||||
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
|
||||
|
@ -14,6 +14,7 @@ RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
|
||||
RUN apk update \
|
||||
&& apk upgrade \
|
||||
&& apk add --no-cache openssl \
|
||||
&& apk add --no-cache bash \
|
||||
&& adduser -D -H -u 1000 -s /bin/bash www-data
|
||||
|
||||
@ -24,6 +25,7 @@ ARG PHP_UPSTREAM_PORT=9000
|
||||
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \
|
||||
&& rm /etc/nginx/conf.d/default.conf
|
||||
|
||||
CMD ["nginx"]
|
||||
ADD ./startup.sh /opt/startup.sh
|
||||
CMD ["/bin/bash", "/opt/startup.sh"]
|
||||
|
||||
EXPOSE 80 443
|
||||
|
@ -3,6 +3,12 @@ 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;
|
||||
|
@ -3,6 +3,12 @@ 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;
|
||||
|
@ -3,6 +3,12 @@ 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;
|
||||
|
@ -3,6 +3,12 @@ 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;
|
||||
|
0
nginx/ssl/.gitkeep
Normal file
0
nginx/ssl/.gitkeep
Normal file
9
nginx/startup.sh
Normal file
9
nginx/startup.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/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"
|
||||
fi
|
||||
|
||||
nginx
|
@ -50,6 +50,35 @@ RUN apt-get update -yqq && \
|
||||
# - INSTALL_ZIP_ARCHIVE=true
|
||||
#
|
||||
|
||||
###########################################################################
|
||||
# SSH2:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_SSH2=false
|
||||
|
||||
RUN if [ ${INSTALL_SSH2} = true ]; then \
|
||||
# Install the ssh2 extension
|
||||
apt-get -y install libssh2-1-dev && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install -a ssh2-0.13; \
|
||||
else \
|
||||
pecl install -a ssh2-1.1.2; \
|
||||
fi && \
|
||||
docker-php-ext-enable ssh2 \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# libfaketime:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_FAKETIME=false
|
||||
|
||||
RUN if [ ${INSTALL_FAKETIME} = true ]; then \
|
||||
apt-get install -y libfaketime \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# SOAP:
|
||||
###########################################################################
|
||||
@ -325,6 +354,21 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
|
||||
&& docker-php-ext-enable aerospike \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# IonCube Loader:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||
# Install the php ioncube loader
|
||||
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
|
||||
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
|
||||
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
|
||||
&& printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
|
||||
&& rm -rf /tmp/ioncube* \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Opcache:
|
||||
###########################################################################
|
||||
@ -348,15 +392,6 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \
|
||||
docker-php-ext-install mysqli \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Tokenizer Modifications:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_TOKENIZER=false
|
||||
|
||||
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Human Language and Character Encoding Support:
|
||||
@ -485,6 +520,25 @@ RUN if [ ${INSTALL_CALENDAR} = true ]; then \
|
||||
docker-php-ext-install calendar \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Phalcon:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_PHALCON=false
|
||||
ARG LARADOCK_PHALCON_VERSION
|
||||
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \
|
||||
&& 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=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* \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Check PHP version:
|
||||
###########################################################################
|
||||
@ -509,6 +563,12 @@ RUN apt-get clean && \
|
||||
|
||||
RUN usermod -u 1000 www-data
|
||||
|
||||
# Adding the faketime library to the preload file needs to be done last
|
||||
# otherwise it will preload it for all commands that follow in this file
|
||||
RUN if [ ${INSTALL_FAKETIME} = true ]; then \
|
||||
echo "/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" > /etc/ld.so.preload \
|
||||
;fi
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
@ -25,6 +25,12 @@ RUN apk --update add wget \
|
||||
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
|
||||
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached
|
||||
|
||||
#Install SOAP package:
|
||||
ARG INSTALL_SOAP=false
|
||||
RUN if [ ${INSTALL_SOAP} = true ]; then \
|
||||
docker-php-ext-install soap \
|
||||
;fi
|
||||
|
||||
#Install BCMath package:
|
||||
ARG INSTALL_BCMATH=false
|
||||
RUN if [ ${INSTALL_BCMATH} = true ]; then \
|
||||
|
1
php-worker/supervisord.d/.gitignore
vendored
Normal file
1
php-worker/supervisord.d/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.conf
|
@ -12,3 +12,13 @@ RUN if [ ${SOLR_DATAIMPORTHANDLER_MYSQL} = true ]; then \
|
||||
&& rm /tmp/mysql_connector.tar.gz \
|
||||
;fi
|
||||
|
||||
ARG SOLR_DATAIMPORTHANDLER_MSSQL=false
|
||||
ENV SOLR_DATAIMPORTHANDLER_MSSQL ${SOLR_DATAIMPORTHANDLER_MSSQL}
|
||||
|
||||
# download mssql connector for dataimporthandler
|
||||
RUN if [ ${SOLR_DATAIMPORTHANDLER_MSSQL} = true ]; then \
|
||||
curl -L -o /tmp/mssql-jdbc-7.0.0.jre8.jar "https://github.com/Microsoft/mssql-jdbc/releases/download/v7.0.0/mssql-jdbc-7.0.0.jre8.jar" \
|
||||
&& mkdir /opt/solr/contrib/dataimporthandler/lib \
|
||||
&& mv /tmp/mssql-jdbc-7.0.0.jre8.jar "/opt/solr/contrib/dataimporthandler/lib/mssql-jdbc-7.0.0.jre8.jar" \
|
||||
;fi
|
||||
|
||||
|
5
thumbor/Dockerfile
Normal file
5
thumbor/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
FROM apsl/thumbor
|
||||
|
||||
CMD ["thumbor"]
|
||||
|
||||
EXPOSE 8000
|
@ -15,6 +15,10 @@ if [ -n "${PHP_VERSION}" ]; then
|
||||
sed -i -- "s/PHP_VERSION=.*/PHP_VERSION=${PHP_VERSION}/g" .env
|
||||
sed -i -- 's/=false/=true/g' .env
|
||||
sed -i -- 's/PHPDBG=true/PHPDBG=false/g' .env
|
||||
if [ "${PHP_VERSION}" == "5.6" ]; then
|
||||
sed -i -- 's/^AEROSPIKE_PHP_REPOSITORY=/##AEROSPIKE_PHP_REPOSITORY=/g' .env
|
||||
sed -i -- 's/^# AEROSPIKE_PHP_REPOSITORY=/AEROSPIKE_PHP_REPOSITORY=/g' .env
|
||||
fi
|
||||
cat .env
|
||||
docker-compose build ${BUILD_SERVICE}
|
||||
docker images
|
||||
|
@ -174,6 +174,33 @@ RUN if [ ${INSTALL_DRUSH} = true ]; then \
|
||||
drush core-status \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# SSH2:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_SSH2=false
|
||||
|
||||
RUN if [ ${INSTALL_SSH2} = true ]; then \
|
||||
# Install the PHP SSH2 extension
|
||||
apt-get -y install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2 \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# GMP:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_GMP=false
|
||||
ARG PHP_VERSION=${PHP_VERSION}
|
||||
|
||||
RUN if [ ${INSTALL_GMP} = true ]; then \
|
||||
# Install the PHP GMP extension
|
||||
apt-get -y install php${PHP_VERSION}-gmp \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# SOAP:
|
||||
###########################################################################
|
||||
@ -366,8 +393,23 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
ARG INSTALL_LIBPNG=false
|
||||
|
||||
RUN if [ ${INSTALL_LIBPNG} = true ]; then \
|
||||
apt update && \
|
||||
apt install libpng16-16 \
|
||||
apt-get update && \
|
||||
apt-get install libpng16-16 \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# IonCube Loader
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||
# Install the php ioncube loader
|
||||
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
|
||||
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
|
||||
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
|
||||
&& echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/0ioncube.ini \
|
||||
&& rm -rf /tmp/ioncube* \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -404,7 +446,8 @@ ENV NVM_DIR /home/laradock/.nvm
|
||||
|
||||
RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
# Install nvm (A Node Version Manager)
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash \
|
||||
mkdir -p $NVM_DIR && \
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash \
|
||||
&& . $NVM_DIR/nvm.sh \
|
||||
&& nvm install ${NODE_VERSION} \
|
||||
&& nvm use ${NODE_VERSION} \
|
||||
@ -421,6 +464,7 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
&& if [ ${INSTALL_NPM_VUE_CLI} = true ]; then \
|
||||
npm install -g @vue/cli \
|
||||
;fi \
|
||||
&& ln -s `npm bin --global` /home/laradock/.node-bin \
|
||||
;fi
|
||||
|
||||
# Wouldn't execute when added to the RUN statement in the above block
|
||||
@ -441,7 +485,7 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
|
||||
;fi
|
||||
|
||||
# Add PATH for node
|
||||
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin
|
||||
ENV PATH $PATH:/home/laradock/.node-bin
|
||||
|
||||
RUN if [ ${NPM_REGISTRY} ]; then \
|
||||
. ~/.bashrc && npm config set registry ${NPM_REGISTRY} \
|
||||
@ -477,6 +521,9 @@ RUN if [ ${INSTALL_YARN} = true ]; then \
|
||||
echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.bashrc \
|
||||
;fi
|
||||
|
||||
# Add PATH for YARN
|
||||
ENV PATH $PATH:/home/laradock/.yarn/bin
|
||||
|
||||
###########################################################################
|
||||
# PHP Aerospike:
|
||||
###########################################################################
|
||||
@ -493,12 +540,22 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
|
||||
curl -L -o /tmp/aerospike-client-php.tar.gz ${AEROSPIKE_PHP_REPOSITORY} \
|
||||
&& mkdir -p aerospike-client-php \
|
||||
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
|
||||
&& ( \
|
||||
cd aerospike-client-php/src \
|
||||
&& phpize \
|
||||
&& ./build.sh \
|
||||
&& make install \
|
||||
) \
|
||||
&& \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
( \
|
||||
cd aerospike-client-php/src/aerospike \
|
||||
&& phpize \
|
||||
&& ./build.sh \
|
||||
&& make install \
|
||||
) \
|
||||
else \
|
||||
( \
|
||||
cd aerospike-client-php/src \
|
||||
&& phpize \
|
||||
&& ./build.sh \
|
||||
&& make install \
|
||||
) \
|
||||
fi \
|
||||
&& rm /tmp/aerospike-client-php.tar.gz \
|
||||
&& echo 'extension=aerospike.so' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \
|
||||
&& echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/aerospike.ini \
|
||||
@ -787,6 +844,25 @@ RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
|
||||
&& rm chromedriver_linux64.zip \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Phalcon:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_PHALCON=false
|
||||
ARG LARADOCK_PHALCON_VERSION
|
||||
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \
|
||||
&& 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=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* \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Check PHP version:
|
||||
###########################################################################
|
||||
|
@ -50,7 +50,7 @@ alias cla="clear && ls -l"
|
||||
alias cll="clear && ls -la"
|
||||
alias cls="clear && ls"
|
||||
alias code="cd /var/www"
|
||||
alias ea="vi ~/aliases"
|
||||
alias ea="vi ~/aliases.sh"
|
||||
|
||||
# Always enable colored `grep` output
|
||||
# Note: `GREP_OPTIONS="--color=auto"` is deprecated, hence the alias usage.
|
||||
@ -68,7 +68,7 @@ alias fresh="php artisan migrate:fresh"
|
||||
alias migrate="php artisan migrate"
|
||||
alias refresh="php artisan migrate:refresh"
|
||||
alias rollback="php artisan migrate:rollback"
|
||||
alias seed="php artisan:seed"
|
||||
alias seed="php artisan db:seed"
|
||||
alias serve="php artisan serve --quiet &"
|
||||
|
||||
alias phpunit="./vendor/bin/phpunit"
|
||||
|
Reference in New Issue
Block a user