commit
cbbf7fbf53
16
.env.example
16
.env.example
@ -173,7 +173,7 @@ WORKSPACE_INSTALL_SWOOLE=false
|
||||
WORKSPACE_INSTALL_TAINT=false
|
||||
WORKSPACE_INSTALL_LIBPNG=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_PING=false
|
||||
WORKSPACE_INSTALL_SSHPASS=false
|
||||
@ -261,7 +261,7 @@ PHP_FPM_INSTALL_POSTGIS=false
|
||||
PHP_FPM_INSTALL_PCNTL=false
|
||||
PHP_FPM_INSTALL_CALENDAR=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_GETTEXT=false
|
||||
PHP_FPM_INSTALL_XMLRPC=false
|
||||
@ -1067,3 +1067,15 @@ SOKETI_METRICS_SERVER_PORT=9601
|
||||
### ONEDEV ##################################################
|
||||
ONEDEV_HTTP_PORT=6610
|
||||
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).
|
||||
|
||||
|
||||
<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>
|
||||
<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.*
|
||||
|
||||
|
||||
<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>
|
||||
<a name="upgrade-laradock"></a>
|
||||
|
@ -599,7 +599,7 @@ services:
|
||||
- no_proxy
|
||||
- MARIADB_VERSION=${MARIADB_VERSION}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/mariadb:/var/lib/mariadb
|
||||
- ${DATA_PATH_HOST}/mariadb:/var/lib/mysql
|
||||
- ${MARIADB_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- "${MARIADB_PORT}:3306"
|
||||
@ -631,6 +631,10 @@ services:
|
||||
- GITLAB_POSTGRES_USER=${GITLAB_POSTGRES_USER}
|
||||
- GITLAB_POSTGRES_PASSWORD=${GITLAB_POSTGRES_PASSWORD}
|
||||
- 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_USER=${JUPYTERHUB_POSTGRES_USER}
|
||||
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
|
||||
@ -2100,3 +2104,24 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
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 \
|
||||
libgsasl-dev \
|
||||
oniguruma-dev \
|
||||
libressl \
|
||||
libressl-dev \
|
||||
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; \
|
||||
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
|
||||
# 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 [ ${LARADOCK_PHP_VERSION} = "8.2" ]; then \
|
||||
pecl install xdebug-3.2.0; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.2.1; \
|
||||
else \
|
||||
pecl install xdebug-3.1.4; \
|
||||
pecl install xdebug-3.1.6; \
|
||||
fi; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
@ -655,7 +655,13 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
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
|
||||
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 \
|
||||
|
44
postgres/docker-entrypoint-initdb.d/init_keycloak_db.sh
Executable file
44
postgres/docker-entrypoint-initdb.d/init_keycloak_db.sh
Executable file
@ -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
|
||||
|
||||
###########################################################################
|
||||
# Certificate Authorities
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
COPY ./ca-certificates/* /usr/local/share/ca-certificates/
|
||||
RUN update-ca-certificates
|
||||
|
||||
###########################################################################
|
||||
# Drush:
|
||||
###########################################################################
|
||||
@ -334,10 +343,10 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# https://xdebug.org/docs/compat
|
||||
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 [ ${LARADOCK_PHP_VERSION} = "8.2" ]; then \
|
||||
pecl install xdebug-3.2.0; \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.2.1; \
|
||||
else \
|
||||
pecl install xdebug-3.1.4; \
|
||||
pecl install xdebug-3.1.6; \
|
||||
fi; \
|
||||
else \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
@ -682,7 +691,13 @@ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
|
||||
ARG INSTALL_IONCUBE=false
|
||||
|
||||
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
|
||||
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 \
|
||||
@ -1315,6 +1330,7 @@ RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
|
||||
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
|
||||
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
|
||||
xfonts-base xfonts-scalable x11-apps \
|
||||
fonts-ipafont \
|
||||
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
|
||||
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
|
||||
&& apt-get -y -f install \
|
||||
|
0
workspace/ca-certificates/.gitkeep
Normal file
0
workspace/ca-certificates/.gitkeep
Normal file
Loading…
Reference in New Issue
Block a user