#!/bin/bash # Source YunoHost helpers source /usr/share/yunohost/helpers # Stop script if errors ynh_abort_if_errors # Import common cmd source ../settings/scripts/_common.sh source ../settings/scripts/psql.sh # Retrieve arguments domain=$(ynh_app_setting_get $app special_domain) path=$(ynh_app_setting_get $app special_path) final_path=$(ynh_app_setting_get $app final_path) synapse_db_pwd=$(ynh_app_setting_get $app synapse_db_pwd) is_public=$(ynh_app_setting_get $app is_public) synapse_port=$(ynh_app_setting_get $app synapse_port) synapse_tls_port=$(ynh_app_setting_get $app synapse_tls_port) turnserver_tls_port=$(ynh_app_setting_get $app turnserver_tls_port) turnserver_pwd=$(ynh_app_setting_get $app turnserver_pwd) # Check domain/path availability ynh_webpath_available $domain $path || ynh_die "$domain/$path is not available, please use an other domain." # Make dh cert for synapse if it not exist test ! -e /etc/yunohost/certs/$domain/dh.pem && openssl dhparam -out /etc/yunohost/certs/$domain/dh.pem 2048 > /dev/null # Ouvre le port dans le firewall yunohost firewall allow --no-upnp TCP $synapse_tls_port > /dev/null 2>&1 yunohost firewall allow --no-upnp Both $turnserver_tls_port > /dev/null 2>&1 # Install all dependances install_dependances # Create user ynh_system_user_create $synapse_user /var/lib/matrix-synapse # Create directory Install synapse in virtualenv install_from_source # Restore all config and data ynh_restore # Configure access for certificates set_certificat_access # Restore postgresql database ynh_psql_create_user $synapse_db_user $synapse_db_pwd ynh_psql_execute_as_root \ "CREATE DATABASE $synapse_db_name ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER $synapse_db_user;" su -c "psql $synapse_db_name" postgres < ${YNH_CWD}/dump.sql # Enable systemd service systemctl daemon-reload systemctl enable matrix-synapse.service # register yunohost service yunohost service add matrix-synapse # Reload webserver systemctl reload nginx.service systemctl restart matrix-synapse.service systemctl restart coturn.service