Skip to content

Commit c375157

Browse files
committed
Release 1.6.50 - See CHANGELOG.md
1 parent cc44494 commit c375157

7 files changed

Lines changed: 50 additions & 42 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## 1.6.50 2022-06-24 <dave at tiredofit dot ca>
2+
3+
### Added
4+
- Bookstack 22.06
5+
- Update to support custom DB Port for database migrations
6+
- Code cleanup
7+
- ENABLE_AUTO_LOGIN environment variable should SAML or OIDC be the only authentication choice available
8+
9+
110
## 1.6.49 2022-06-23 <dave at tiredofit dot ca>
211

312
### Added

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM docker.io/tiredofit/nginx-php-fpm:8.0
22
LABEL maintainer="Dave Conroy (github.com/tiredofit)"
33

44
### Default Runtime Environment Variables
5-
ENV BOOKSTACK_VERSION=v22.04.2 \
5+
ENV BOOKSTACK_VERSION=v22.06 \
66
BOOKSTACK_REPO_URL=https://github.com/BookStackApp/BookStack \
77
PHP_ENABLE_CREATE_SAMPLE_PHP=FALSE \
88
PHP_ENABLE_LDAP=TRUE \

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2021 Dave Conroy
3+
Copyright (c) 2022 Dave Conroy
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

install/assets/defaults/30-bookstack

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ DEFAULT_DARK_MODE=${DEFAULT_DARK_MODE:-"false"}
2121
DISABLE_EXTERNAL_SERVICES=${DISABLE_EXTERNAL_SERVICES:-"false"}
2222
DISCORD_AUTO_CONFIRM_EMAIL=${DISCORD_AUTO_CONFIRM_EMAIL:-"false"}
2323
DISCORD_AUTO_REGISTER=${DISCORD_AUTO_REGISTER:-"false"}
24+
ENABLE_AUTH_LOGIN=${ENABLE_AUTH_LOGIN:-"FALSE"}
2425
ENABLE_AUTO_UPDATE=${ENABLE_AUTO_UPDATE:-"TRUE"}
2526
ENABLE_DRAWIO=${ENABLE_DRAWIO:-"false"}
2627
ENABLE_LDAP_SYNC_USER=${ENABLE_LDAP_SYNC_USER:-"FALSE"}

install/etc/cont-init.d/30-bookstack

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ rm -rf "${NGINX_WEBROOT}"/storage/logs
1616
ln -sf "${LOG_PATH}" "${NGINX_WEBROOT}"/storage/logs
1717

