diff --git a/bin/convertdomain b/bin/convertdomain index 527f6ba..391780b 100755 --- a/bin/convertdomain +++ b/bin/convertdomain @@ -887,6 +887,41 @@ convert_jitsiopenid() { echo -ne "done." } +convert_discourse() { + #### Convert Discourse + echo -ne "\n* Converting discourse.." + + DISCOURSE_CLIENT_SECRET=$(cat /federated/apps/discourse/.discourse.client.secret) + + convert_generic discourse + + docker exec postgresql psql -U discourse -c "UPDATE instances SET domain='$DOMAIN_NEW' WHERE domain='$DOMAIN'" + docker exec postgresql psql -U plane -c "UPDATE users SET email=REPLACE(email, '@$DOMAIN', '@$DOMAIN_NEW') WHERE email LIKE '%@$DOMAIN'" + docker exec postgresql psql -U discourse -c "UPDATE profiles SET company_name='$DOMAIN_NEW' WHERE company_name='$DOMAIN'" + + docker exec postgresql psql -U discourse -c "update users set username='admin@$DOMAIN_NEW' where username='admin@$DOMAIN';" &> /dev/null + docker exec postgresql psql -U discourse -c "update users set username_lower='admin@$DOMAIN_NEW' where username_lower='admin@$DOMAIN';" &> /dev/null + docker exec postgresql psql -U discourse -c "update site_settings set value='discourse@$DOMAIN_NEW' where name='notification_email';" &> /dev/null + docker exec postgresql psql -U discourse -c "update site_settings set value='https://authelia.$DOMAIN_NEW/.well-known/openid-configuration' where name='openid_connect_discovery_document';" &> /dev/null + docker exec postgresql psql -U discourse -c "update site_settings set value='https://authelia.$DOMAIN_NEW/.well-known/openid-configuration' where name='openid_connect_client_secret';" &> /dev/null + + docker exec postgresql psql -U discourse -c "insert into site_settings (id, name, data_type, value, created_at, updated_at) VALUES ('31', 'openid_connect_enabled', '5', 't', NOW(), NOW());" + docker exec postgresql psql -U discourse -c "insert into site_settings (id, name, data_type, value, created_at, updated_at) VALUES ('32', 'openid_connect_discovery_document', '1', 'https://authelia.$DOMAIN/.well +-known/openid-configuration', NOW(), NOW());" + docker exec postgresql psql -U discourse -c "insert into site_settings (id, name, data_type, value, created_at, updated_at) VALUES ('33', 'openid_connect_client_id', '1', 'discourse', NOW(), NOW());" + docker exec postgresql psql -U discourse -c "insert into site_settings (id, name, data_type, value, created_at, updated_at) VALUES ('34', 'openid_connect_authorize_scope', '1', 'openid email profile', NOW(), NOW +());" + docker exec postgresql psql -U discourse -c "insert into site_settings (id, name, data_type, value, created_at, updated_at) VALUES ('36', 'openid_connect_client_secret', '1', '$DISCOURSE_CLIENT_SECRET', NOW(), NOW +());" + + # Grab the container IP from docker-compose + SERVICE_IP=`grep ipv4_address /federated/apps/discourse/docker-compose.yml | awk '{ print $2 }'` + + # Start service with command to make sure it's up before proceeding + run_command "/federated/bin/start discourse" + + echo -ne "done." +} usage() { echo "$0: "