commit
cbbf7fbf53
16
.env.example
16
.env.example
|
@ -173,7 +173,7 @@ WORKSPACE_INSTALL_SWOOLE=false
|
||||||
WORKSPACE_INSTALL_TAINT=false
|
WORKSPACE_INSTALL_TAINT=false
|
||||||
WORKSPACE_INSTALL_LIBPNG=false
|
WORKSPACE_INSTALL_LIBPNG=false
|
||||||
WORKSPACE_INSTALL_GRAPHVIZ=false
|
WORKSPACE_INSTALL_GRAPHVIZ=false
|
||||||
WORKSPACE_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
|
WORKSPACE_INSTALL_IONCUBE=false # PHP 8.2 is not supported yet.
|
||||||
WORKSPACE_INSTALL_MYSQL_CLIENT=false
|
WORKSPACE_INSTALL_MYSQL_CLIENT=false
|
||||||
WORKSPACE_INSTALL_PING=false
|
WORKSPACE_INSTALL_PING=false
|
||||||
WORKSPACE_INSTALL_SSHPASS=false
|
WORKSPACE_INSTALL_SSHPASS=false
|
||||||
|
@ -261,7 +261,7 @@ PHP_FPM_INSTALL_POSTGIS=false
|
||||||
PHP_FPM_INSTALL_PCNTL=false
|
PHP_FPM_INSTALL_PCNTL=false
|
||||||
PHP_FPM_INSTALL_CALENDAR=false
|
PHP_FPM_INSTALL_CALENDAR=false
|
||||||
PHP_FPM_INSTALL_FAKETIME=false
|
PHP_FPM_INSTALL_FAKETIME=false
|
||||||
PHP_FPM_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
|
PHP_FPM_INSTALL_IONCUBE=false # PHP 8.2 is not supported yet.
|
||||||
PHP_FPM_INSTALL_RDKAFKA=false
|
PHP_FPM_INSTALL_RDKAFKA=false
|
||||||
PHP_FPM_INSTALL_GETTEXT=false
|
PHP_FPM_INSTALL_GETTEXT=false
|
||||||
PHP_FPM_INSTALL_XMLRPC=false
|
PHP_FPM_INSTALL_XMLRPC=false
|
||||||
|
@ -1067,3 +1067,15 @@ SOKETI_METRICS_SERVER_PORT=9601
|
||||||
### ONEDEV ##################################################
|
### ONEDEV ##################################################
|
||||||
ONEDEV_HTTP_PORT=6610
|
ONEDEV_HTTP_PORT=6610
|
||||||
ONEDEV_SSH_PORT=6611
|
ONEDEV_SSH_PORT=6611
|
||||||
|
|
||||||
|
### Keycloak ################################################
|
||||||
|
KEYCLOAK_VERSION=latest
|
||||||
|
KEYCLOAK_POSTGRES_INIT=true
|
||||||
|
KEYCLOAK_HTTP_PORT=8081
|
||||||
|
KEYCLOAK_CREATE_ADMIN_USER=true
|
||||||
|
KEYCLOAK_ADMIN_USER='admin'
|
||||||
|
KEYCLOAK_ADMIN_PASSWORD='secret'
|
||||||
|
KEYCLOAK_POSTGRES_HOST=postgres
|
||||||
|
KEYCLOAK_POSTGRES_USER=laradock_keycloak
|
||||||
|
KEYCLOAK_POSTGRES_PASSWORD=laradock_keycloak
|
||||||
|
KEYCLOAK_POSTGRES_DB=laradock_keycloak
|
||||||
|
|
|
@ -1490,6 +1490,23 @@ docker-compose exec tarantool console
|
||||||
7 - There you can operate with tarantool database ([official documentation](https://www.tarantool.io/en/doc/latest/) can be helpful).
|
7 - There you can operate with tarantool database ([official documentation](https://www.tarantool.io/en/doc/latest/) can be helpful).
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<a name="use Keycloak"></a>
|
||||||
|
## Use Keycloak
|
||||||
|
|
||||||
|
1. Run the Keycloak Container (`keycloak`) with the `docker-compose up` command. Example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d keycloak
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Open your browser and visit the localhost on port 8081: `http://localhost:8081`
|
||||||
|
|
||||||
|
3. Login with the following credentials:
|
||||||
|
|
||||||
|
- Username: `admin`
|
||||||
|
- Password: `secret`
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a name="CodeIgniter"></a>
|
<a name="CodeIgniter"></a>
|
||||||
|
|
||||||
|
@ -2525,6 +2542,13 @@ docker-compose up ...
|
||||||
*Note: If you faced any errors, try restarting Docker, and make sure you have no spaces in the `d4m-nfs-mounts.txt` file, and your `/etc/exports` file is clear.*
|
*Note: If you faced any errors, try restarting Docker, and make sure you have no spaces in the `d4m-nfs-mounts.txt` file, and your `/etc/exports` file is clear.*
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<a name="ca-certificates"></a>
|
||||||
|
## ca-certificates
|
||||||
|
|
||||||
|
To install your own CA certificates, you can add them to the `workspace/ca-certificates` folder.
|
||||||
|
This way the certificates will be installed into the system ca store of the workspace container.
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a name="upgrade-laradock"></a>
|
<a name="upgrade-laradock"></a>
|
||||||
|
|
|
@ -599,7 +599,7 @@ services:
|
||||||
- no_proxy
|
- no_proxy
|
||||||
- MARIADB_VERSION=${MARIADB_VERSION}
|
- MARIADB_VERSION=${MARIADB_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ${DATA_PATH_HOST}/mariadb:/var/lib/mariadb
|
- ${DATA_PATH_HOST}/mariadb:/var/lib/mysql
|
||||||
- ${MARIADB_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
- ${MARIADB_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
||||||
ports:
|
ports:
|
||||||
- "${MARIADB_PORT}:3306"
|
- "${MARIADB_PORT}:3306"
|
||||||
|
@ -631,6 +631,10 @@ services:
|
||||||
- GITLAB_POSTGRES_USER=${GITLAB_POSTGRES_USER}
|
- GITLAB_POSTGRES_USER=${GITLAB_POSTGRES_USER}
|
||||||
- GITLAB_POSTGRES_PASSWORD=${GITLAB_POSTGRES_PASSWORD}
|
- GITLAB_POSTGRES_PASSWORD=${GITLAB_POSTGRES_PASSWORD}
|
||||||
- GITLAB_POSTGRES_DB=${GITLAB_POSTGRES_DB}
|
- GITLAB_POSTGRES_DB=${GITLAB_POSTGRES_DB}
|
||||||
|
- KEYCLOAK_POSTGRES_INIT=${KEYCLOAK_POSTGRES_INIT}
|
||||||
|
- KEYCLOAK_POSTGRES_USER=${KEYCLOAK_POSTGRES_USER}
|
||||||
|
- KEYCLOAK_POSTGRES_PASSWORD=${KEYCLOAK_POSTGRES_PASSWORD}
|
||||||
|
- KEYCLOAK_POSTGRES_DB=${KEYCLOAK_POSTGRES_DB}
|
||||||
- JUPYTERHUB_POSTGRES_INIT=${JUPYTERHUB_POSTGRES_INIT}
|
- JUPYTERHUB_POSTGRES_INIT=${JUPYTERHUB_POSTGRES_INIT}
|
||||||
- JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER}
|
- JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER}
|
||||||
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
|
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
|
||||||
|
@ -2100,3 +2104,24 @@ services:
|
||||||
- frontend
|
- frontend
|
||||||
- backend
|
- backend
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
|
### keycloak ##################################################
|
||||||
|
keycloak:
|
||||||
|
image: bitnami/keycloak:${KEYCLOAK_VERSION}
|
||||||
|
ports:
|
||||||
|
- "${KEYCLOAK_HTTP_PORT}:${KEYCLOAK_HTTP_PORT}"
|
||||||
|
environment:
|
||||||
|
- KEYCLOAK_HTTP_PORT=${KEYCLOAK_HTTP_PORT}
|
||||||
|
- KEYCLOAK_CREATE_ADMIN_USER=${KEYCLOAK_CREATE_ADMIN_USER}
|
||||||
|
- KEYCLOAK_ADMIN_USER=${KEYCLOAK_ADMIN_USER}
|
||||||
|
- KEYCLOAK_ADMIN_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD}
|
||||||
|
- KEYCLOAK_DATABASE_HOST=${KEYCLOAK_POSTGRES_HOST}
|
||||||
|
- KEYCLOAK_DATABASE_PORT=${POSTGRES_PORT}
|
||||||
|
- KEYCLOAK_DATABASE_NAME=${KEYCLOAK_POSTGRES_DB}
|
||||||
|
- KEYCLOAK_DATABASE_USER=${KEYCLOAK_POSTGRES_USER}
|
||||||
|
- KEYCLOAK_DATABASE_PASSWORD=${KEYCLOAK_POSTGRES_PASSWORD}
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
networks:
|
||||||
|
- frontend
|
||||||
|
- backend
|
||||||
|
|
|
@ -31,10 +31,14 @@ RUN apk --update add wget \
|
||||||
cyrus-sasl-dev \
|
cyrus-sasl-dev \
|
||||||
libgsasl-dev \
|
libgsasl-dev \
|
||||||
oniguruma-dev \
|
oniguruma-dev \
|
||||||
libressl \
|
|
||||||
libressl-dev \
|
|
||||||
supervisor \
|
supervisor \
|
||||||
procps
|
procps; \
|
||||||
|
if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "50600" ] || \
|
||||||
|
[ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70000" ]; then \
|
||||||
|
apk --update add libressl libressl-dev; \
|
||||||
|
else \
|
||||||
|
apk --update add openssl-dev; \
|
||||||
|
fi
|
||||||
|
|
||||||
RUN pecl channel-update pecl.php.net; \
|
RUN pecl channel-update pecl.php.net; \
|
||||||
docker-php-ext-install mysqli mbstring pdo pdo_mysql xml pcntl; \
|
docker-php-ext-install mysqli mbstring pdo pdo_mysql xml pcntl; \
|
||||||
|
|
|
@ -219,10 +219,10 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||||
# Install the xdebug extension
|
# Install the xdebug extension
|
||||||
# https://xdebug.org/docs/compat
|
# https://xdebug.org/docs/compat
|
||||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||||
if [ ${LARADOCK_PHP_VERSION} = "8.2" ]; then \
|
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||||
pecl install xdebug-3.2.0; \
|
pecl install xdebug-3.2.1; \
|
||||||
else \
|
else \
|
||||||
pecl install xdebug-3.1.4; \
|
pecl install xdebug-3.1.6; \
|
||||||
fi; \
|
fi; \
|
||||||
else \
|
else \
|
||||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||||
|
@ -655,7 +655,13 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||||
ARG INSTALL_IONCUBE=false
|
ARG INSTALL_IONCUBE=false
|
||||||
|
|
||||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
|
if [ ${LARADOCK_PHP_VERSION} = "8.1" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.4" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.3" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.2" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.1" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.0" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "5.6" ]; then \
|
||||||
# Install the php ioncube loader
|
# 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 \
|
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 \
|
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copy createdb.sh.example to createdb.sh
|
||||||
|
# then uncomment then set database name and username to create you need databases
|
||||||
|
#
|
||||||
|
# example: .env POSTGRES_USER=appuser and need db name is myshop_db
|
||||||
|
#
|
||||||
|
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
# CREATE USER myuser WITH PASSWORD 'mypassword';
|
||||||
|
# CREATE DATABASE myshop_db;
|
||||||
|
# GRANT ALL PRIVILEGES ON DATABASE myshop_db TO myuser;
|
||||||
|
# EOSQL
|
||||||
|
#
|
||||||
|
# this sh script will auto run when the postgres container starts and the $DATA_PATH_HOST/postgres not found.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
# CREATE USER db1 WITH PASSWORD 'db1';
|
||||||
|
# CREATE DATABASE db1;
|
||||||
|
# GRANT ALL PRIVILEGES ON DATABASE db1 TO db1;
|
||||||
|
# EOSQL
|
||||||
|
#
|
||||||
|
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
# CREATE USER db2 WITH PASSWORD 'db2';
|
||||||
|
# CREATE DATABASE db2;
|
||||||
|
# GRANT ALL PRIVILEGES ON DATABASE db2 TO db2;
|
||||||
|
# EOSQL
|
||||||
|
#
|
||||||
|
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
# CREATE USER db3 WITH PASSWORD 'db3';
|
||||||
|
# CREATE DATABASE db3;
|
||||||
|
# GRANT ALL PRIVILEGES ON DATABASE db3 TO db3;
|
||||||
|
# EOSQL
|
||||||
|
#
|
||||||
|
### default database and user for keycloak ##############################################
|
||||||
|
if [ "$KEYCLOAK_POSTGRES_INIT" == 'true' ]; then
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
CREATE USER $KEYCLOAK_POSTGRES_USER WITH PASSWORD '$KEYCLOAK_POSTGRES_PASSWORD';
|
||||||
|
CREATE DATABASE $KEYCLOAK_POSTGRES_DB;
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE $KEYCLOAK_POSTGRES_DB TO $KEYCLOAK_POSTGRES_USER;
|
||||||
|
ALTER ROLE $KEYCLOAK_POSTGRES_USER CREATEROLE SUPERUSER;
|
||||||
|
EOSQL
|
||||||
|
echo
|
||||||
|
fi
|
|
@ -198,6 +198,15 @@ COPY ./crontab /etc/cron.d
|
||||||
|
|
||||||
RUN chmod -R 644 /etc/cron.d
|
RUN chmod -R 644 /etc/cron.d
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
# Certificate Authorities
|
||||||
|
###########################################################################
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
COPY ./ca-certificates/* /usr/local/share/ca-certificates/
|
||||||
|
RUN update-ca-certificates
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# Drush:
|
# Drush:
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
@ -334,10 +343,10 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||||
# https://xdebug.org/docs/compat
|
# https://xdebug.org/docs/compat
|
||||||
apt-get install -yqq pkg-config php-xml php${LARADOCK_PHP_VERSION}-xml && \
|
apt-get install -yqq pkg-config php-xml php${LARADOCK_PHP_VERSION}-xml && \
|
||||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] || { [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && { [ $(php -r "echo PHP_MINOR_VERSION;") = "4" ] || [ $(php -r "echo PHP_MINOR_VERSION;") = "3" ] ;} ;}; then \
|
||||||
if [ ${LARADOCK_PHP_VERSION} = "8.2" ]; then \
|
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||||
pecl install xdebug-3.2.0; \
|
pecl install xdebug-3.2.1; \
|
||||||
else \
|
else \
|
||||||
pecl install xdebug-3.1.4; \
|
pecl install xdebug-3.1.6; \
|
||||||
fi; \
|
fi; \
|
||||||
else \
|
else \
|
||||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||||
|
@ -682,7 +691,13 @@ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
|
||||||
ARG INSTALL_IONCUBE=false
|
ARG INSTALL_IONCUBE=false
|
||||||
|
|
||||||
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
|
||||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
|
if [ ${LARADOCK_PHP_VERSION} = "8.1" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.4" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.3" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.2" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.1" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "7.0" ] \
|
||||||
|
|| [ ${LARADOCK_PHP_VERSION} = "5.6" ]; then \
|
||||||
# Install the php ioncube loader
|
# 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 \
|
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 \
|
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
|
||||||
|
@ -1315,6 +1330,7 @@ RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
|
||||||
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
|
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
|
||||||
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
|
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
|
||||||
xfonts-base xfonts-scalable x11-apps \
|
xfonts-base xfonts-scalable x11-apps \
|
||||||
|
fonts-ipafont \
|
||||||
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
|
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
|
||||||
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
|
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
|
||||||
&& apt-get -y -f install \
|
&& apt-get -y -f install \
|
||||||
|
|
Loading…
Reference in New Issue