2017-02-13 20:43:41 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Source YunoHost helpers
|
|
|
|
source /usr/share/yunohost/helpers
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Stop script if errors
|
|
|
|
ynh_abort_if_errors
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Import common cmd
|
|
|
|
source ../settings/scripts/psql.sh
|
2018-01-25 19:33:20 +01:00
|
|
|
source ../settings/scripts/experimental_helper.sh
|
|
|
|
source ../settings/scripts/_common.sh
|
2017-02-13 20:43:41 +01:00
|
|
|
|
|
|
|
# Retrieve arguments
|
2017-07-21 22:28:49 +02:00
|
|
|
domain=$(ynh_app_setting_get $app special_domain)
|
2018-01-19 22:05:39 +01:00
|
|
|
path_url=$(ynh_app_setting_get $app special_path)
|
2017-07-21 22:28:49 +02:00
|
|
|
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)
|
2018-01-19 22:05:39 +01:00
|
|
|
port=$(ynh_app_setting_get $app synapse_port)
|
2017-02-13 20:43:41 +01:00
|
|
|
synapse_tls_port=$(ynh_app_setting_get $app synapse_tls_port)
|
|
|
|
turnserver_tls_port=$(ynh_app_setting_get $app turnserver_tls_port)
|
2018-01-19 22:05:39 +01:00
|
|
|
turnserver_alt_tls_port=$(ynh_app_setting_get $app turnserver_alt_tls_port)
|
2017-07-21 22:28:49 +02:00
|
|
|
turnserver_pwd=$(ynh_app_setting_get $app turnserver_pwd)
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Check domain/path availability
|
2018-01-19 22:05:39 +01:00
|
|
|
ynh_webpath_available $domain $path_url || ynh_die "$domain/$path_url is not available, please use an other domain."
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# 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
|
2018-01-19 22:05:39 +01:00
|
|
|
yunohost firewall allow --no-upnp Both $turnserver_alt_tls_port > /dev/null 2>&1
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Install all dependances
|
|
|
|
install_dependances
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Create user
|
2018-01-19 22:05:39 +01:00
|
|
|
ynh_system_user_create $synapse_user /var/lib/matrix-$app
|
2017-12-30 15:59:05 +01:00
|
|
|
adduser $synapse_user ssl-cert
|
|
|
|
adduser turnserver ssl-cert
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Restore all config and data
|
|
|
|
ynh_restore
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2017-10-21 01:31:04 +02:00
|
|
|
# Open access to server without a button the home
|
|
|
|
python $final_path/add_sso_conf.py
|
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# Restore postgresql database
|
2017-11-11 13:17:49 +01:00
|
|
|
ynh_psql_test_if_first_run
|
2017-07-21 22:28:49 +02:00
|
|
|
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
|
2018-01-19 22:05:39 +01:00
|
|
|
systemctl enable matrix-$app.service
|
2017-07-21 22:28:49 +02:00
|
|
|
|
2017-12-08 21:57:33 +01:00
|
|
|
# Configuration de logrotate
|
2018-01-19 22:05:39 +01:00
|
|
|
ynh_use_logrotate /var/log/matrix-$app
|
2017-12-08 21:57:33 +01:00
|
|
|
|
2018-01-13 01:07:17 +01:00
|
|
|
# Set the permission
|
|
|
|
set_permission
|
|
|
|
|
2017-07-21 22:28:49 +02:00
|
|
|
# register yunohost service
|
2018-01-19 22:05:39 +01:00
|
|
|
yunohost service add matrix-$app
|
2017-02-13 20:43:41 +01:00
|
|
|
|
2018-01-19 22:05:39 +01:00
|
|
|
# Restart service
|
2017-07-21 22:28:49 +02:00
|
|
|
systemctl reload nginx.service
|
2018-01-19 22:05:39 +01:00
|
|
|
systemctl restart coturn-$app.service
|
2018-01-25 19:33:20 +01:00
|
|
|
ynh_check_starting "Synapse now listening on port 8448" "/var/log/matrix-$app/homeserver.log" 300 "matrix-$app"
|