Fixed matrix to create from scratch in convertdomain
This commit is contained in:
parent
6d2870dfb0
commit
851d746732
@ -489,24 +489,88 @@ convert_matrix() {
|
||||
#### Convert Matrix
|
||||
echo -ne "\n* Converting matrix.."
|
||||
|
||||
# Delete matrix database so we can start from scratch
|
||||
MATRIX_SECRET=$(create_password);
|
||||
docker exec -it postgresql psql -U postgres -c "drop database matrix" &> /dev/null
|
||||
docker exec -it postgresql psql -U postgres -c "drop user matrix" &> /dev/null
|
||||
docker exec -it postgresql psql -U postgres -c "CREATE USER matrix WITH PASSWORD '$MATRIX_SECRET'"
|
||||
docker exec -it postgresql psql -U postgres -c "CREATE DATABASE matrix"
|
||||
docker exec -it postgresql psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE matrix TO matrix"
|
||||
|
||||
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/matrix/docker-compose.yml
|
||||
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/matrix/.env
|
||||
|
||||
rm -rf /federated/apps/matrix/data
|
||||
mkdir -p /federated/apps/matrix/data/matrix
|
||||
cp /federated/certs/certs/$DOMAIN_NEW.crt /federated/certs/private/$DOMAIN_NEW.key /federated/apps/matrix/data/matrix/
|
||||
chmod 644 /federated/apps/matrix/data/matrix/$DOMAIN_NEW.crt /federated/apps/matrix/data/matrix/$DOMAIN_NEW.key
|
||||
|
||||
# Generate the matrix homeserver.yaml file
|
||||
docker run --rm -v "/federated/apps/matrix/data/matrix:/data" -e SYNAPSE_SERVER_NAME=matrix.$DOMAIN_NEW -e SYNAPSE_REPORT_STATS=yes matrixdotorg/synapse:latest generate &> /dev/null
|
||||
[ $? -ne 0 ] && fail "Couldn't run docker matrixdotorg/synapse:latest generate"
|
||||
|
||||
# Take out default Sqlite database config
|
||||
sed -i 's!database: /data/homeserver.db!!g' /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i 's!database:!!g' /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i 's!name: sqlite3!!g' /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i 's!args:!!g' /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
|
||||
# Insert our Postgres and LDAP config
|
||||
cat >> /federated/apps/matrix/data/matrix/homeserver.yaml <<EOF
|
||||
serve_server_wellknown: true
|
||||
database:
|
||||
name: psycopg2
|
||||
args:
|
||||
user: matrix
|
||||
password: $MATRIX_SECRET
|
||||
host: postgresql.$DOMAIN_NEW
|
||||
database: matrix
|
||||
cp_min: 5
|
||||
cp_max: 10
|
||||
email:
|
||||
smtp_host: "mail.$DOMAIN_NEW"
|
||||
smtp_port: 587
|
||||
smtp_user: "admin"
|
||||
smtp_pass: "$ADMINPASS"
|
||||
force_tls: true
|
||||
# require_transport_security: true
|
||||
enable_tls: true
|
||||
notif_from: "Your Friendly %(app)s homeserver <matrix@matrix.$DOMAIN_NEW>"
|
||||
app_name: $ORG_NEW Matrix Server
|
||||
|
||||
modules:
|
||||
- module: "ldap_auth_provider.LdapAuthProviderModule"
|
||||
config:
|
||||
enabled: true
|
||||
uri: "ldaps://ldap.$DOMAIN_NEW:636"
|
||||
start_tls: true
|
||||
base: "dc=federatedcomputer,dc=cloud"
|
||||
attributes:
|
||||
mail: "mail"
|
||||
uid: "uid"
|
||||
name: "givenName"
|
||||
bind_dn: cn=admin,dc=federatedcomputer,dc=cloud
|
||||
bind_password: $LDAP_SECRET
|
||||
tls_options:
|
||||
validate: true
|
||||
local_certificate_file: /data/$DOMAIN_NEW.crt
|
||||
local_private_key_file: /data/$DOMAIN_NEW.key
|
||||
EOF
|
||||
|
||||
if [ "${#DOMAIN_ARRAY[@]}" -eq "3" ]; then
|
||||
sed -i "s#dc=federatedcomputer,dc=cloud#dc=$DOMAIN_FIRST,dc=$DOMAIN_MIDDLE,dc=$DOMAIN_LAST#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
else
|
||||
sed -i "s#dc=federatedcomputer,dc=cloud#dc=$DOMAIN_FIRST,dc=$DOMAIN_LAST#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
fi
|
||||
sed -i "s#server_name: \"matrix.$DOMAIN\"#server_name: \"matrix.$DOMAIN_NEW\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i "s#smtp_host: \"mail.$DOMAIN\"#smtp_host: \"mail.$DOMAIN_NEW\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i "s#notif_from:.*#notif_from: \"Your Friendly %(app)s homeserver <matrix@matrix.$DOMAIN_NEW>\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i "s#app_name:.*#app_name: $ORG_NEW Matrix Server#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i "s#postgresql.$DOMAIN#postgresql.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i "s#ldap.$DOMAIN#ldap.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i "s#$DOMAIN.crt#$DOMAIN_NEW.crt#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
sed -i "s#$DOMAIN.key#$DOMAIN_NEW.key#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
|
||||
cp /federated/certs/certs/$DOMAIN_NEW.crt /federated/certs/private/$DOMAIN_NEW.key /federated/apps/matrix/data/matrix/
|
||||
chmod 644 /federated/apps/matrix/data/matrix/$DOMAIN_NEW.crt /federated/apps/matrix/data/matrix/$DOMAIN_NEW.key
|
||||
# sed -i "s#server_name: \"matrix.$DOMAIN\"#server_name: \"matrix.$DOMAIN_NEW\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
# sed -i "s#smtp_host: \"mail.$DOMAIN\"#smtp_host: \"mail.$DOMAIN_NEW\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
# sed -i "s#notif_from:.*#notif_from: \"Your Friendly %(app)s homeserver <matrix@matrix.$DOMAIN_NEW>\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
# sed -i "s#app_name:.*#app_name: $ORG_NEW Matrix Server#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
# sed -i "s#postgresql.$DOMAIN#postgresql.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
# sed -i "s#ldap.$DOMAIN#ldap.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
# sed -i "s#$DOMAIN.crt#$DOMAIN_NEW.crt#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
# sed -i "s#$DOMAIN.key#$DOMAIN_NEW.key#g" /federated/apps/matrix/data/matrix/homeserver.yaml
|
||||
|
||||
# Grab the container IP from docker-compose
|
||||
SERVICE_IP=`grep ipv4_address /federated/apps/matrix/docker-compose.yml | awk '{ print $2 }'`
|
||||
|
Loading…
x
Reference in New Issue
Block a user