Merge pull request #4 from laradock/master

fork sync
This commit is contained in:
Dawid Makowski 2023-06-19 08:32:28 +00:00 committed by GitHub
commit cbbf7fbf53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 145 additions and 14 deletions

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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; \

View File

@ -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 \

View 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

View File

@ -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 \

View File