1818
### Check if New Install
19-
if [ ! -f "${NGINX_WEBROOT}/server.php" ]; then
19+
if [ ! -f "${NGINX_WEBROOT}"/server.php ]; then
2020
print_warn "Potential New Installation / Standalone Installation Detected - Copying Bookstack Sourcecode"
2121
cp -R /assets/install/* "${NGINX_WEBROOT}"
2222

@@ -51,19 +51,19 @@ if [ ! -f "${NGINX_WEBROOT}/server.php" ]; then
5151

5252
### Auto Upgrade functionality
5353
if [ ! -f "${NGINX_WEBROOT}/.bookstack-version" ]; then
54-
echo "${BOOKSTACK_VERSION} first installed on $(date)" >>"${NGINX_WEBROOT}"/.bookstack-version
54+
echo "${BOOKSTACK_VERSION} first installed on $(date)" >> "${NGINX_WEBROOT}"/.bookstack-version
5555
fi
5656
chown -R "${NGINX_USER}":"${NGINX_GROUP}" "${NGINX_WEBROOT}"
5757
else
58-
if var_true "$ENABLE_AUTO_UPDATE"; then
59-
if [ "$BOOKSTACK_VERSION" != $(head -n 1 "${NGINX_WEBROOT}"/.bookstack-version | awk '{print $1'}) ]; then
58+
if var_true "${ENABLE_AUTO_UPDATE}"; then
59+
if [ "${BOOKSTACK_VERSION}" != $(head -n 1 "${NGINX_WEBROOT}"/.bookstack-version | awk '{print $1'}) ]; then
6060
print_warn "Detected in place Bookstack version $(head -n 1 "${NGINX_WEBROOT}"/.bookstack-version | awk "{print $1"}) - Upgrading to ${BOOKSTACK_VERSION}"
6161
cp -R /assets/install/* "${NGINX_WEBROOT}"
6262
chown -R "${NGINX_USER}":"${NGINX_GROUP}" "${NGINX_WEBROOT}"
6363
cd "${NGINX_WEBROOT}" || exit
6464
silent sudo -u "${NGINX_USER}" sudo -u "${NGINX_USER}" php artisan migrate --force
6565
sed -i --follow-symlinks "1 i\
66-
${BOOKSTACK_VERSION} upgraded on $(date)" ${NGINX_WEBROOT}/.bookstack-version
66+
${BOOKSTACK_VERSION} upgraded on $(date)" "${NGINX_WEBROOT}"/.bookstack-version
6767
fi
6868
fi
6969
fi
@@ -72,8 +72,8 @@ if [ "$SETUP_TYPE" = "AUTO" ]; then
7272
print_notice "Generating Configuration"
7373

7474
### Authentication
75-
case "$AUTHENTICATION_TYPE" in
76-
"STANDARD" | "standard" )
75+
case "${AUTHENTICATION_TYPE,,}" in
76+
"standard" )
7777
print_debug "Setting Standard/Local Authentication"
7878
authentication=$(
7979
cat <<EOF
@@ -129,7 +129,7 @@ EOF
129129
)
130130
;;
131131

132-
"OIDC" | "oidc" | "OPENIDCONNECT" | "openidconnect")
132+
"oidc" | "openidconnect")
133133
print_debug "Setting OIDC Authentication"
134134
sanity_var OIDC_CLIENT_ID "OIDC Client ID"
135135
sanity_var OIDC_CLIENT_SECRET "OIDC Client Secret"
@@ -167,7 +167,7 @@ EOF
167167
)
168168
fi
169169
;;
170-
"SAML" | "saml" | "SAML2" | "saml2")
170+
"saml" | "saml2")
171171
print_debug "Setting SAML Authentication"
172172
sanity_var SAML_IDP_ENTITY_ID "SAML Entity ID"
173173
authentication=$(
@@ -246,7 +246,7 @@ EOF
246246
fi
247247

248248
### Avatars
249-
if [ -n "$AVATAR_URL" ]; then
249+
if [ -n "${AVATAR_URL}" ]; then
250250
avatar=$(
251251
cat <<EOF
252252
AVATAR_URL=${AVATAR_URL}
@@ -255,7 +255,7 @@ EOF
255255
fi
256256

257257
### Cache And Sessions
258-
if [ "$CACHE_DRIVER" = "MEMCACHED" ] || [ "$CACHE_DRIVER" = "memcached" ] || [ "$SESSION_DRIVER" = "MEMCACHED" ] || [ "$SESSION_DRIVER" = "memcached" ]; then
258+
if [ "${CACHE_DRIVER,,}" = "memcached" ] || [ "${SESSION_DRIVER,,}" = "memcached" ]; then
259259
sanity_var MEMCACHED_HOST "Memcached Hostname"
260260
driver_options=$(
261261
echo "${driver_options}"
@@ -265,7 +265,7 @@ EOF
265265
)
266266
fi
267267

268-
if [ "$CACHE_DRIVER" = "REDIS" ] || [ "$CACHE_DRIVER" = "redis" ] || [ "$SESSION_DRIVER" = "REDIS" ] || [ "$SESSION_DRIVER" = "redis" ]; then
268+
if [ "${CACHE_DRIVER,,}" = "redis" ] || [ "${SESSION_DRIVER,,}" = "redis" ]; then
269269
sanity_var REDIS_HOST "Redis Hostname"
270270
db_ready redis
271271
driver_options=$(
@@ -277,7 +277,7 @@ EOF
277277
fi
278278

279279
### DrawIO
280-
if var_true "$ENABLE_DRAWIO"; then
280+
if var_true "${ENABLE_DRAWIO}"; then
281281
if [ -z "${DRAWIO_HOST}" ]; then
282282
drawio=true
283283
else
@@ -288,7 +288,7 @@ EOF
288288
fi
289289

290290
### External Logins
291-
if var_true "$ENABLE_LOGIN_AZURE"; then
291+
if var_true "${ENABLE_LOGIN_AZURE}"; then
292292
sanity_var AZURE_APP_ID "Azure App ID"
293293
sanity_var AZURE_APP_SECRET "Azure App Secret"
294294
sanity_var AZURE_TENANT "Azure Tenant ID"
@@ -304,7 +304,7 @@ EOF
304304
)
305305
fi
306306

307-
if var_true "$ENABLE_LOGIN_DISCORD"; then
307+
if var_true "${ENABLE_LOGIN_DISCORD}"; then
308308
sanity_var DISCORD_APP_ID "Discord App ID"
309309
sanity_var DISCORD_APP_SECRET "Discord App Secret"
310310
login=$(
@@ -318,7 +318,7 @@ EOF
318318
)
319319
fi
320320

321-
if var_true "$ENABLE_LOGIN_FACEBOOK"; then
321+
if var_true "${ENABLE_LOGIN_FACEBOOK}"; then
322322
sanity_var FACEBOOK_APP_ID "Facebook App ID"
323323
sanity_var FACEBOOK_APP_SECRET "Facebook App Secret"
324324
login=$(
@@ -332,7 +332,7 @@ EOF
332332
)
333333
fi
334334

335-
if var_true "$ENABLE_LOGIN_GITHUB"; then
335+
if var_true "${ENABLE_LOGIN_GITHUB}"; then
336336
sanity_var GITHUB_APP_ID "Github App ID"
337337
sanity_var GITHUB_APP_SECRET "Github App Secret"
338338
login=$(
@@ -346,7 +346,7 @@ EOF
346346
)
347347
fi
348348

349-
if var_true "$ENABLE_LOGIN_GITLAB"; then
349+
if var_true "${ENABLE_LOGIN_GITLAB}"; then
350350
sanity_var GITLAB_APP_ID "Gitlab App ID"
351351
sanity_var GITLAB_APP_SECRET "Gitlab App Secret"
352352
sanity_var GITLAB_BASE_URI "Gitlab Base URI"
@@ -362,7 +362,7 @@ EOF
362362
)
363363
fi
364364

365-
if var_true "$ENABLE_LOGIN_GOOGLE"; then
365+
if var_true "${ENABLE_LOGIN_GOOGLE}"; then
366366
sanity_var GOOGLE_APP_ID "Google App ID"
367367
sanity_var GOOGLE_APP_SECRET "Google App Secret"
368368
sanity_var GOOGLE_SELECT_ACCOUNT "Google Account Selection"
@@ -378,7 +378,7 @@ EOF
378378
)
379379
fi
380380

381-
if var_true "$ENABLE_LOGIN_OKTA"; then
381+
if var_true "${ENABLE_LOGIN_OKTA}"; then
382382
sanity_var OKTA_APP_ID "Okta App ID"
383383
sanity_var OKTA_APP_SECRET "Okta App Secret"
384384
sanity_var OKTA_BASE_URL "Okta Base URL"
@@ -394,7 +394,7 @@ EOF
394394
)
395395
fi
396396

397-
if var_true "$ENABLE_LOGIN_SLACK"; then
397+
if var_true "${ENABLE_LOGIN_SLACK}"; then
398398
sanity_var SLACK_APP_ID "Slack App ID"
399399
sanity_var SLACK_APP_SECRET "Slack App Secret"
400400
login=$(
@@ -408,7 +408,7 @@ EOF
408408
)
409409
fi
410410

411-
if var_true "$ENABLE_LOGIN_TWITCH"; then
411+
if var_true "${ENABLE_LOGIN_TWITCH}"; then
412412
sanity_var TWITCH_APP_ID "Twitch App ID"
413413
sanity_var TWITCH_APP_SECRET "Twitch App Secret"
414414
login=$(
@@ -422,7 +422,7 @@ EOF
422422
)
423423
fi
424424

425-
if var_true "$ENABLE_LOGIN_TWITTER"; then
425+
if var_true "${ENABLE_LOGIN_TWITTER}"; then
426426
sanity_var TWITTER_APP_ID "Twitter App ID"
427427
sanity_var TWITTER_APP_SECRET "Twitter App Secret"
428428
login=$(
@@ -437,8 +437,8 @@ EOF
437437
fi
438438

439439
### Mail Setup
440-
case "$MAIL_TYPE" in
441-
"CONTAINER" | "container" | "php" | "PHP" | "sendmail" | "SENDMAIL")
440+
case "${MAIL_TYPE,,}" in
441+
"container" | "php" | "sendmail" )
442442
mail=$(
443443
cat <<EOF
444444
MAIL_DRIVER=sendmail
@@ -447,7 +447,7 @@ MAIL_FROM_NAME=${MAIL_FROM_NAME}
447447
EOF
448448
)
449449
;;
450-
"SMTP" | "smtp")
450+
"smtp")
451451
sanity_var SMTP_HOST "SMTP Host"
452452
mail=$(
453453
cat <<EOF
@@ -496,8 +496,8 @@ EOF
496496
esac
497497

498498
### Storage Setup
499-
case "$STORAGE_TYPE" in
500-
"s3" | "S3" | "MINIO" | "minio")
499+
case "${STORAGE_TYPE,,}" in
500+
"s3" | "minio" )
501501
sanity_var STORAGE_S3_KEY "S3 Key"
502502
sanity_var STORAGE_S3_SECRET "S3 Secret"
503503
sanity_var STORAGE_S3_KEY "S3 Key"
@@ -534,11 +534,11 @@ EOF
534534
esac
535535

536536
### PDF Export Options
537-
case "$PDF_EXPORT" in
538-
"internal" | "INTERNAL" | "dompdf" | "DOMPDF" )
537+
case "${PDF_EXPORT,,}" in
538+
"internal" | "dompdf" )
539539
pdf_export=""
540540
;;
541-
"external" | "EXTERNAL" | "wkhtmltopdf" | "WKHTMLTOPDF" )
541+
"external" | "wkhtmltopdf" )
542542
pdf_export=$(
543543
cat <<EOF
544544
WKHTMLTOPDF=/usr/bin/wkhtmltopdf
@@ -555,7 +555,7 @@ EOF
555555
fi
556556

557557
### Write the Configuration File
558-
cat >"${NGINX_WEBROOT}/.env" <<EOF
558+
cat >"${NGINX_WEBROOT}"/.env <<EOF
559559
## Custom Generated Bookstack Configuration! Do not edit, instead set ENV Vars
560560
## If you want to use your own configuration files set SETUP_TYPE=MANUAL when starting container
561561
## Last Generated on $(date)
@@ -596,6 +596,7 @@ API_DEFAULT_ITEM_COUNT=${API_DEFAULT_ITEM_COUNT}
596596
API_MAX_ITEM_COUNT=${API_DEFAULT_MAX_ITEM_COUNT}
597597
API_REQUESTS_PER_MIN=${API_REQUESTS_PER_MIN}
598598
ALLOWED_IFRAME_SOURCES="${ALLOWED_IFRAME_SOURCES}"
599+
AUTH_AUTO_INITIATE=${ENABLE_AUTO_LOGIN,,}
599600
${storage}
600601
${authentication}
601602
${sso}
@@ -620,7 +621,7 @@ silent sudo -u "${NGINX_USER}" php artisan view:clear
620621

621622
### Check to see if DB is populated
622623
db_ready mariadb
623-
mysql -u "$DB_USER" -p"$DB_PASS" -h"$DB_HOST" -e "use ""$DB_NAME""; SELECT * FROM users;" >/dev/null 2>&1
624+
mysql -u "$DB_USER" -p"$DB_PASS" -P"${DB_PORT}" -h"$DB_HOST" -e "use ""$DB_NAME""; SELECT * FROM users;" >/dev/null 2>&1
624625
if [ $? -gt 0 ]; then
625626
### Perform Database Installation Routines
626627
print_warn "Detected empty Database - Setting up - Please wait.."
@@ -631,7 +632,7 @@ if [ $? -gt 0 ]; then
631632

632633
### Create Admin User
633634
print_notice "Creating Administrative User"
634-
mysql -u "$DB_USER" -p"$DB_PASS" -h"$DB_HOST" -e "use ""$DB_NAME""; DELETE FROM users where id=1;"
635+
mysql -u "$DB_USER" -p"$DB_PASS" -h"$DB_HOST" -P"${DB_PORT}" -e "use ""$DB_NAME""; DELETE FROM users where id=1;"
635636
silent /usr/bin/expect <<EOD
636637
spawn sudo -u "${NGINX_USER}" php ${NGINX_WEBROOT}/artisan bookstack:create-admin --no-ansi
637638
set timeout 30

install/etc/services.available/30-bookstack-ldap/run

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ check_service_initialized init 30-bookstack
99
liftoff
1010

1111
### Perform LDAP Sync to populate user table
12-
if [ "$AUTHENTICATION_TYPE" = "LDAP" ] && var_true "${ENABLE_LDAP_SYNC_USER}" ; then
13-
date >/dev/null
12+
if [ "${AUTHENTICATION_TYPE,,}" = "ldap" ] && var_true "${ENABLE_LDAP_SYNC_USER}" ; then
1413
print_debug "LDAP Sync routines Initialized on $(date)"
1514

1615
### Wait for Next time to start Syncing
@@ -44,12 +43,11 @@ if [ "$AUTHENTICATION_TYPE" = "LDAP" ] && var_true "${ENABLE_LDAP_SYNC_USER}" ;
4443
/assets/custom-scripts/ldapsync.sh
4544
else
4645
print_notice "Synchronizing LDAP at $(date)"
47-
cd ${NGINX_WEBROOT}
48-
silent sudo -u ${NGINX_USER} php artisan bookstack:syncldap
46+
cd "${NGINX_WEBROOT}"
47+
silent sudo -u "${NGINX_USER}" php artisan bookstack:syncldap
4948
print_notice "Completed synchronizing LDAP at $(date)"
5049
fi
5150

52-
5351
### Go back to Sleep until next Backup time
5452
sleep $(($LDAP_SYNC_INTERVAL*60))
5553
done

install/etc/services.available/31-bookstack-optimize-images/run

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ liftoff
1010

1111
### Perform Image Optimization on uploaded assets
1212
if var_true "${ENABLE_OPTIMIZE_IMAGES}" ] ; then
13-
date >/dev/null
1413
print_debug "Image Optimization routines initialized on $(date)"
1514

1615
### Wait for Next time to start image optimization

0 commit comments

Comments
 (0)