Skip to content

Commit 7da6f70

Browse files
– Adds the ability to set the databank port via DB_PORT
– Exposes all BookStack env variables to docker – Adds LDAP to PHP
1 parent 91f3b9f commit 7da6f70

File tree

2 files changed

+39
-17
lines changed

2 files changed

+39
-17
lines changed

Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ FROM php:7.0-apache
33
ENV BOOKSTACK=BookStack \
44
BOOKSTACK_VERSION=0.12.1
55

6-
RUN apt-get update && apt-get install -y git zlib1g-dev libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev wget \
6+
RUN apt-get update && apt-get install -y git zlib1g-dev libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev wget libldap2-dev \
77
&& docker-php-ext-install pdo pdo_mysql mbstring zip \
8+
&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
9+
&& docker-php-ext-install ldap \
810
&& docker-php-ext-configure gd --with-freetype-dir=usr/include/ --with-jpeg-dir=/usr/include/ \
911
&& docker-php-ext-install gd \
1012
&& cd /var/www && curl -sS https://getcomposer.org/installer | php \

docker-entrypoint.sh

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ if [ ! -f '/var/www/BookStack/.env' ]; then
88
cat > /var/www/BookStack/.env <<EOF
99
# Environment
1010
APP_ENV=production
11-
APP_DEBUG=false
12-
APP_KEY=SomeRandomString
11+
APP_DEBUG=${APP_DEBUG:-false}
12+
APP_KEY=${APP_KEY:-SomeRandomString}
1313
1414
# Database details
1515
DB_HOST=${DB_HOST:-localhost}
16+
DB_PORT=${DB_PORT:-3306}
1617
DB_DATABASE=${DB_DATABASE:-bookstack}
1718
DB_USERNAME=${DB_USERNAME:-bookstack}
1819
DB_PASSWORD=${DB_PASSWORD:-password}
@@ -32,24 +33,43 @@ if [ ! -f '/var/www/BookStack/.env' ]; then
3233
MEMCACHED_SERVERS=127.0.0.1:11211:100
3334
3435
# Storage
35-
STORAGE_TYPE=local
36+
STORAGE_TYPE=${STORAGE_TYPE:-local}
3637
# Amazon S3 Config
37-
STORAGE_S3_KEY=false
38-
STORAGE_S3_SECRET=false
39-
STORAGE_S3_REGION=false
40-
STORAGE_S3_BUCKET=false
38+
STORAGE_S3_KEY=${STORAGE_S3_KEY:-false}
39+
STORAGE_S3_SECRET=${STORAGE_S3_SECRET:-false}
40+
STORAGE_S3_REGION=${STORAGE_S3_REGION:-false}
41+
STORAGE_S3_BUCKET=${STORAGE_S3_BUCKET:-false}
4142
# Storage URL
4243
# Used to prefix image urls for when using custom domains/cdns
43-
STORAGE_URL=false
44+
STORAGE_URL=${STORAGE_URL:-false}
4445
4546
# General auth
46-
AUTH_METHOD=standard
47+
AUTH_METHOD=${AUTH_METHOD:-standard}
4748
4849
# Social Authentication information. Defaults as off.
49-
GITHUB_APP_ID=false
50-
GITHUB_APP_SECRET=false
51-
GOOGLE_APP_ID=false
52-
GOOGLE_APP_SECRET=false
50+
GITHUB_APP_ID=${GITHUB_APP_ID:-false}
51+
GITHUB_APP_SECRET=${GITHUB_APP_SECRET:-false}
52+
GOOGLE_APP_ID=${GOOGLE_APP_ID:-false}
53+
GOOGLE_APP_SECRET=${GOOGLE_APP_SECRET:-false}
54+
55+
# External services such as Gravatar
56+
DISABLE_EXTERNAL_SERVICES=${DISABLE_EXTERNAL_SERVICES:-false}
57+
58+
# LDAP Settings
59+
LDAP_SERVER=${LDAP_SERVER:-false}
60+
LDAP_BASE_DN=${LDAP_BASE_DN:-false}
61+
LDAP_DN=${LDAP_DN:-false}
62+
LDAP_PASS=${LDAP_PASS:-false}
63+
LDAP_USER_FILTER=${LDAP_USER_FILTER:-false}
64+
LDAP_VERSION=${LDAP_VERSION:-false}
65+
66+
# Mail settings
67+
MAIL_DRIVER=${MAIL_DRIVER:-smtp}
68+
MAIL_HOST=${MAIL_HOST:-localhost}
69+
MAIL_PORT=${MAIL_PORT:-1025}
70+
MAIL_USERNAME=${MAIL_USERNAME:-null}
71+
MAIL_PASSWORD=${MAIL_PASSWORD:-null}
72+
MAIL_ENCRYPTION=${MAIL_ENCRYPTION:-null}
5373
# URL used for social login redirects, NO TRAILING SLASH
5474
EOF
5575
else
@@ -59,10 +79,10 @@ EOF
5979
fi
6080
fi
6181

62-
echoerr wait-for-db: waiting for ${DB_HOST}:3306
82+
echoerr wait-for-db: waiting for ${DB_HOST}:${DB_PORT}
6383

6484
timeout 15 bash <<EOT
65-
while ! (echo > /dev/tcp/${DB_HOST}/3306) >/dev/null 2>&1;
85+
while ! (echo > /dev/tcp/${DB_HOST}/${DB_PORT}) >/dev/null 2>&1;
6686
do sleep 1;
6787
done;
6888
EOT
@@ -73,7 +93,7 @@ if [ $RESULT -eq 0 ]; then
7393
sleep 1
7494
echoerr wait-for-db: done
7595
else
76-
echoerr wait-for-db: timeout out after 15 seconds waiting for ${DB_HOST}:3306
96+
echoerr wait-for-db: timeout out after 15 seconds waiting for ${DB_HOST}:${DB_PORT}
7797
fi
7898

7999
cd /var/www/BookStack/ && php artisan key:generate && php artisan migrate --force

0 commit comments

Comments
 (0)