Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
70c1be4168 | |||
e101e4d5b2 | |||
4658820437 | |||
0bbfb2d228 | |||
86a4108ef4 | |||
20c85904c5 | |||
aaef73c84d | |||
876935452e | |||
00df369e96 | |||
902198ab05 | |||
2e2cb6df22 | |||
39469e1404 | |||
947a791ad2 | |||
aa84dd8616 | |||
b788a8bbfd | |||
89051de67d | |||
1b865dd153 |
@ -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>
|
||||
@ -543,6 +565,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
|
||||
@ -1499,10 +1543,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>
|
||||
|
@ -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.
|
||||
|
@ -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...
|
||||
|
||||
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.
|
||||
|
@ -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
|
@ -52,6 +52,8 @@ services:
|
||||
- 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}
|
||||
@ -88,6 +90,7 @@ services:
|
||||
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
|
||||
- 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}
|
||||
@ -119,6 +122,7 @@ services:
|
||||
- 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}
|
||||
@ -144,6 +148,8 @@ services:
|
||||
- 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 +160,7 @@ services:
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
- DOCKER_HOST=tcp://docker-in-docker:2375
|
||||
- FAKETIME=${PHP_FPM_FAKETIME}
|
||||
depends_on:
|
||||
- workspace
|
||||
networks:
|
||||
@ -468,7 +475,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:
|
||||
@ -889,3 +896,223 @@ 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
|
||||
|
||||
|
||||
### 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
|
||||
|
80
env-example
80
env-example
@ -81,14 +81,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
|
||||
@ -114,6 +116,7 @@ WORKSPACE_INSTALL_DUSK_DEPS=false
|
||||
WORKSPACE_INSTALL_PG_CLIENT=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
|
||||
@ -138,6 +141,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
|
||||
@ -149,6 +153,9 @@ 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 ############################################
|
||||
|
||||
@ -336,6 +343,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,7 +359,7 @@ 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 ###################################
|
||||
|
||||
@ -407,3 +416,70 @@ 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
|
||||
|
||||
### 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'@'%' ;
|
||||
|
@ -50,6 +50,23 @@ 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
|
||||
|
||||
###########################################################################
|
||||
# SOAP:
|
||||
###########################################################################
|
||||
@ -325,6 +342,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:
|
||||
###########################################################################
|
||||
@ -485,6 +517,18 @@ RUN if [ ${INSTALL_CALENDAR} = true ]; then \
|
||||
docker-php-ext-install calendar \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# libfaketime:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_FAKETIME=false
|
||||
|
||||
RUN if [ ${INSTALL_FAKETIME} = true ]; then \
|
||||
apt-get install -y libfaketime \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Check PHP version:
|
||||
###########################################################################
|
||||
@ -509,6 +553,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"]
|
||||
|
1
php-worker/supervisord.d/.gitignore
vendored
Normal file
1
php-worker/supervisord.d/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.conf
|
@ -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:
|
||||
###########################################################################
|
||||
@ -370,6 +397,21 @@ RUN if [ ${INSTALL_LIBPNG} = true ]; then \
|
||||
apt 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
|
||||
|
||||
###########################################################################
|
||||
# Drupal Console:
|
||||
###########################################################################
|
||||
@ -421,6 +463,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 +484,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 +520,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 +539,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 \
|
||||
|
@ -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.
|
||||
|
Reference in New Issue
Block a user