A couple of essential changes for nextcloud and bookstack upgrade to work

This commit is contained in:
David Sainty 2025-01-16 01:35:16 +11:00
parent 90d7d1dc30
commit 8b0aa98709

View File

@ -72,6 +72,11 @@ do_serviceprep_ldap() {
sed -i "s#dc=federatedcomputer,dc=cloud#$DOMAIN_NEW_LDAP_dc#g" /federated/apps/ldap/data/root/convertdomain1.ldif sed -i "s#dc=federatedcomputer,dc=cloud#$DOMAIN_NEW_LDAP_dc#g" /federated/apps/ldap/data/root/convertdomain1.ldif
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/ldap/data/root/convertdomain1.ldif sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/ldap/data/root/convertdomain1.ldif
} }
do_serviceprep_nextcloud() {
# Disable Nextcloud LDAP
docker exec -u 33 nextcloud /var/www/html/occ -vv ldap:delete-config s01
docker exec -u 33 nextcloud /var/www/html/occ app:disable user_ldap
}
convert_generic() { convert_generic() {
#### Conversions that must be done for almost everything #### Conversions that must be done for almost everything
# FIXME check if Jitsi really needs upper-case DC. If we can use lower case dc like everywhere else, # FIXME check if Jitsi really needs upper-case DC. If we can use lower case dc like everywhere else,
@ -112,7 +117,6 @@ convert_pdnsmysql() {
echo -ne "done." echo -ne "done."
} }
convert_pdns() { convert_pdns() {
#### Convert PowerDNS pdns #### Convert PowerDNS pdns
echo -ne "\n* Converting pdns.." echo -ne "\n* Converting pdns.."
@ -279,10 +283,6 @@ convert_nextcloud() {
#### Convert Nextcloud #### Convert Nextcloud
echo -ne "\n* Converting nextcloud.." echo -ne "\n* Converting nextcloud.."
# Disable Nextcloud LDAP
docker exec -u 33 nextcloud /var/www/html/occ -vv ldap:delete-config s01
docker exec -u 33 nextcloud /var/www/html/occ app:disable user_ldap
convert_generic nextcloud convert_generic nextcloud
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/nextcloud/data/var/www/html/config/config.php sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/nextcloud/data/var/www/html/config/config.php
@ -439,7 +439,8 @@ EOF
[ $? -ne 0 ] && fail "Couldn't chown config.sh in /federated/apps/nextcloud container" [ $? -ne 0 ] && fail "Couldn't chown config.sh in /federated/apps/nextcloud container"
# Run config.sh - Setup LDAP, configuration for nextcloud # Run config.sh - Setup LDAP, configuration for nextcloud
docker exec -u 33 nextcloud /var/www/html/config.sh &> /dev/null # DEBUG docker exec -u 33 nextcloud /var/www/html/config.sh &> /dev/null
docker exec -u 33 nextcloud /var/www/html/config.sh
[ $? -ne 0 ] && fail "Couldn't run config.sh inside /federated/apps/nextcloud container" [ $? -ne 0 ] && fail "Couldn't run config.sh inside /federated/apps/nextcloud container"
# Add admin user to group # Add admin user to group
@ -454,7 +455,7 @@ EOF
docker exec -u 33 nextcloud bash -c "/var/www/html/occ mail:account:create admin admin admin@$DOMAIN_NEW mail.$DOMAIN_NEW 993 ssl admin@$DOMAIN_NEW $ADMINPASS mail.$DOMAIN_NEW 465 ssl admin@$DOMAIN_NEW $ADMINPASS password" docker exec -u 33 nextcloud bash -c "/var/www/html/occ mail:account:create admin admin admin@$DOMAIN_NEW mail.$DOMAIN_NEW 993 ssl admin@$DOMAIN_NEW $ADMINPASS mail.$DOMAIN_NEW 465 ssl admin@$DOMAIN_NEW $ADMINPASS password"
# Remove configs # Remove configs
rm /federated/apps/nextcloud/data/var/www/html/config.sh /federated/apps/nextcloud/data/var/www/html/configs.json # DEBUG rm /federated/apps/nextcloud/data/var/www/html/config.sh /federated/apps/nextcloud/data/var/www/html/configs.json
# Configure SSO to Authelia # Configure SSO to Authelia
NEXTCLOUD_CLIENT_SECRET=$(cat /federated/apps/nextcloud/.nextcloud.client.secret) NEXTCLOUD_CLIENT_SECRET=$(cat /federated/apps/nextcloud/.nextcloud.client.secret)
@ -859,7 +860,7 @@ convert_bookstack() {
LOWER_DOMAIN="$(echo $DOMAIN |tr 'A-Z' 'a-z')" LOWER_DOMAIN="$(echo $DOMAIN |tr 'A-Z' 'a-z')"
LOWER_DOMAIN_NEW="$(echo $DOMAIN_NEW |tr 'A-Z' 'a-z')" LOWER_DOMAIN_NEW="$(echo $DOMAIN_NEW |tr 'A-Z' 'a-z')"
docker exec pdnsmysql mysql -ubookstack -p${BOOKSTACK_SECRET} bookstack -sN -e "UPDATE users SET email=REPLACE(email, '@$LOWER_DOMAIN', '@$LOWER_DOMAIN_NEW') WHERE email LIKE '%@$LOWER_DOMAIN';"; docker exec pdnsmysql mysql -ubookstack -p${BOOKSTACK_SECRET} bookstack -sN -e "UPDATE users SET email=REPLACE(email, '@$LOWER_DOMAIN', '@$LOWER_DOMAIN_NEW') WHERE email LIKE '%@$LOWER_DOMAIN';";
docker exec pdnsmysql mysql -ubookstack -p${BOOKSTACK_SECRET} bookstack -sN -e "UPDATE users SET external_auth_id=REPLACE(external_auth_id, '@$LOWER_DOMAIN', '@$LOWER_DOMAIN_NEW) WHERE external_auth_id LIKE '%@$LOWER_DOMAIN';"; docker exec pdnsmysql mysql -ubookstack -p${BOOKSTACK_SECRET} bookstack -sN -e "UPDATE users SET external_auth_id=REPLACE(external_auth_id, '@$LOWER_DOMAIN', '@$LOWER_DOMAIN_NEW') WHERE external_auth_id LIKE '%@$LOWER_DOMAIN';";
# Grab the container IP from docker-compose # Grab the container IP from docker-compose
SERVICE_IP=`grep ipv4_address /federated/apps/bookstack/docker-compose.yml | awk '{ print $2 }'` SERVICE_IP=`grep ipv4_address /federated/apps/bookstack/docker-compose.yml | awk '{ print $2 }'`
@ -1052,6 +1053,7 @@ check_gluerecords
#get_installedapps #get_installedapps
do_serviceprep_dns do_serviceprep_dns
do_serviceprep_ldap do_serviceprep_ldap
do_serviceprep_nextcloud
# Stop all services # Stop all services
/federated/bin/stop all &> /dev/null /federated/bin/stop all &> /dev/null