Added in plus config for bookstack
This commit is contained in:
parent
6d9c7968e5
commit
079e905432
@ -3,6 +3,7 @@
|
|||||||
# Bookstack Service
|
# Bookstack Service
|
||||||
|
|
||||||
PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
. /etc/federated
|
||||||
get_appvars
|
get_appvars
|
||||||
|
|
||||||
config_bookstack() {
|
config_bookstack() {
|
||||||
@ -22,8 +23,6 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
core:
|
core:
|
||||||
ipv4_address: 192.168.0.36
|
ipv4_address: 192.168.0.36
|
||||||
extra_hosts:
|
|
||||||
- "authelia.$DOMAIN:$EXTERNALIP"
|
|
||||||
env_file:
|
env_file:
|
||||||
- ./.env
|
- ./.env
|
||||||
volumes:
|
volumes:
|
||||||
@ -41,6 +40,7 @@ EOF
|
|||||||
|
|
||||||
BOOKSTACK_ADMINPASSWORD=`htpasswd -bnBC 10 "" $ADMINPASS | tr -d ':\n' | sed 's/$2y/$2b/'`
|
BOOKSTACK_ADMINPASSWORD=`htpasswd -bnBC 10 "" $ADMINPASS | tr -d ':\n' | sed 's/$2y/$2b/'`
|
||||||
BOOKSTACK_SECRET=$(create_password);
|
BOOKSTACK_SECRET=$(create_password);
|
||||||
|
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/bookstack/docker-compose.yml
|
||||||
|
|
||||||
cat > /federated/apps/bookstack/.env <<EOF
|
cat > /federated/apps/bookstack/.env <<EOF
|
||||||
IMAGE_VERSION="24.05.3"
|
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 with command to make sure it's up before proceeding
|
||||||
start_service "bookstack" "nc -z 192.168.0.36 80 &> /dev/null" "7"
|
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
|
if [[ "${PLUS}" != "true" ]]; then
|
||||||
[ $? -ne 0 ] && fail "Couldn't add dns record for bookstack"
|
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
|
docker exec pdns pdnsutil add-record $DOMAIN documentation A 86400 $EXTERNALIP &> /dev/null
|
||||||
[ $? -ne 0 ] && fail "Couldn't add dns record for bookstack"
|
fi
|
||||||
|
|
||||||
docker exec pdnsmysql mysql -ubookstack -p$BOOKSTACK_SECRET bookstack -e "delete from users where email = 'admin@admin.com';" &> /dev/null
|
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
|
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
|
docker image rm lscr.io/linuxserver/bookstack:$IMAGE_VERSION &> /dev/null
|
||||||
|
|
||||||
# Delete the DNS record
|
# 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)
|
# 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
|
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
|
EOF
|
||||||
|
|
||||||
# Add in extra hosts config
|
# 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
|
# 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 }')
|
BOOKSTACK_SECRET=$(cat /federated/apps/bookstack/.env | grep "DB_PASS" | awk -F= '{ print $2 }')
|
||||||
@ -260,3 +260,30 @@ EOF
|
|||||||
|
|
||||||
echo -ne "done.\n"
|
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