Added in plus config for bookstack
This commit is contained in:
parent
6d9c7968e5
commit
079e905432
@ -3,6 +3,7 @@
|
||||
# Bookstack Service
|
||||
|
||||
PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
. /etc/federated
|
||||
get_appvars
|
||||
|
||||
config_bookstack() {
|
||||
@ -22,8 +23,6 @@ services:
|
||||
networks:
|
||||
core:
|
||||
ipv4_address: 192.168.0.36
|
||||
extra_hosts:
|
||||
- "authelia.$DOMAIN:$EXTERNALIP"
|
||||
env_file:
|
||||
- ./.env
|
||||
volumes:
|
||||
@ -41,6 +40,7 @@ EOF
|
||||
|
||||
BOOKSTACK_ADMINPASSWORD=`htpasswd -bnBC 10 "" $ADMINPASS | tr -d ':\n' | sed 's/$2y/$2b/'`
|
||||
BOOKSTACK_SECRET=$(create_password);
|
||||
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/bookstack/docker-compose.yml
|
||||
|
||||
cat > /federated/apps/bookstack/.env <<EOF
|
||||
IMAGE_VERSION="24.05.3"
|
||||
@ -77,10 +77,10 @@ start_bookstack() {
|
||||
# Start service with command to make sure it's up before proceeding
|
||||
start_service "bookstack" "nc -z 192.168.0.36 80 &> /dev/null" "7"
|
||||
|
||||
docker exec pdns pdnsutil add-record $DOMAIN bookstack A 86400 $EXTERNALIP &> /dev/null
|
||||
[ $? -ne 0 ] && fail "Couldn't add dns record for bookstack"
|
||||
docker exec pdns pdnsutil add-record $DOMAIN documentation A 86400 $EXTERNALIP &> /dev/null
|
||||
[ $? -ne 0 ] && fail "Couldn't add dns record for bookstack"
|
||||
if [[ "${PLUS}" != "true" ]]; then
|
||||
docker exec pdns pdnsutil add-record $DOMAIN bookstack A 86400 $EXTERNALIP &> /dev/null
|
||||
docker exec pdns pdnsutil add-record $DOMAIN documentation A 86400 $EXTERNALIP &> /dev/null
|
||||
fi
|
||||
|
||||
docker exec pdnsmysql mysql -ubookstack -p$BOOKSTACK_SECRET bookstack -e "delete from users where email = 'admin@admin.com';" &> /dev/null
|
||||
docker exec bookstack php /app/www/artisan bookstack:create-admin --email="admin@$DOMAIN" --name="Admin" --password="$ADMINPASS" &> /dev/null
|
||||
@ -188,7 +188,7 @@ uninstall_bookstack() {
|
||||
docker image rm lscr.io/linuxserver/bookstack:$IMAGE_VERSION &> /dev/null
|
||||
|
||||
# Delete the DNS record
|
||||
docker exec pdns pdnsutil delete-rrset $DOMAIN bookstack A
|
||||
[[ "${PLUS}" != "true" ]] && docker exec pdns pdnsutil delete-rrset $DOMAIN bookstack A &> /dev/null
|
||||
|
||||
# Uninstall the SSO configuration if it exists in authelia (authelia must exist too)
|
||||
if [[ $(grep "### Bookstack" /federated/apps/authelia/data/config/idproviders.yml 2>/dev/null) ]]; then
|
||||
@ -247,7 +247,7 @@ OIDC_END_SESSION_ENDPOINT=https://authelia.$DOMAIN/logout?rd=https://dashboard.$
|
||||
EOF
|
||||
|
||||
# Add in extra hosts config
|
||||
add_authelia_config_to_dockercompose "bookstack" "$EXTERNALIP"
|
||||
add_authelia_config_to_dockercompose "bookstack"
|
||||
|
||||
# Setup external_auth_id for each user in bookstack users table
|
||||
BOOKSTACK_SECRET=$(cat /federated/apps/bookstack/.env | grep "DB_PASS" | awk -F= '{ print $2 }')
|
||||
@ -260,3 +260,30 @@ EOF
|
||||
|
||||
echo -ne "done.\n"
|
||||
}
|
||||
configsso_bookstack_plus() {
|
||||
GITEA_CLIENT_SECRET=$(cat /federated/apps/bookstack/.bookstack.client.secret)
|
||||
|
||||
cat >> /federated/apps/bookstack/.env <<EOF
|
||||
AUTH_METHOD=oidc
|
||||
AUTH_AUTO_INITIATE=false
|
||||
OIDC_NAME=Authelia
|
||||
OIDC_DISPLAY_NAME_CLAIMS=name
|
||||
OIDC_CLIENT_ID=bookstack
|
||||
OIDC_CLIENT_SECRET=$BOOKSTACK_CLIENT_SECRET
|
||||
OIDC_ISSUER=https://authelia.$DOMAIN
|
||||
OIDC_ISSUER_DISCOVER=true
|
||||
OIDC_EXTERNAL_ID_CLAIM=email
|
||||
OIDC_END_SESSION_ENDPOINT=https://authelia.$DOMAIN/logout?rd=https://dashboard.$DOMAIN
|
||||
#APP_DEBUG=true
|
||||
#OIDC_DUMP_USER_DETAILS=true
|
||||
EOF
|
||||
|
||||
# Setup external_auth_id for each user in bookstack users table
|
||||
BOOKSTACK_SECRET=$(cat /federated/apps/bookstack/.env | grep "DB_PASS" | awk -F= '{ print $2 }')
|
||||
for i in $(docker exec pdnsmysql mysql -ubookstack -p${BOOKSTACK_SECRET} bookstack -sN -e "select email from users;"); do
|
||||
docker exec pdnsmysql mysql -ubookstack -p${BOOKSTACK_SECRET} bookstack -e "update users set external_auth_id = '$i' where email = '$i'";
|
||||
done
|
||||
|
||||
run_command "/federated/bin/stop bookstack"
|
||||
run_command "/federated/bin/start bookstack"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user