Compare commits

..

22 Commits

Author SHA1 Message Date
Jesus Galvan
fc3355a9cc Add CouchDB (#1974)
* Add CouchDB
2019-02-09 20:07:37 +08:00
Alex Mayer
53ca88714c Map cll And cla Aliases To Correct Commands (#1696) 2019-02-09 19:58:12 +08:00
hawkup
1d420a2507 Separate variable flag container path out from APP_CODE_PATH_CONTAINER (#1591)
Because Container cannot volume when use APP_CODE_PATH_CONTAINER (with flag) concat with path name, e.g. /var/www:nocache/letencrypt
This will fix 1540.
2019-02-09 19:57:11 +08:00
Dmitry Ossipov
c7aa535598 Added WP-CLI support to workspace (#1748)
* Added WP-CLI support
* Updated documentation for WP-CLI
2019-02-09 19:48:28 +08:00
ahkui
5edf3f398b Update document and fix some container bug (#1785) 2019-02-09 19:37:11 +08:00
Lan Phan
f6c5aa1801 fix build Solr, failed in https://travis-ci.org/laradock/laradock/jobs/479960032 (#1957) 2019-02-09 19:29:51 +08:00
Lan Phan
a09144f02b persistent RabbitMQ (#1956) 2019-02-09 19:29:25 +08:00
jake
9e4dfa2a0c fix caddy failed download (#1977)
* fix caddy  failed download
* RUN command inline
2019-02-09 19:28:29 +08:00
Miguel Ortiz
99f7e65c99 Backup Rethikdb (#1937)
- You requiere run python-pip for backing up your data
2019-02-09 19:26:50 +08:00
Atef Ben Ali
e0dc683d3f Add gloga alias (#1970)
This add `git log --oneline --decorate --graph --all` command alias.
2019-02-09 19:25:50 +08:00
Luis Coutinho
eb0c941313 Add traefik (#1916)
* Add mosquitto broker
* Add documetation to mosquitto
* Add traefik
2019-02-09 19:25:21 +08:00
Slava Razum
d27f4368ee Run bash when login by laradock via ssh (#1541) 2019-02-09 17:06:26 +08:00
Andrew Siegman
7430a34dd5 Add logstash support (#1852)
* add logstash support
2019-02-09 16:40:14 +08:00
Lan Phan
d5647295ca add MYSQL_CLIENT and AMQP for php-worker (#1949) 2019-02-09 16:34:34 +08:00
Lan Phan
b1e346383b fix php-fpm AMQP build for 5.6, 7.0 and 7.1 (#1965) 2019-02-09 16:33:06 +08:00
huadong zuo
913abc54f9 chore(pgadmin) use alpine (#1936) 2019-01-13 23:03:24 +08:00
Lan Phan
53e8229313 using Alpine for Beanstalkd and RabbitMQ, list all ports exposed for RabbitMQ (#1950) 2019-01-11 18:52:12 +08:00
Shao Yu-Lung (Allen)
36c78369d5 fix aerospike build fail (#1948) 2019-01-10 23:23:51 +08:00
Shao Yu-Lung (Allen)
acac6eb229 fix PHP Warning: PHP Startup: Unable to load dynamic library 'phalcon.so' (#1947)
when install APCu and no install Phalcon.
2019-01-10 21:50:59 +08:00
Frank Yuan
04f071555c fixed php-fpm install phalcon ext bug (#1811)
* add phalcon ext
* fixed phalcon install
* update index.md
* php-worker install phalcon ext
2019-01-10 10:56:30 +08:00
Lan Phan
03ff791e17 php-worker: add laradock user (#1928) 2019-01-09 23:54:32 +08:00
Lan Phan
7c4f6dd7a9 add gitignore for nginx/ssl folder, prevent keeping cert files in git (#1929) 2019-01-09 23:53:48 +08:00
31 changed files with 404 additions and 73 deletions

4
.gitignore vendored
View File

@@ -5,6 +5,10 @@
/.project /.project
.docker-sync .docker-sync
/jenkins/jenkins_home /jenkins/jenkins_home
/logstash/pipeline/*.conf
/logstash/config/pipelines.yml
/nginx/ssl/*.crt /nginx/ssl/*.crt
/nginx/ssl/*.key /nginx/ssl/*.key
/nginx/ssl/*.csr /nginx/ssl/*.csr

View File

@@ -1018,8 +1018,9 @@ docker-compose up -d rethinkdb
- set the `DB_DATABASE` to `database`. - set the `DB_DATABASE` to `database`.
#### Additional Notes
- You may do backing up of your data using the next reference: [backing up your data](https://www.rethinkdb.com/docs/backup/).
<br> <br>
@@ -1121,6 +1122,87 @@ docker-compose up -d grafana
<br>
<a name="Use-Traefik"></a>
## Use Traefik
To use Traefik you need to do some changes in `traefik/trafik.toml` and `docker-compose.yml`.
1 - Open `traefik.toml` and change the `e-mail` property in `acme` section.
2 - Change your domain in `acme.domains`. For example: `main = "example.org"`
2.1 - If you have subdomains, you must add them to `sans` property in `acme.domains` section.
```bash
[[acme.domais]]
main = "example.org"
sans = ["monitor.example.org", "pma.example.org"]
```
3 - If you need to add basic authentication (https://docs.traefik.io/configuration/entrypoints/#basic-authentication), you just need to add the following text after `[entryPoints.https.tls]`:
```bash
[entryPoints.https.auth.basic]
users = ["user:password"]
```
4 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels.
4.1 For example, let's try with NGINX. You must have:
```bash
nginx:
build:
context: ./nginx
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
depends_on:
- php-fpm
networks:
- frontend
- backend
labels:
- traefik.backend=nginx
- traefik.frontend.rule=Host:example.org
- traefik.port=80
```
instead of
```bash
nginx:
build:
context: ./nginx
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"
depends_on:
- php-fpm
networks:
- frontend
- backend
```
<br> <br>
<a name="Use-Mosquitto"></a> <a name="Use-Mosquitto"></a>
## Use Mosquitto (MQTT Broker) ## Use Mosquitto (MQTT Broker)
@@ -1144,7 +1226,6 @@ docker-compose up -d mosquitto
<br> <br>
<a name="CodeIgniter"></a> <a name="CodeIgniter"></a>
@@ -1751,7 +1832,7 @@ Laradock comes with `sync.sh`, an optional bash script, that automates installin
DOCKER_SYNC_STRATEGY=native_osx DOCKER_SYNC_STRATEGY=native_osx
``` ```
3) set `APP_CODE_PATH_CONTAINER=/var/www` to `APP_CODE_PATH_CONTAINER=/var/www:nocopy` in the .env file 3) set `APP_CODE_CONTAINER_FLAG` to `APP_CODE_CONTAINER_FLAG=:nocopy` in the .env file
4) Install the docker-sync gem on the host-machine: 4) Install the docker-sync gem on the host-machine:
```bash ```bash

View File

@@ -103,7 +103,7 @@ 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. 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.
**Workspace Image Tools** **Workspace Image Tools**
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush... PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush - WP-CLI...
You can choose, which tools to install in your workspace container and other containers, from the `.env` file. You can choose, which tools to install in your workspace container and other containers, from the `.env` file.

View File

@@ -1,16 +1,7 @@
FROM phusion/baseimage:latest FROM alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ENV DEBIAN_FRONTEND noninteractive RUN apk add --no-cache beanstalkd
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN apt-get update
RUN apt-get install -y beanstalkd
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
VOLUME /var/lib/beanstalkd/data
EXPOSE 11300 EXPOSE 11300
ENTRYPOINT ["/usr/bin/beanstalkd"]
CMD ["/usr/bin/beanstalkd"]

View File

@@ -5,8 +5,11 @@ LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
RUN apk add --no-cache \ RUN apk add --no-cache \
openssh \ openssh \
git \ git \
build-base && \ build-base \
go get github.com/abiosoft/caddyplug/caddyplug \ && mkdir -p $GOPATH/src/golang.org/x/ \
&& cd $GOPATH/src/golang.org/x/ \
&& git clone https://github.com/golang/sys.git sys \
&& go get github.com/abiosoft/caddyplug/caddyplug \
&& caddyplug install-caddy \ && caddyplug install-caddy \
apk del build-base apk del build-base

3
couchdb/Dockerfile Normal file
View File

@@ -0,0 +1,3 @@
FROM couchdb
EXPOSE 5984

View File

@@ -71,6 +71,7 @@ services:
- INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER} - INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER}
- INSTALL_NPM_VUE_CLI=${WORKSPACE_INSTALL_NPM_VUE_CLI} - INSTALL_NPM_VUE_CLI=${WORKSPACE_INSTALL_NPM_VUE_CLI}
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH} - INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
- INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI}
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE} - INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
- INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE} - INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE}
- AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY} - AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY}
@@ -106,7 +107,7 @@ services:
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID} - BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN} - BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
extra_hosts: extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}" - "dockerhost:${DOCKER_HOST_IP}"
ports: ports:
@@ -163,7 +164,7 @@ services:
- INSTALL_YAML=${PHP_FPM_INSTALL_YAML} - INSTALL_YAML=${PHP_FPM_INSTALL_YAML}
volumes: volumes:
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
expose: expose:
- "9000" - "9000"
extra_hosts: extra_hosts:
@@ -185,12 +186,18 @@ services:
context: ./php-worker context: ./php-worker
args: args:
- PHP_VERSION=${PHP_VERSION} - PHP_VERSION=${PHP_VERSION}
- PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP} - INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
- INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE} - INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
- INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
- INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP}
- PUID=${PHP_WORKER_PUID}
- PGID=${PHP_WORKER_PGID}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ./php-worker/supervisord.d:/etc/supervisord.d - ./php-worker/supervisord.d:/etc/supervisord.d
depends_on: depends_on:
- workspace - workspace
@@ -226,7 +233,7 @@ services:
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT} - PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE} - CHANGE_SOURCE=${CHANGE_SOURCE}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx - ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available - ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl - ${NGINX_SSL_PATH}:/etc/nginx/ssl
@@ -260,7 +267,7 @@ services:
- PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT} - PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT}
- DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT} - DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2 - ${APACHE_HOST_LOG_PATH}:/var/log/apache2
- ${APACHE_SITES_PATH}:/etc/apache2/sites-available - ${APACHE_SITES_PATH}:/etc/apache2/sites-available
ports: ports:
@@ -276,7 +283,7 @@ services:
hhvm: hhvm:
build: ./hhvm build: ./hhvm
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
expose: expose:
- "9000" - "9000"
depends_on: depends_on:
@@ -380,6 +387,14 @@ services:
- POSTGRES_DB=${POSTGRES_DB} - POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER} - POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- GITLAB_POSTGRES_INIT=${GITLAB_POSTGRES_INIT}
- GITLAB_POSTGRES_USER=${GITLAB_POSTGRES_USER}
- GITLAB_POSTGRES_PASSWORD=${GITLAB_POSTGRES_PASSWORD}
- GITLAB_POSTGRES_DB=${GITLAB_POSTGRES_DB}
- JUPYTERHUB_POSTGRES_INIT=${JUPYTERHUB_POSTGRES_INIT}
- JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER}
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
- JUPYTERHUB_POSTGRES_DB=${JUPYTERHUB_POSTGRES_DB}
networks: networks:
- backend - backend
@@ -499,6 +514,9 @@ services:
environment: environment:
- RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER} - RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS} - RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
hostname: laradock-rabbitmq
volumes:
- ${DATA_PATH_HOST}/rabbitmq:/var/lib/rabbitmq
depends_on: depends_on:
- php-fpm - php-fpm
networks: networks:
@@ -518,7 +536,7 @@ services:
caddy: caddy:
build: ./caddy build: ./caddy
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${CADDY_CONFIG_PATH}:/etc/caddy - ${CADDY_CONFIG_PATH}:/etc/caddy
- ${CADDY_HOST_LOG_PATH}:/var/log/caddy - ${CADDY_HOST_LOG_PATH}:/var/log/caddy
- ${DATA_PATH_HOST}:/root/.caddy - ${DATA_PATH_HOST}:/root/.caddy
@@ -596,6 +614,24 @@ services:
- frontend - frontend
- backend - backend
### Logstash ##############################################
logstash:
build: ./logstash
volumes:
- './logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml'
- './logstash/pipeline:/usr/share/logstash/pipeline'
ports:
- '5001:5001'
environment:
LS_JAVA_OPTS: '-Xmx1g -Xms1g'
env_file:
- .env
networks:
- frontend
- backend
depends_on:
- elasticsearch
### Kibana ############################################## ### Kibana ##############################################
kibana: kibana:
build: ./kibana build: ./kibana
@@ -873,7 +909,7 @@ services:
build: build:
context: ./aws context: ./aws
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
depends_on: depends_on:
- workspace - workspace
tty: true tty: true
@@ -902,14 +938,15 @@ services:
redis['enable'] = false redis['enable'] = false
nginx['listen_https'] = false nginx['listen_https'] = false
nginx['listen_port'] = 80 nginx['listen_port'] = 80
nginx['custom_gitlab_server_config'] = "set_real_ip_from 172.0.0.0/8;\nreal_ip_header X-Real-IP;\nreal_ip_recursive on;"
postgresql['enable'] = false postgresql['enable'] = false
gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2'] gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2']
gitlab_rails['redis_host'] = 'redis' gitlab_rails['redis_host'] = 'redis'
gitlab_rails['redis_database'] = 8 gitlab_rails['redis_database'] = 8
gitlab_rails['db_host'] = 'postgres' gitlab_rails['db_host'] = '${GITLAB_POSTGRES_HOST}'
gitlab_rails['db_username'] = 'laradock_gitlab' gitlab_rails['db_username'] = '${GITLAB_POSTGRES_USER}'
gitlab_rails['db_password'] = 'laradock_gitlab' gitlab_rails['db_password'] = '${GITLAB_POSTGRES_PASSWORD}'
gitlab_rails['db_database'] = 'laradock_gitlab' gitlab_rails['db_database'] = '${GITLAB_POSTGRES_DB}'
gitlab_rails['initial_root_password'] = '${GITLAB_ROOT_PASSWORD}' gitlab_rails['initial_root_password'] = '${GITLAB_ROOT_PASSWORD}'
gitlab_rails['gitlab_shell_ssh_port'] = ${GITLAB_HOST_SSH_PORT} gitlab_rails['gitlab_shell_ssh_port'] = ${GITLAB_HOST_SSH_PORT}
volumes: volumes:
@@ -928,11 +965,14 @@ services:
gitlab-runner: gitlab-runner:
image: gitlab/gitlab-runner:latest image: gitlab/gitlab-runner:latest
environment: environment:
- CI_SERVER_URL=${GITLAB_DOMAIN_NAME} - CI_SERVER_URL=${GITLAB_CI_SERVER_URL}
- REGISTRATION_TOKEN=${GITLAB_RUNNER_REGISTRATION_TOKEN}
- RUNNER_NAME=${COMPOSE_PROJECT_NAME}-runner
- REGISTER_NON_INTERACTIVE=${GITLAB_REGISTER_NON_INTERACTIVE}
- RUNNER_EXECUTOR=shell
volumes: volumes:
- ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner - ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock:rw - /var/run/docker.sock:/var/run/docker.sock:rw
restart: always
### JupyterHub ######################################### ### JupyterHub #########################################
jupyterhub: jupyterhub:
@@ -941,7 +981,6 @@ services:
depends_on: depends_on:
- postgres - postgres
- jupyterhub-user - jupyterhub-user
restart: always
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw - /var/run/docker.sock:/var/run/docker.sock:rw
- ${DATA_PATH_HOST}/jupyterhub/:/data - ${DATA_PATH_HOST}/jupyterhub/:/data
@@ -962,7 +1001,8 @@ services:
- JUPYTERHUB_OAUTH_CALLBACK_URL=${JUPYTERHUB_OAUTH_CALLBACK_URL} - JUPYTERHUB_OAUTH_CALLBACK_URL=${JUPYTERHUB_OAUTH_CALLBACK_URL}
- JUPYTERHUB_OAUTH_CLIENT_ID=${JUPYTERHUB_OAUTH_CLIENT_ID} - JUPYTERHUB_OAUTH_CLIENT_ID=${JUPYTERHUB_OAUTH_CLIENT_ID}
- JUPYTERHUB_OAUTH_CLIENT_SECRET=${JUPYTERHUB_OAUTH_CLIENT_SECRET} - JUPYTERHUB_OAUTH_CLIENT_SECRET=${JUPYTERHUB_OAUTH_CLIENT_SECRET}
- JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE=${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE} - JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE=${COMPOSE_PROJECT_NAME}_jupyterhub-user
- JUPYTERHUB_ENABLE_NVIDIA=${JUPYTERHUB_ENABLE_NVIDIA}
jupyterhub-user: jupyterhub-user:
build: build:
context: ./jupyterhub context: ./jupyterhub
@@ -1012,9 +1052,10 @@ services:
networks: networks:
- backend - backend
### PHPRedisAdmin ################################################ ### REDISWEBUI ################################################
phpredisadmin: redis-webui:
image: erikdubbelboer/phpredisadmin:latest build:
context: ./redis-webui
environment: environment:
- ADMIN_USER=${REDIS_WEBUI_USERNAME} - ADMIN_USER=${REDIS_WEBUI_USERNAME}
- ADMIN_PASS=${REDIS_WEBUI_PASSWORD} - ADMIN_PASS=${REDIS_WEBUI_PASSWORD}
@@ -1031,7 +1072,6 @@ services:
mongo-webui: mongo-webui:
build: build:
context: ./mongo-webui context: ./mongo-webui
restart: always
environment: environment:
- ROOT_URL=${MONGO_WEBUI_ROOT_URL} - ROOT_URL=${MONGO_WEBUI_ROOT_URL}
- MONGO_URL=${MONGO_WEBUI_MONGO_URL} - MONGO_URL=${MONGO_WEBUI_MONGO_URL}
@@ -1307,6 +1347,24 @@ services:
aliases: aliases:
- fetchmail - fetchmail
### TRAEFIK #########################################
traefik:
build:
context: ./traefik
command: --docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "${TRAEFIK_HOST_HTTP_PORT}:80"
- "${TRAEFIK_HOST_HTTPS_PORT}:443"
networks:
- frontend
- backend
labels:
- traefik.backend=traefik
- traefik.frontend.rule=Host:monitor.localhost
- traefik.port=8080
### MOSQUITTO Broker ######################################### ### MOSQUITTO Broker #########################################
mosquitto: mosquitto:
build: build:
@@ -1318,3 +1376,14 @@ services:
networks: networks:
- frontend - frontend
- backend - backend
### COUCHDB ###################################################
couchdb:
build:
context: ./couchdb
volumes:
- ${DATA_PATH_HOST}/couchdb/data:/opt/couchdb/data
ports:
- "${COUCHDB_PORT}:5984"
networks:
- backend

View File

@@ -7,8 +7,11 @@
# Point to the path of your applications code on your host # Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../ APP_CODE_PATH_HOST=../
# Point to where the `APP_CODE_PATH_HOST` should be in the container. You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy` # Point to where the `APP_CODE_PATH_HOST` should be in the container
APP_CODE_PATH_CONTAINER=/var/www:cached APP_CODE_PATH_CONTAINER=/var/www
# You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
APP_CODE_CONTAINER_FLAG=:cached
# Choose storage path on your machine. For all storage systems # Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock/data DATA_PATH_HOST=~/.laradock/data
@@ -104,6 +107,7 @@ WORKSPACE_INSTALL_MSSQL=false
WORKSPACE_INSTALL_DRUSH=false WORKSPACE_INSTALL_DRUSH=false
WORKSPACE_DRUSH_VERSION=8.1.17 WORKSPACE_DRUSH_VERSION=8.1.17
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
WORKSPACE_INSTALL_WP_CLI=false
WORKSPACE_INSTALL_AEROSPIKE=false WORKSPACE_INSTALL_AEROSPIKE=false
WORKSPACE_INSTALL_V8JS=false WORKSPACE_INSTALL_V8JS=false
WORKSPACE_INSTALL_LARAVEL_ENVOY=false WORKSPACE_INSTALL_LARAVEL_ENVOY=false
@@ -170,8 +174,13 @@ PHP_FPM_INSTALL_YAML=false
PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_PGSQL=false
PHP_WORKER_INSTALL_BCMATH=false PHP_WORKER_INSTALL_BCMATH=false
PHP_WORKER_INSTALL_PHALCON=false
PHP_WORKER_INSTALL_SOAP=false PHP_WORKER_INSTALL_SOAP=false
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
PHP_WORKER_INSTALL_MYSQL_CLIENT=false
PHP_WORKER_INSTALL_AMQP=false
PHP_WORKER_PUID=1000
PHP_WORKER_PGID=1000
### NGINX ################################################# ### NGINX #################################################
@@ -355,10 +364,8 @@ AEROSPIKE_FABRIC_PORT=3001
AEROSPIKE_HEARTBEAT_PORT=3002 AEROSPIKE_HEARTBEAT_PORT=3002
AEROSPIKE_INFO_PORT=3003 AEROSPIKE_INFO_PORT=3003
## Temp solution, this should be in the dockerfile # for all versions
# for all versions "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" AEROSPIKE_PHP_REPOSITORY=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 # for php 5.6
# AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php5/archive/3.4.15.tar.gz # AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php5/archive/3.4.15.tar.gz
@@ -497,14 +504,25 @@ SOLR_DATAIMPORTHANDLER_MYSQL=false
SOLR_DATAIMPORTHANDLER_MSSQL=false SOLR_DATAIMPORTHANDLER_MSSQL=false
### GITLAB ############################################### ### GITLAB ###############################################
GITLAB_POSTGRES_INIT=true
GITLAB_HOST_HTTP_PORT=8989 GITLAB_HOST_HTTP_PORT=8989
GITLAB_HOST_HTTPS_PORT=9898 GITLAB_HOST_HTTPS_PORT=9898
GITLAB_HOST_SSH_PORT=2289 GITLAB_HOST_SSH_PORT=2289
GITLAB_DOMAIN_NAME=http://localhost GITLAB_DOMAIN_NAME=http://localhost
GITLAB_ROOT_PASSWORD=laradock GITLAB_ROOT_PASSWORD=laradock
GITLAB_HOST_LOG_PATH=./logs/gitlab GITLAB_HOST_LOG_PATH=./logs/gitlab
GITLAB_POSTGRES_HOST=postgres
GITLAB_POSTGRES_USER=laradock_gitlab
GITLAB_POSTGRES_PASSWORD=laradock_gitlab
GITLAB_POSTGRES_DB=laradock_gitlab
### GITLAB-RUNNER ###############################################
GITLAB_CI_SERVER_URL=http://localhost:8989
GITLAB_RUNNER_REGISTRATION_TOKEN=<my-registration-token>
GITLAB_REGISTER_NON_INTERACTIVE=true
### JUPYTERHUB ############################################### ### JUPYTERHUB ###############################################
JUPYTERHUB_POSTGRES_INIT=true
JUPYTERHUB_POSTGRES_HOST=postgres JUPYTERHUB_POSTGRES_HOST=postgres
JUPYTERHUB_POSTGRES_USER=laradock_jupyterhub JUPYTERHUB_POSTGRES_USER=laradock_jupyterhub
JUPYTERHUB_POSTGRES_PASSWORD=laradock_jupyterhub JUPYTERHUB_POSTGRES_PASSWORD=laradock_jupyterhub
@@ -513,10 +531,10 @@ JUPYTERHUB_PORT=9991
JUPYTERHUB_OAUTH_CALLBACK_URL=http://laradock:9991/hub/oauth_callback JUPYTERHUB_OAUTH_CALLBACK_URL=http://laradock:9991/hub/oauth_callback
JUPYTERHUB_OAUTH_CLIENT_ID={GITHUB_CLIENT_ID} JUPYTERHUB_OAUTH_CLIENT_ID={GITHUB_CLIENT_ID}
JUPYTERHUB_OAUTH_CLIENT_SECRET={GITHUB_CLIENT_SECRET} JUPYTERHUB_OAUTH_CLIENT_SECRET={GITHUB_CLIENT_SECRET}
JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE=laradock_jupyterhub-user
JUPYTERHUB_CUSTOM_CONFIG=./jupyterhub/jupyterhub_config.py JUPYTERHUB_CUSTOM_CONFIG=./jupyterhub/jupyterhub_config.py
JUPYTERHUB_USER_DATA=/jupyterhub JUPYTERHUB_USER_DATA=/jupyterhub
JUPYTERHUB_USER_LIST=./jupyterhub/userlist JUPYTERHUB_USER_LIST=./jupyterhub/userlist
JUPYTERHUB_ENABLE_NVIDIA=false
### IPYTHON ################################################## ### IPYTHON ##################################################
LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1 LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
@@ -524,7 +542,7 @@ LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
### NETDATA ############################################### ### NETDATA ###############################################
NETDATA_PORT=19999 NETDATA_PORT=19999
### PHPREDISADMIN ######################################### ### REDISWEBUI #########################################
REDIS_WEBUI_USERNAME=laradock REDIS_WEBUI_USERNAME=laradock
REDIS_WEBUI_PASSWORD=laradock REDIS_WEBUI_PASSWORD=laradock
REDIS_WEBUI_CONNECT_HOST=redis REDIS_WEBUI_CONNECT_HOST=redis
@@ -620,6 +638,17 @@ MAILU_WEBMAIL=rainloop
# Dav server implementation (value: radicale, none) # Dav server implementation (value: radicale, none)
MAILU_WEBDAV=radicale MAILU_WEBDAV=radicale
### TRAEFIK #################################################
TRAEFIK_HOST_HTTP_PORT=80
TRAEFIK_HOST_HTTPS_PORT=443
### MOSQUITTO ################################################# ### MOSQUITTO #################################################
MOSQUITTO_PORT=9001 MOSQUITTO_PORT=9001
### COUCHDB ###################################################
COUCHDB_PORT=5984

View File

@@ -5,3 +5,5 @@ LABEL maintainer="ahkui <ahkui@outlook.com>"
USER root USER root
RUN echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf RUN echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf
USER theia

View File

@@ -10,6 +10,7 @@ ENV JUPYTERHUB_OAUTH_CALLBACK_URL ${JUPYTERHUB_OAUTH_CALLBACK_URL}
ENV JUPYTERHUB_OAUTH_CLIENT_ID ${JUPYTERHUB_OAUTH_CLIENT_ID} ENV JUPYTERHUB_OAUTH_CLIENT_ID ${JUPYTERHUB_OAUTH_CLIENT_ID}
ENV JUPYTERHUB_OAUTH_CLIENT_SECRET ${JUPYTERHUB_OAUTH_CLIENT_SECRET} ENV JUPYTERHUB_OAUTH_CLIENT_SECRET ${JUPYTERHUB_OAUTH_CLIENT_SECRET}
ENV JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE ${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE} ENV JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE ${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE}
ENV JUPYTERHUB_ENABLE_NVIDIA ${JUPYTERHUB_ENABLE_NVIDIA}
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -

View File

@@ -6,6 +6,9 @@ import os
c = get_config() c = get_config()
# create system users that don't exist yet
c.LocalAuthenticator.create_system_users = True
def create_dir_hook(spawner): def create_dir_hook(spawner):
username = spawner.user.name # get the username username = spawner.user.name # get the username
volume_path = os.path.join('/user-data', username) volume_path = os.path.join('/user-data', username)
@@ -45,8 +48,12 @@ network_name = os.environ.get('JUPYTERHUB_NETWORK_NAME','laradock_backend')
c.DockerSpawner.use_internal_ip = True c.DockerSpawner.use_internal_ip = True
c.DockerSpawner.network_name = network_name c.DockerSpawner.network_name = network_name
enable_nvidia = os.environ.get('JUPYTERHUB_ENABLE_NVIDIA','false')
# Pass the network name as argument to spawned containers # Pass the network name as argument to spawned containers
c.DockerSpawner.extra_host_config = { 'network_mode': network_name }
if 'true' == enable_nvidia:
c.DockerSpawner.extra_host_config = { 'network_mode': network_name, 'runtime': 'nvidia' } c.DockerSpawner.extra_host_config = { 'network_mode': network_name, 'runtime': 'nvidia' }
pass
# c.DockerSpawner.extra_host_config = { 'network_mode': network_name, "devices":["/dev/nvidiactl","/dev/nvidia-uvm","/dev/nvidia0"] } # c.DockerSpawner.extra_host_config = { 'network_mode': network_name, "devices":["/dev/nvidiactl","/dev/nvidia-uvm","/dev/nvidia0"] }
# Explicitly set notebook directory because we'll be mounting a host volume to # Explicitly set notebook directory because we'll be mounting a host volume to
# it. Most jupyter/docker-stacks *-notebook images run the Notebook server as # it. Most jupyter/docker-stacks *-notebook images run the Notebook server as

10
logstash/Dockerfile Normal file
View File

@@ -0,0 +1,10 @@
FROM docker.elastic.co/logstash/logstash:6.4.2
USER root
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
RUN curl -L -o /usr/share/logstash/lib/mysql-connector-java-5.1.47.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
ADD ./pipeline/ /usr/share/logstash/pipeline/
ADD ./config/ /usr/share/logstash/config/
RUN logstash-plugin install logstash-input-jdbc

View File

@@ -0,0 +1,5 @@
http.host: "0.0.0.0"
xpack.monitoring.enabled: false
config.reload.automatic: true
path.config: "/usr/share/logstash/pipeline"

View File

3
nginx/ssl/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*.crt
*.csr
*.key

View File

@@ -1,4 +1,4 @@
FROM fenglc/pgadmin4 FROM fenglc/pgadmin4:alpine
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>" LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"

View File

@@ -221,7 +221,16 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ARG INSTALL_AMQP=false ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \ RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \ # download and install manually, to make sure it's compatible with ampq installed by pecl later
# install cmake first
apt-get update && apt-get -y install cmake && \
curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \
mkdir -p rabbitmq-c && \
tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \
cd rabbitmq-c/ && \
mkdir _build && cd _build/ && \
cmake .. && \
cmake --build . --target install && \
# Install the amqp extension # Install the amqp extension
pecl install amqp && \ pecl install amqp && \
docker-php-ext-enable amqp && \ docker-php-ext-enable amqp && \
@@ -530,14 +539,16 @@ ARG INSTALL_PHALCON=false
ARG LARADOCK_PHALCON_VERSION ARG LARADOCK_PHALCON_VERSION
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION} ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
# Copy phalcon configration
COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable
RUN if [ $INSTALL_PHALCON = true ]; then \ RUN if [ $INSTALL_PHALCON = true ]; then \
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \ 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 \ && curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \
&& unzip -d /tmp/ /tmp/cphalcon.zip \ && unzip -d /tmp/ /tmp/cphalcon.zip \
&& cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \ && cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \
&& ./install \ && ./install \
&& echo "extension=phalcon.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini \ && mv /usr/local/etc/php/conf.d/phalcon.ini.disable /usr/local/etc/php/conf.d/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* \ && rm -rf /tmp/cphalcon* \
;fi ;fi
@@ -548,7 +559,11 @@ RUN if [ $INSTALL_PHALCON = true ]; then \
ARG INSTALL_APCU=false ARG INSTALL_APCU=false
RUN if [ ${INSTALL_APCU} = true ]; then \ RUN if [ ${INSTALL_APCU} = true ]; then \
pecl install apcu && \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a apcu-4.0.11; \
else \
pecl install apcu; \
fi && \
docker-php-ext-enable apcu \ docker-php-ext-enable apcu \
;fi ;fi
@@ -562,7 +577,11 @@ ARG INSTALL_YAML=false
RUN if [ ${INSTALL_YAML} = true ]; then \ RUN if [ ${INSTALL_YAML} = true ]; then \
apt-get install libyaml-dev -y ; \ apt-get install libyaml-dev -y ; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a yaml-1.3.2; \
else \
pecl install yaml; \ pecl install yaml; \
fi && \
docker-php-ext-enable yaml \ docker-php-ext-enable yaml \
;fi ;fi

1
php-fpm/phalcon.ini Normal file
View File

@@ -0,0 +1 @@
extension=phalcon.so

View File

@@ -16,6 +16,7 @@ RUN apk --update add wget \
libmemcached-dev \ libmemcached-dev \
libmcrypt-dev \ libmcrypt-dev \
libxml2-dev \ libxml2-dev \
pcre-dev \
zlib-dev \ zlib-dev \
autoconf \ autoconf \
cyrus-sasl-dev \ cyrus-sasl-dev \
@@ -25,6 +26,15 @@ RUN apk --update add wget \
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl 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 RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached
# Add a non-root user:
ARG PUID=1000
ENV PUID ${PUID}
ARG PGID=1000
ENV PGID ${PGID}
RUN addgroup -g ${PGID} laradock && \
adduser -D -G laradock -u ${PUID} laradock
#Install SOAP package: #Install SOAP package:
ARG INSTALL_SOAP=false ARG INSTALL_SOAP=false
RUN if [ ${INSTALL_SOAP} = true ]; then \ RUN if [ ${INSTALL_SOAP} = true ]; then \
@@ -53,6 +63,36 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
docker-php-ext-install zip \ docker-php-ext-install zip \
;fi ;fi
# Install MySQL Client:
ARG INSTALL_MYSQL_CLIENT=false
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apk --update add mysql-client \
;fi
# Install AMQP:
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
apk --update add rabbitmq-c rabbitmq-c-dev && \
pecl install amqp && \
docker-php-ext-enable amqp && \
docker-php-ext-install sockets \
;fi
# Install Phalcon ext
ARG INSTALL_PHALCON=false
ARG PHALCON_VERSION
ENV PHALCON_VERSION ${PHALCON_VERSION}
RUN if [ $INSTALL_PHALCON = true ]; then \
apk --update add unzip gcc make re2c bash\
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.zip \
&& unzip -d /tmp/ /tmp/cphalcon.zip \
&& cd /tmp/cphalcon-${PHALCON_VERSION}/build \
&& ./install \
&& rm -rf /tmp/cphalcon* \
;fi
RUN rm /var/cache/apk/* \ RUN rm /var/cache/apk/* \
&& mkdir -p /var/www && mkdir -p /var/www

View File

@@ -4,4 +4,5 @@ command=php /var/www/artisan queue:work --sleep=3 --tries=3 --daemon
autostart=true autostart=true
autorestart=true autorestart=true
numprocs=8 numprocs=8
user=laradock
redirect_stderr=true redirect_stderr=true

View File

@@ -33,9 +33,12 @@
# EOSQL # EOSQL
# #
### default database and user for gitlab ############################################## ### default database and user for gitlab ##############################################
if [ "$GITLAB_POSTGRES_INIT" == 'true' ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER laradock_gitlab WITH PASSWORD 'laradock_gitlab'; CREATE USER $GITLAB_POSTGRES_USER WITH PASSWORD '$GITLAB_POSTGRES_PASSWORD';
CREATE DATABASE laradock_gitlab; CREATE DATABASE $GITLAB_POSTGRES_DB;
GRANT ALL PRIVILEGES ON DATABASE laradock_gitlab TO laradock_gitlab; GRANT ALL PRIVILEGES ON DATABASE $GITLAB_POSTGRES_DB TO $GITLAB_POSTGRES_USER;
ALTER ROLE laradock_gitlab CREATEROLE SUPERUSER; ALTER ROLE $GITLAB_POSTGRES_USER CREATEROLE SUPERUSER;
EOSQL EOSQL
echo
fi

View File

@@ -33,9 +33,12 @@
# EOSQL # EOSQL
# #
### default database and user for jupyterhub ############################################## ### default database and user for jupyterhub ##############################################
if [ $JUPYTERHUB_POSTGRES_INIT == 'true' ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER laradock_jupyterhub WITH PASSWORD 'laradock_jupyterhub'; CREATE USER $JUPYTERHUB_POSTGRES_USER WITH PASSWORD '$JUPYTERHUB_POSTGRES_PASSWORD';
CREATE DATABASE laradock_jupyterhub; CREATE DATABASE $JUPYTERHUB_POSTGRES_DB;
GRANT ALL PRIVILEGES ON DATABASE laradock_jupyterhub TO laradock_jupyterhub; GRANT ALL PRIVILEGES ON DATABASE $JUPYTERHUB_POSTGRES_DB TO $JUPYTERHUB_POSTGRES_USER;
ALTER ROLE laradock_jupyterhub CREATEROLE SUPERUSER; ALTER ROLE $JUPYTERHUB_POSTGRES_USER CREATEROLE SUPERUSER;
EOSQL EOSQL
echo
fi

View File

@@ -1,7 +1,7 @@
FROM rabbitmq FROM rabbitmq:alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN rabbitmq-plugins enable --offline rabbitmq_management RUN rabbitmq-plugins enable --offline rabbitmq_management
EXPOSE 15671 15672 EXPOSE 4369 5671 5672 15671 15672 25672

3
redis-webui/Dockerfile Normal file
View File

@@ -0,0 +1,3 @@
FROM erikdubbelboer/phpredisadmin
LABEL maintainer="ahkui <ahkui@outlook.com>"

View File

@@ -4,6 +4,13 @@ LABEL maintainer="Cristian Mello <cristianc.mello@gmail.com>"
VOLUME /data/rethinkdb_data VOLUME /data/rethinkdb_data
#Necessary for the backup rethinkdb
RUN apt-get -y update \
&& apt-get -y upgrade \
&& apt-get -y install python-pip \
&& pip install rethinkdb \
&& rm -rf /var/lib/apt/lists/*
RUN cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf RUN cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf
CMD ["rethinkdb", "--bind", "all"] CMD ["rethinkdb", "--bind", "all"]

View File

@@ -18,7 +18,7 @@ ENV SOLR_DATAIMPORTHANDLER_MSSQL ${SOLR_DATAIMPORTHANDLER_MSSQL}
# download mssql connector for dataimporthandler # download mssql connector for dataimporthandler
RUN if [ ${SOLR_DATAIMPORTHANDLER_MSSQL} = true ]; then \ 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" \ 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 \ && mkdir -p /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" \ && mv /tmp/mssql-jdbc-7.0.0.jre8.jar "/opt/solr/contrib/dataimporthandler/lib/mssql-jdbc-7.0.0.jre8.jar" \
;fi ;fi

7
traefik/Dockerfile Normal file
View File

@@ -0,0 +1,7 @@
FROM traefik:1.7.5-alpine
LABEL maintainer="Luis Coutinho <luis@luiscoutinho.pt>"
COPY traefik.toml acme.json /
RUN chmod 600 /acme.json

0
traefik/acme.json Normal file
View File

23
traefik/traefik.toml Normal file
View File

@@ -0,0 +1,23 @@
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[web]
address = ":8080"
[acme]
email = "email@example.org"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"
[[acme.domais]]
main = "localhost"

View File

@@ -41,7 +41,7 @@ RUN apt-get update -yqq && \
pecl channel-update pecl.php.net && \ pecl channel-update pecl.php.net && \
groupadd -g ${PGID} laradock && \ groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock -G docker_env && \ useradd -u ${PUID} -g laradock -m laradock -G docker_env && \
usermod -p "*" laradock usermod -p "*" laradock -s /bin/bash
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
@@ -174,6 +174,21 @@ RUN if [ ${INSTALL_DRUSH} = true ]; then \
drush core-status \ drush core-status \
;fi ;fi
###########################################################################
# WP CLI:
###########################################################################
# The command line interface for WordPress
USER root
ARG INSTALL_WP_CLI=false
RUN if [ ${INSTALL_WP_CLI} = true ]; then \
curl -fsSL -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar | bash && \
chmod +x /usr/local/bin/wp \
;fi
########################################################################### ###########################################################################
# SSH2: # SSH2:
########################################################################### ###########################################################################

View File

@@ -46,8 +46,8 @@ alias h="history"
alias j="jobs" alias j="jobs"
alias e='exit' alias e='exit'
alias c="clear" alias c="clear"
alias cla="clear && ls -l" alias cla="clear && ls -la"
alias cll="clear && ls -la" alias cll="clear && ls -l"
alias cls="clear && ls" alias cls="clear && ls"
alias code="cd /var/www" alias code="cd /var/www"
alias ea="vi ~/aliases.sh" alias ea="vi ~/aliases.sh"
@@ -108,6 +108,7 @@ alias git-revert="git reset --hard && git clean -df"
alias gs="git status" alias gs="git status"
alias whoops="git reset --hard && git clean -df" alias whoops="git reset --hard && git clean -df"
alias glog="git log --oneline --decorate --graph" alias glog="git log --oneline --decorate --graph"
alias gloga="git log --oneline --decorate --graph --all"
alias gsh="git show" alias gsh="git show"
alias grb="git rebase -i" alias grb="git rebase -i"
alias gbr="git branch" alias gbr="git branch"