Compare commits
30 Commits
Author | SHA1 | Date | |
---|---|---|---|
8cde247422 | |||
5a78f09eb4 | |||
33828f81bf | |||
a406335efe | |||
18ca604537 | |||
51ff09c187 | |||
6a92eb0d58 | |||
8f411417f5 | |||
127d48655c | |||
884e481c0c | |||
833a91d8f8 | |||
6eeb0c8388 | |||
c073ebefbb | |||
7a2370ba77 | |||
258912eac2 | |||
9de9e8ed04 | |||
081e65d192 | |||
93f137ce12 | |||
ec7d91a658 | |||
ab4e06f270 | |||
3124ad8d76 | |||
8e6a2a4f3c | |||
4dd4074d3b | |||
9ad5063d4a | |||
3fe18368bd | |||
f3f3dfa724 | |||
e14e5b7caf | |||
711b2e7449 | |||
8ecd35d2e9 | |||
c4a99cce57 |
@ -560,8 +560,14 @@ composer update
|
||||
```bash
|
||||
phpunit
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
vue serve
|
||||
```
|
||||
(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_SERVE_HOST_PORT]`)
|
||||
```
|
||||
vue ui
|
||||
```
|
||||
(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_UI_HOST_PORT]`)
|
||||
|
||||
|
||||
|
||||
@ -1890,7 +1896,11 @@ To install NPM VUE CLI in the Workspace container
|
||||
|
||||
2 - Search for the `WORKSPACE_INSTALL_NPM_VUE_CLI` argument under the Workspace Container and set it to `true`
|
||||
|
||||
3 - Re-build the container `docker-compose build workspace`
|
||||
3 - Change `vue serve` port using `WORKSPACE_VUE_CLI_SERVE_HOST_PORT` if you wish to (default value is 8080)
|
||||
|
||||
4 - Change `vue ui` port using `WORKSPACE_VUE_CLI_UI_HOST_PORT` if you wish to (default value is 8001)
|
||||
|
||||
5 - Re-build the container `docker-compose build workspace`
|
||||
|
||||
|
||||
|
||||
@ -1946,7 +1956,21 @@ To install FFMPEG in the Workspace container
|
||||
**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary.
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-wkhtmltopdf"></a>
|
||||
## Install wkhtmltopdf
|
||||
|
||||
[wkhtmltopdf](https://wkhtmltopdf.org/) is a utility for outputting a PDF from HTML
|
||||
|
||||
To install wkhtmltopdf in the Workspace container
|
||||
|
||||
1 - Open the `.env` file
|
||||
|
||||
2 - Search for the `WORKSPACE_INSTALL_WKHTMLTOPDF` argument under the Workspace Container and set it to `true`
|
||||
|
||||
3 - Re-build the container `docker-compose build workspace`
|
||||
|
||||
**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `wkhtmltopdf` binary.
|
||||
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 6. Related Projects
|
||||
title: 9. Related Projects
|
||||
type: index
|
||||
weight: 6
|
||||
weight: 9
|
||||
---
|
||||
|
||||
Laradock related projects:
|
||||
@ -15,5 +15,7 @@ These Docker Compose projects have piqued our interest:
|
||||
* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti)
|
||||
* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea)
|
||||
* [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek)
|
||||
* [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template
|
||||
for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA)
|
||||
|
||||
If you want your project listed here, please open an issue.
|
||||
|
@ -49,7 +49,7 @@ volumes:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
graylog:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
dind:
|
||||
docker-in-docker:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
|
||||
services:
|
||||
@ -140,21 +140,28 @@ services:
|
||||
- INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE}
|
||||
- INSTALL_SUPERVISOR=${WORKSPACE_INSTALL_SUPERVISOR}
|
||||
- INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG}
|
||||
- INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF}
|
||||
- INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL}
|
||||
- http_proxy
|
||||
- https_proxy
|
||||
- no_proxy
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
- docker-in-docker:/certs/client
|
||||
- ./php-worker/supervisord.d:/etc/supervisord.d
|
||||
extra_hosts:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
ports:
|
||||
- "${WORKSPACE_SSH_PORT}:22"
|
||||
- "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
|
||||
- "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
|
||||
tty: true
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
- DOCKER_HOST=tcp://docker-in-docker:2375
|
||||
- DOCKER_HOST=tcp://docker-in-docker:2376
|
||||
- DOCKER_TLS_VERIFY=1
|
||||
- DOCKER_TLS_CERTDIR=/certs
|
||||
- DOCKER_CERT_PATH=/certs/client
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
@ -220,6 +227,7 @@ services:
|
||||
- INSTALL_PCNTL=${PHP_FPM_INSTALL_PCNTL}
|
||||
- ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES}
|
||||
- INSTALL_FFMPEG=${PHP_FPM_FFMPEG}
|
||||
- INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF}
|
||||
- INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF}
|
||||
- PUID=${PHP_FPM_PUID}
|
||||
- PGID=${PHP_FPM_PGID}
|
||||
@ -230,13 +238,17 @@ services:
|
||||
volumes:
|
||||
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
|
||||
- docker-in-docker:/certs/client
|
||||
expose:
|
||||
- "9000"
|
||||
extra_hosts:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
- DOCKER_HOST=tcp://docker-in-docker:2375
|
||||
- DOCKER_HOST=tcp://docker-in-docker:2376
|
||||
- DOCKER_TLS_VERIFY=1
|
||||
- DOCKER_TLS_CERTDIR=/certs
|
||||
- DOCKER_CERT_PATH=/certs/client
|
||||
- FAKETIME=${PHP_FPM_FAKETIME}
|
||||
depends_on:
|
||||
- workspace
|
||||
@ -254,6 +266,7 @@ services:
|
||||
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
||||
- PHALCON_VERSION=${PHALCON_VERSION}
|
||||
- INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2}
|
||||
- INSTALL_GD=${PHP_WORKER_INSTALL_GD}
|
||||
- INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
|
||||
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
|
||||
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
|
||||
@ -288,8 +301,10 @@ services:
|
||||
- CHANGE_SOURCE=${CHANGE_SOURCE}
|
||||
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
||||
- INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2}
|
||||
- INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD}
|
||||
- INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP}
|
||||
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
||||
- INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE}
|
||||
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
|
||||
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
|
||||
- INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS}
|
||||
@ -298,8 +313,8 @@ services:
|
||||
- INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS}
|
||||
- INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO}
|
||||
- INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG}
|
||||
- PUID=${PHP_WORKER_PUID}
|
||||
- PGID=${PHP_WORKER_PGID}
|
||||
- PUID=${LARAVEL_HORIZON_PUID}
|
||||
- PGID=${LARAVEL_HORIZON_PGID}
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ./laravel-horizon/supervisord.d:/etc/supervisord.d
|
||||
@ -1268,11 +1283,13 @@ services:
|
||||
|
||||
### Docker-in-Docker ################################################
|
||||
docker-in-docker:
|
||||
image: docker:dind
|
||||
image: docker:19.03-dind
|
||||
environment:
|
||||
DOCKER_TLS_SAN: DNS:docker-in-docker
|
||||
privileged: true
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ${DATA_PATH_HOST}/dind:/var/lib/docker
|
||||
- docker-in-docker:/certs/client
|
||||
expose:
|
||||
- 2375
|
||||
networks:
|
||||
|
11
env-example
11
env-example
@ -156,9 +156,12 @@ WORKSPACE_CHROME_DRIVER_VERSION=2.42
|
||||
WORKSPACE_TIMEZONE=UTC
|
||||
WORKSPACE_SSH_PORT=2222
|
||||
WORKSPACE_INSTALL_FFMPEG=false
|
||||
WORKSPACE_INSTALL_WKHTMLTOPDF=false
|
||||
WORKSPACE_INSTALL_GNU_PARALLEL=false
|
||||
WORKSPACE_INSTALL_AST=true
|
||||
WORKSPACE_AST_VERSION=1.0.3
|
||||
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
|
||||
WORKSPACE_VUE_CLI_UI_HOST_PORT=8001
|
||||
WORKSPACE_INSTALL_GIT_PROMPT=false
|
||||
|
||||
### PHP_FPM ###############################################
|
||||
@ -213,8 +216,9 @@ PHP_FPM_INSTALL_MYSQL_CLIENT=false
|
||||
PHP_FPM_INSTALL_PING=false
|
||||
PHP_FPM_INSTALL_SSHPASS=false
|
||||
PHP_FPM_INSTALL_MAILPARSE=false
|
||||
PHP_FPM_INSTALL_WKHTMLTOPDF=false
|
||||
PHP_FPM_FFMPEG=false
|
||||
PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8"
|
||||
PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8"
|
||||
PHP_FPM_DEFAULT_LOCALE=POSIX
|
||||
|
||||
PHP_FPM_PUID=1000
|
||||
@ -223,6 +227,7 @@ PHP_FPM_PGID=1000
|
||||
### PHP_WORKER ############################################
|
||||
|
||||
PHP_WORKER_INSTALL_BZ2=false
|
||||
PHP_WORKER_INSTALL_GD=false
|
||||
PHP_WORKER_INSTALL_GMP=false
|
||||
PHP_WORKER_INSTALL_PGSQL=false
|
||||
PHP_WORKER_INSTALL_BCMATH=false
|
||||
@ -255,12 +260,16 @@ NGINX_SSL_PATH=./nginx/ssl/
|
||||
### LARAVEL_HORIZON ################################################
|
||||
|
||||
LARAVEL_HORIZON_INSTALL_BZ2=false
|
||||
LARAVEL_HORIZON_INSTALL_GD=false
|
||||
LARAVEL_HORIZON_INSTALL_GMP=false
|
||||
LARAVEL_HORIZON_INSTALL_SOCKETS=false
|
||||
LARAVEL_HORIZON_INSTALL_YAML=false
|
||||
LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false
|
||||
LARAVEL_HORIZON_INSTALL_PHPREDIS=true
|
||||
LARAVEL_HORIZON_INSTALL_MONGO=false
|
||||
LARAVEL_HORIZON_INSTALL_FFMPEG=false
|
||||
LARAVEL_HORIZON_PGID=1000
|
||||
LARAVEL_HORIZON_PUID=1000
|
||||
|
||||
### APACHE ################################################
|
||||
|
||||
|
@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
|
||||
docker-php-ext-install bz2 \
|
||||
;fi
|
||||
|
||||
#Install GD package:
|
||||
ARG INSTALL_GD=false
|
||||
RUN if [ ${INSTALL_GD} = true ]; then \
|
||||
apk add --update --no-cache libpng-dev; \
|
||||
docker-php-ext-install gd \
|
||||
;fi
|
||||
|
||||
#Install GMP package:
|
||||
ARG INSTALL_GMP=false
|
||||
RUN if [ ${INSTALL_GMP} = true ]; then \
|
||||
@ -79,6 +86,20 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \
|
||||
&& docker-php-ext-install pdo_pgsql \
|
||||
;fi
|
||||
|
||||
# Install ZipArchive:
|
||||
ARG INSTALL_ZIP_ARCHIVE=false
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
||||
apk --update add libzip-dev && \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \
|
||||
docker-php-ext-configure zip; \
|
||||
else \
|
||||
docker-php-ext-configure zip --with-libzip; \
|
||||
fi && \
|
||||
# Install the zip extension
|
||||
docker-php-ext-install zip \
|
||||
;fi
|
||||
|
||||
# Install PhpRedis package:
|
||||
ARG INSTALL_PHPREDIS=false
|
||||
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
|
||||
|
@ -8,3 +8,4 @@
|
||||
[mysqld]
|
||||
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
|
||||
character-set-server=utf8
|
||||
default-authentication-plugin=mysql_native_password
|
||||
|
@ -107,7 +107,7 @@ RUN if [ ${INSTALL_SSH2} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install -a ssh2-0.13; \
|
||||
else \
|
||||
pecl install -a ssh2-1.1.2; \
|
||||
pecl install -a ssh2-1.2; \
|
||||
fi && \
|
||||
docker-php-ext-enable ssh2 \
|
||||
;fi
|
||||
@ -189,7 +189,11 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install xdebug-2.5.5; \
|
||||
else \
|
||||
pecl install xdebug; \
|
||||
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
|
||||
pecl install xdebug-2.9.0; \
|
||||
else \
|
||||
pecl install xdebug; \
|
||||
fi \
|
||||
fi && \
|
||||
docker-php-ext-enable xdebug \
|
||||
;fi
|
||||
@ -849,6 +853,26 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \
|
||||
apt-get -y install ffmpeg \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# wkhtmltopdf:
|
||||
#####################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_WKHTMLTOPDF=false
|
||||
|
||||
RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
apt-get install -y \
|
||||
libxrender1 \
|
||||
libfontconfig1 \
|
||||
libx11-dev \
|
||||
libjpeg62 \
|
||||
libxtst6 \
|
||||
wget \
|
||||
&& wget https://github.com/h4cc/wkhtmltopdf-amd64/blob/master/bin/wkhtmltopdf-amd64?raw=true -O /usr/local/bin/wkhtmltopdf \
|
||||
&& chmod +x /usr/local/bin/wkhtmltopdf \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Mailparse extension:
|
||||
###########################################################################
|
||||
|
@ -1,7 +1,7 @@
|
||||
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
||||
|
||||
; xdebug.remote_host=dockerhost
|
||||
xdebug.remote_connect_back=1
|
||||
xdebug.remote_host="host.docker.internal"
|
||||
xdebug.remote_connect_back=0
|
||||
xdebug.remote_port=9000
|
||||
xdebug.idekey=PHPSTORM
|
||||
|
||||
@ -17,4 +17,3 @@ xdebug.remote_mode=req
|
||||
xdebug.var_display_max_children=-1
|
||||
xdebug.var_display_max_data=-1
|
||||
xdebug.var_display_max_depth=-1
|
||||
|
||||
|
@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
|
||||
docker-php-ext-install bz2; \
|
||||
fi
|
||||
|
||||
#Install GD package:
|
||||
ARG INSTALL_GD=false
|
||||
RUN if [ ${INSTALL_GD} = true ]; then \
|
||||
apk add --update --no-cache libpng-dev; \
|
||||
docker-php-ext-install gd \
|
||||
;fi
|
||||
|
||||
#Install GMP package:
|
||||
ARG INSTALL_GMP=false
|
||||
RUN if [ ${INSTALL_GMP} = true ]; then \
|
||||
|
@ -1239,6 +1239,26 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \
|
||||
apt-get -y install ffmpeg \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# wkhtmltopdf:
|
||||
#####################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG INSTALL_WKHTMLTOPDF=false
|
||||
|
||||
RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
|
||||
apt-get install -y \
|
||||
libxrender1 \
|
||||
libfontconfig1 \
|
||||
libx11-dev \
|
||||
libjpeg62 \
|
||||
libxtst6 \
|
||||
wget \
|
||||
&& wget https://github.com/h4cc/wkhtmltopdf-amd64/blob/master/bin/wkhtmltopdf-amd64?raw=true -O /usr/local/bin/wkhtmltopdf \
|
||||
&& chmod +x /usr/local/bin/wkhtmltopdf \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Mailparse extension:
|
||||
###########################################################################
|
||||
|
@ -1,7 +1,7 @@
|
||||
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
||||
|
||||
; xdebug.remote_host=dockerhost
|
||||
xdebug.remote_connect_back=1
|
||||
xdebug.remote_host="host.docker.internal"
|
||||
xdebug.remote_connect_back=0
|
||||
xdebug.remote_port=9000
|
||||
xdebug.idekey=PHPSTORM
|
||||
|
||||
@ -17,4 +17,3 @@ xdebug.remote_mode=req
|
||||
xdebug.var_display_max_children=-1
|
||||
xdebug.var_display_max_data=-1
|
||||
xdebug.var_display_max_depth=-1
|
||||
|
||||
|
Reference in New Issue
Block a user