mirror of
https://github.com/YunoHost-Apps/synapse_ynh.git
synced 2024-09-03 20:26:38 +02:00
Merge branch 'testing'
This commit is contained in:
commit
19dbf1a3ec
11 changed files with 130 additions and 106 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
[](https://dash.yunohost.org/appci/app/synapse)
|
[](https://dash.yunohost.org/appci/app/synapse)  
|
||||||
[](https://install-app.yunohost.org/?app=synapse)
|
[](https://install-app.yunohost.org/?app=synapse)
|
||||||
|
|
||||||
> *This package allows you to install Synapse quickly and simply on a YunoHost server.
|
> *This package allows you to install Synapse quickly and simply on a YunoHost server.
|
||||||
|
@ -14,7 +14,7 @@ Instant messaging server matrix network.
|
||||||
|
|
||||||
Yunohost chatroom with matrix : [https://riot.im/app/#/room/#yunohost:matrix.org](https://riot.im/app/#/room/#yunohost:matrix.org)
|
Yunohost chatroom with matrix : [https://riot.im/app/#/room/#yunohost:matrix.org](https://riot.im/app/#/room/#yunohost:matrix.org)
|
||||||
|
|
||||||
**Shipped version:** 1.15.2
|
**Shipped version:** 1.18.0
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -104,9 +104,8 @@ Supported with LDAP.
|
||||||
### Supported architectures
|
### Supported architectures
|
||||||
|
|
||||||
|
|
||||||
* x86-64b - [](https://ci-apps.yunohost.org/ci/apps/synapse/)
|
* x86-64 - [](https://ci-apps.yunohost.org/ci/apps/synapse/)
|
||||||
* ARMv8-A - [](https://ci-apps-arm.yunohost.org/ci/apps/synapse/)
|
* ARMv8-A - [](https://ci-apps-arm.yunohost.org/ci/apps/synapse/)
|
||||||
* Jessie x86-64b - [](https://ci-stretch.nohost.me/ci/apps/synapse/)
|
|
||||||
|
|
||||||
## Limitations
|
## Limitations
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
setup_private=0
|
setup_private=0
|
||||||
setup_public=1
|
setup_public=1
|
||||||
upgrade=1
|
upgrade=1
|
||||||
upgrade=1 from_commit=db374d2bff981d2660ebdac52ee77c684383c00d
|
upgrade=1 from_commit=fcbe10716aa2f9edbfc681093ca0d1f70903774b
|
||||||
upgrade=1 from_commit=0571cc85334408a98f6766881b580a040fa6398a
|
upgrade=1 from_commit=5006cf1536f33d065aade2caa9b88120e0d1a381
|
||||||
backup_restore=1
|
backup_restore=1
|
||||||
multi_instance=1
|
multi_instance=1
|
||||||
incorrect_path=0
|
incorrect_path=0
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
;;; Levels
|
;;; Levels
|
||||||
Level 5=auto
|
Level 5=auto
|
||||||
;;; Upgrade options
|
;;; Upgrade options
|
||||||
; commit=db374d2bff981d2660ebdac52ee77c684383c00d
|
; commit=fcbe10716aa2f9edbfc681093ca0d1f70903774b
|
||||||
name=Fix postgresql helper from old_version_for_CI_2 branch
|
name=Fix postgresql helper from old_version_for_CI_2 branch
|
||||||
; commit=0571cc85334408a98f6766881b580a040fa6398a
|
; commit=5006cf1536f33d065aade2caa9b88120e0d1a381
|
||||||
name=Migrate from self signed certificate to cert managed by Yunohost from old_version_for_CI_3 branch
|
name=Migrate from self signed certificate to cert managed by Yunohost from old_version_for_CI_3 branch
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://github.com/YunoHost-Apps/synapse_python_build/releases/download/v1.15.2/matrix-synapse_1.15.2-buster-bin1_armv7l.tar.gz
|
SOURCE_URL=https://github.com/YunoHost-Apps/synapse_python_build/releases/download/v1.18.0/matrix-synapse_1.18.0-buster-bin1_armv7l.tar.gz
|
||||||
SOURCE_SUM=7589b3fbd63a838c300ee74027df0108e26b9a0cb0d42a7f839f2d9e363a9570
|
SOURCE_SUM=bb86f8d87de8e76630eda501f1d7cf3294466d930a19c498268feab88d102dc8
|
||||||
# (Optional) Program to check the integrity (sha256sum, md5sum...)
|
# (Optional) Program to check the integrity (sha256sum, md5sum...)
|
||||||
# default: sha256
|
# default: sha256
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://github.com/YunoHost-Apps/synapse_python_build/releases/download/v1.15.2/matrix-synapse_1.15.2-stretch-bin1_armv7l.tar.gz
|
SOURCE_URL=https://github.com/YunoHost-Apps/synapse_python_build/releases/download/v1.18.0/matrix-synapse_1.18.0-stretch-bin1_armv7l.tar.gz
|
||||||
SOURCE_SUM=7ef30123e6f61bed08c600a68e1c97dbb14247c3ebb4ca069523218177901a26
|
SOURCE_SUM=56a0e20bb0ca7f834ca1b5e570d8d75a4102f455251e8c8d2010e5b39f2a4d59
|
||||||
# (Optional) Program to check the integrity (sha256sum, md5sum...)
|
# (Optional) Program to check the integrity (sha256sum, md5sum...)
|
||||||
# default: sha256
|
# default: sha256
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
|
|
|
@ -1017,8 +1017,8 @@ report_stats: __REPORT_STATS__
|
||||||
# A list of application service config files to use
|
# A list of application service config files to use
|
||||||
#
|
#
|
||||||
#app_service_config_files:
|
#app_service_config_files:
|
||||||
# - app_service_1.yaml
|
#
|
||||||
# - app_service_2.yaml
|
## Managed by a specific config file in /etc/matrix-synapse/conf.d/app_service.yaml
|
||||||
|
|
||||||
# Uncomment to enable tracking of application service IP addresses. Implicitly
|
# Uncomment to enable tracking of application service IP addresses. Implicitly
|
||||||
# enables MAU tracking for application service users.
|
# enables MAU tracking for application service users.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"en": "Instant messaging server which uses Matrix",
|
"en": "Instant messaging server which uses Matrix",
|
||||||
"fr": "Un serveur de messagerie instantané basé sur Matrix"
|
"fr": "Un serveur de messagerie instantané basé sur Matrix"
|
||||||
},
|
},
|
||||||
"version": "1.15.2~ynh1",
|
"version": "1.18.0~ynh1",
|
||||||
"url": "http://matrix.org",
|
"url": "http://matrix.org",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"maintainer": {
|
"maintainer": {
|
||||||
|
|
|
@ -1 +1,50 @@
|
||||||
dependances="coturn build-essential python3-dev libffi-dev python3-pip python3-setuptools sqlite3 libssl-dev python3-venv libxml2-dev libxslt1-dev python3-lxml libjpeg-dev libpq-dev postgresql acl"
|
dependances="coturn build-essential python3-dev libffi-dev python3-pip python3-setuptools sqlite3 libssl-dev python3-venv libxml2-dev libxslt1-dev python3-lxml libjpeg-dev libpq-dev postgresql acl"
|
||||||
|
python_version="$(python3 -V | cut -d' ' -f2 | cut -d. -f1-2)"
|
||||||
|
|
||||||
|
install_sources() {
|
||||||
|
# Install/upgrade synapse in virtualenv
|
||||||
|
|
||||||
|
# Clean venv is it was on python2.7 or python3 with old version in case major upgrade of debian
|
||||||
|
if [ ! -e $final_path/bin/python3 ] || [ ! -e $final_path/lib/python$python_version ]; then
|
||||||
|
ynh_secure_remove --file=$final_path
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $final_path
|
||||||
|
|
||||||
|
if [ -n "$(uname -m | grep arm)" ]
|
||||||
|
then
|
||||||
|
# Clean old file, sometimes it could make some big issues if we don't do this!!
|
||||||
|
ynh_secure_remove --file=$final_path/bin
|
||||||
|
ynh_secure_remove --file=$final_path/lib
|
||||||
|
ynh_secure_remove --file=$final_path/include
|
||||||
|
ynh_secure_remove --file=$final_path/share
|
||||||
|
|
||||||
|
ynh_setup_source --dest_dir=$final_path/ --source_id="armv7_$(lsb_release --codename --short)"
|
||||||
|
|
||||||
|
# Fix multi-instance support
|
||||||
|
for f in $(ls $final_path/bin); do
|
||||||
|
if ! [[ $f =~ "__" ]]; then
|
||||||
|
ynh_replace_special_string --match_string='#!/opt/yunohost/matrix-synapse' --replace_string='#!'$final_path --target_file=$final_path/bin/$f
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
# Install virtualenv if it don't exist
|
||||||
|
test -e $final_path/bin/python3 || python3 -m venv $final_path
|
||||||
|
|
||||||
|
# Install synapse in virtualenv
|
||||||
|
ynh_replace_string --match_string=__FINAL_PATH__ --replace_string=$final_path --target_file=$final_path/bin/activate
|
||||||
|
|
||||||
|
# We set all necessary environement variable to create a python virtualenvironnement.
|
||||||
|
set +u;
|
||||||
|
source $final_path/bin/activate
|
||||||
|
set -u;
|
||||||
|
pip3 install --upgrade setuptools wheel
|
||||||
|
pip3 install --upgrade cffi ndg-httpsclient psycopg2 lxml jinja2
|
||||||
|
pip3 install --upgrade 'Twisted>=20.3.0' matrix-synapse==$upstream_version matrix-synapse-ldap3
|
||||||
|
|
||||||
|
# This function was defined when we called "source $final_path/bin/activate". With this function we undo what "$final_path/bin/activate" does
|
||||||
|
set +u;
|
||||||
|
deactivate
|
||||||
|
set -u;
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
|
@ -175,40 +175,9 @@ ynh_script_progression --message="Setting up source files..." --weight=50
|
||||||
mkdir -p /var/lib/matrix-$app
|
mkdir -p /var/lib/matrix-$app
|
||||||
mkdir -p /var/log/matrix-$app
|
mkdir -p /var/log/matrix-$app
|
||||||
mkdir -p /etc/matrix-$app/conf.d
|
mkdir -p /etc/matrix-$app/conf.d
|
||||||
mkdir -p $final_path
|
|
||||||
|
|
||||||
# Install synapse in virtualenv
|
# Install synapse in virtualenv
|
||||||
|
install_sources
|
||||||
# WARNING : theses command are used in INSTALL, UPGRADE (2 times)
|
|
||||||
# For any update do it in all files
|
|
||||||
if [ -n "$(uname -m | grep arm)" ]
|
|
||||||
then
|
|
||||||
ynh_setup_source --dest_dir=$final_path/ --source_id="armv7_$(lsb_release --codename --short)"
|
|
||||||
|
|
||||||
# Fix multi-instance support
|
|
||||||
for f in $(ls $final_path/bin); do
|
|
||||||
if ! [[ $f =~ "__" ]]; then
|
|
||||||
ynh_replace_special_string --match_string='#!/opt/yunohost/matrix-synapse' --replace_string='#!'$final_path --target_file=$final_path/bin/$f
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
# Install virtualenv if it don't exist
|
|
||||||
test -e $final_path/bin/python3 || python3 -m venv $final_path
|
|
||||||
|
|
||||||
# Install synapse in virtualenv
|
|
||||||
cp ../conf/virtualenv_activate $final_path/bin/activate
|
|
||||||
ynh_replace_string --match_string=__FINAL_PATH__ --replace_string=$final_path --target_file=$final_path/bin/activate
|
|
||||||
|
|
||||||
# We set all necessary environement variable to create a python virtualenvironnement.
|
|
||||||
source $final_path/bin/activate
|
|
||||||
pip3 install --upgrade pip
|
|
||||||
pip3 install --upgrade setuptools wheel
|
|
||||||
pip3 install --upgrade cffi ndg-httpsclient psycopg2 lxml jinja2
|
|
||||||
pip3 install --upgrade matrix-synapse==$upstream_version matrix-synapse-ldap3
|
|
||||||
|
|
||||||
# This function was defined when we called "source $final_path/bin/activate". With this function we undo what "$final_path/bin/activate" does
|
|
||||||
deactivate
|
|
||||||
fi
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE SMALL CAS SERVER
|
# CREATE SMALL CAS SERVER
|
||||||
|
@ -228,14 +197,17 @@ chown $synapse_user:root -R $final_www_path
|
||||||
ynh_script_progression --message="Creating synapse config..." --weight=3
|
ynh_script_progression --message="Creating synapse config..." --weight=3
|
||||||
|
|
||||||
# Go in virtualenvironnement
|
# Go in virtualenvironnement
|
||||||
PS1=${PS1:-}
|
set +u;
|
||||||
source $final_path/bin/activate
|
source $final_path/bin/activate
|
||||||
|
set -u;
|
||||||
|
|
||||||
# Generate config
|
# Generate config
|
||||||
python -m synapse.app.homeserver --keys-directory /etc/matrix-$app/ --generate-config --generate-keys --server-name $server_name --report-stats=no -c homeserver.yml
|
python -m synapse.app.homeserver --keys-directory /etc/matrix-$app/ --generate-config --generate-keys --server-name $server_name --report-stats=no -c homeserver.yml
|
||||||
|
|
||||||
# This function was defined when we called "source $final_path/bin/activate". With this function we undo what "$final_path/bin/activate" does
|
# This function was defined when we called "source $final_path/bin/activate". With this function we undo what "$final_path/bin/activate" does
|
||||||
|
set +u;
|
||||||
deactivate
|
deactivate
|
||||||
|
set -u;
|
||||||
|
|
||||||
# Get random values from config
|
# Get random values from config
|
||||||
ynh_print_OFF
|
ynh_print_OFF
|
||||||
|
@ -381,14 +353,16 @@ ynh_script_progression --message="Configuring log rotation..." --weight=2
|
||||||
ynh_use_logrotate --logfile "/var/log/matrix-$app"
|
ynh_use_logrotate --logfile "/var/log/matrix-$app"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# ADD SCRIPT FOR COTURN CRON
|
# ADD SCRIPT FOR COTURN CRON AND APP SERVICE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# WARNING : theses command are used in INSTALL, UPGRADE
|
# WARNING : theses command are used in INSTALL, UPGRADE
|
||||||
# For any update do it in all files
|
# For any update do it in all files
|
||||||
|
|
||||||
cp ../sources/Coturn_config_rotate.sh $final_path/
|
cp ../sources/Coturn_config_rotate.sh $final_path/
|
||||||
|
cp ../sources/update_synapse_for_appservice.sh $final_path/
|
||||||
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh"
|
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh"
|
||||||
|
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/update_synapse_for_appservice.sh"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
|
@ -419,6 +393,7 @@ ynh_replace_string __DOMAIN__ $domain ../hooks/post_cert_update
|
||||||
# For any update do it in all files
|
# For any update do it in all files
|
||||||
chown $synapse_user:root -R $final_path
|
chown $synapse_user:root -R $final_path
|
||||||
chmod 770 $final_path/Coturn_config_rotate.sh
|
chmod 770 $final_path/Coturn_config_rotate.sh
|
||||||
|
chmod 700 $final_path/update_synapse_for_appservice.sh
|
||||||
chown $synapse_user:root -R /var/lib/matrix-$app
|
chown $synapse_user:root -R /var/lib/matrix-$app
|
||||||
chown $synapse_user:root -R /var/log/matrix-$app
|
chown $synapse_user:root -R /var/log/matrix-$app
|
||||||
chown $synapse_user:root -R /etc/matrix-$app
|
chown $synapse_user:root -R /etc/matrix-$app
|
||||||
|
@ -431,8 +406,8 @@ setfacl -R -m user:turnserver:rwX /var/log/matrix-$app
|
||||||
# ADVERTISE SERVICE IN ADMIN PANEL
|
# ADVERTISE SERVICE IN ADMIN PANEL
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
yunohost service add matrix-$app --log "/var/log/matrix-$app/homeserver.log"
|
yunohost service add matrix-$app --log "/var/log/matrix-$app/homeserver.log" --needs_exposed_ports $synapse_tls_port
|
||||||
yunohost service add coturn-$app
|
yunohost service add coturn-$app --needs_exposed_ports $turnserver_tls_port $turnserver_alt_tls_port
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RELOAD SERVICES
|
# RELOAD SERVICES
|
||||||
|
|
|
@ -62,6 +62,15 @@ test ! -d $final_path \
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STANDARD RESTORATION STEPS
|
# STANDARD RESTORATION STEPS
|
||||||
|
#=================================================
|
||||||
|
# REINSTALL DEPENDENCIES
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Reinstalling dependencies..." --weight=70
|
||||||
|
|
||||||
|
# WARNING : theses command are used in INSTALL, UPGRADE, RESTORE
|
||||||
|
# For any update do it in all files
|
||||||
|
ynh_install_app_dependencies $dependances
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTORE ALL CONFIG AND DATA
|
# RESTORE ALL CONFIG AND DATA
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -69,6 +78,11 @@ test ! -d $final_path \
|
||||||
ynh_script_progression --message="Restoring directory and configuration..." --weight=10
|
ynh_script_progression --message="Restoring directory and configuration..." --weight=10
|
||||||
ynh_restore
|
ynh_restore
|
||||||
|
|
||||||
|
# Check that the good python version is installed
|
||||||
|
# If not upgrade the source
|
||||||
|
ynh_script_progression --message="Check for source up to date..." --weight=5
|
||||||
|
install_sources
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTORE FAIL2BAN CONFIGURATION
|
# RESTORE FAIL2BAN CONFIGURATION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -78,15 +92,6 @@ ynh_systemd_action --action=restart --service_name=fail2ban
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC RESTORATION
|
# SPECIFIC RESTORATION
|
||||||
#=================================================
|
|
||||||
# REINSTALL DEPENDENCIES
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Reinstalling dependencies..." --weight=70
|
|
||||||
|
|
||||||
# WARNING : theses command are used in INSTALL, UPGRADE, RESTORE
|
|
||||||
# For any update do it in all files
|
|
||||||
ynh_install_app_dependencies $dependances
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RECREATE THE DEDICATED USER
|
# RECREATE THE DEDICATED USER
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -128,8 +133,8 @@ systemctl enable coturn-$app.service
|
||||||
# ADVERTISE SERVICE IN ADMIN PANEL
|
# ADVERTISE SERVICE IN ADMIN PANEL
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
yunohost service add matrix-$app -l "/var/log/matrix-$app/homeserver.log"
|
yunohost service add matrix-$app --log "/var/log/matrix-$app/homeserver.log" --needs_exposed_ports $synapse_tls_port
|
||||||
yunohost service add coturn-$app
|
yunohost service add coturn-$app --needs_exposed_ports $turnserver_tls_port $turnserver_alt_tls_port
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE A DH FILE
|
# CREATE A DH FILE
|
||||||
|
@ -230,6 +235,7 @@ ynh_use_logrotate --logfile /var/log/matrix-$app
|
||||||
# For any update do it in all files
|
# For any update do it in all files
|
||||||
chown $synapse_user:root -R $final_path
|
chown $synapse_user:root -R $final_path
|
||||||
chmod 770 $final_path/Coturn_config_rotate.sh
|
chmod 770 $final_path/Coturn_config_rotate.sh
|
||||||
|
chmod 700 $final_path/update_synapse_for_appservice.sh
|
||||||
chown $synapse_user:root -R /var/lib/matrix-$app
|
chown $synapse_user:root -R /var/lib/matrix-$app
|
||||||
chown $synapse_user:root -R /var/log/matrix-$app
|
chown $synapse_user:root -R /var/log/matrix-$app
|
||||||
chown $synapse_user:root -R /etc/matrix-$app
|
chown $synapse_user:root -R /etc/matrix-$app
|
||||||
|
|
|
@ -140,51 +140,10 @@ ynh_install_app_dependencies $dependances
|
||||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
if [ "$upgrade_type" == "UPGRADE_APP" ] || [ ! -e $final_path/bin/python3 ] || [ ! -e $final_path/lib/python$python_version ]
|
||||||
then
|
then
|
||||||
ynh_script_progression --message="Upgrading source files..." --weight=6
|
ynh_script_progression --message="Upgrading source files..." --weight=6
|
||||||
|
install_sources
|
||||||
# Install/upgrade synapse in virtualenv
|
|
||||||
|
|
||||||
# Clean venv is it was on python2.7
|
|
||||||
test -e $final_path/bin/python3 || ynh_secure_remove --file=$final_path
|
|
||||||
|
|
||||||
# WARNING : these commands are used in INSTALL, UPGRADE
|
|
||||||
# For any update do it in all files
|
|
||||||
|
|
||||||
if [ -n "$(uname -m | grep arm)" ]
|
|
||||||
then
|
|
||||||
# Clean old file, sometimes it could make some big issues if we don't do this!!
|
|
||||||
ynh_secure_remove --file=$final_path/bin
|
|
||||||
ynh_secure_remove --file=$final_path/lib
|
|
||||||
ynh_secure_remove --file=$final_path/include
|
|
||||||
ynh_secure_remove --file=$final_path/share
|
|
||||||
|
|
||||||
ynh_setup_source --dest_dir=$final_path/ --source_id="armv7_$(lsb_release --codename --short)"
|
|
||||||
|
|
||||||
# Fix multi-instance support
|
|
||||||
for f in $(ls $final_path/bin); do
|
|
||||||
if ! [[ $f =~ "__" ]]; then
|
|
||||||
ynh_replace_special_string --match_string='#!/opt/yunohost/matrix-synapse' --replace_string='#!'$final_path --target_file=$final_path/bin/$f
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
# Install virtualenv if it don't exist
|
|
||||||
test -e $final_path/bin/python3 || python3 -m venv $final_path
|
|
||||||
|
|
||||||
# Install synapse in virtualenv
|
|
||||||
cp ../conf/virtualenv_activate $final_path/bin/activate
|
|
||||||
ynh_replace_string --match_string=__FINAL_PATH__ --replace_string=$final_path --target_file=$final_path/bin/activate
|
|
||||||
|
|
||||||
# We set all necessary environement variable to create a python virtualenvironnement.
|
|
||||||
source $final_path/bin/activate
|
|
||||||
pip3 install --upgrade setuptools wheel
|
|
||||||
pip3 install --upgrade cffi ndg-httpsclient psycopg2 lxml jinja2
|
|
||||||
pip3 install --upgrade 'Twisted>=20.3.0' matrix-synapse==$upstream_version matrix-synapse-ldap3
|
|
||||||
|
|
||||||
# This function was defined when we called "source $final_path/bin/activate". With this function we undo what "$final_path/bin/activate" does
|
|
||||||
deactivate
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -415,14 +374,23 @@ fi
|
||||||
ynh_store_file_checksum --file="$coturn_config_path"
|
ynh_store_file_checksum --file="$coturn_config_path"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# ADD SCRIPT FOR COTURN CRON
|
# ADD SCRIPT FOR COTURN CRON AND APP SERVICE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# WARNING : theses command are used in INSTALL, UPGRADE
|
# WARNING : theses command are used in INSTALL, UPGRADE
|
||||||
# For any update do it in all files
|
# For any update do it in all files
|
||||||
|
|
||||||
cp ../sources/Coturn_config_rotate.sh $final_path/
|
cp ../sources/Coturn_config_rotate.sh $final_path/
|
||||||
|
cp ../sources/update_synapse_for_appservice.sh $final_path/
|
||||||
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh"
|
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh"
|
||||||
|
ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/update_synapse_for_appservice.sh"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# ADVERTISE SERVICE IN ADMIN PANEL
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
yunohost service add matrix-$app --log "/var/log/matrix-$app/homeserver.log" --needs_exposed_ports $synapse_tls_port
|
||||||
|
yunohost service add coturn-$app --needs_exposed_ports $turnserver_tls_port $turnserver_alt_tls_port
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# UPDATE SYSTEMD
|
# UPDATE SYSTEMD
|
||||||
|
@ -466,6 +434,7 @@ ynh_permission_url --permission main --url $domain/_matrix/cas_server.php/login
|
||||||
# For any update do it in all files
|
# For any update do it in all files
|
||||||
chown $synapse_user:root -R $final_path
|
chown $synapse_user:root -R $final_path
|
||||||
chmod 770 $final_path/Coturn_config_rotate.sh
|
chmod 770 $final_path/Coturn_config_rotate.sh
|
||||||
|
chmod 700 $final_path/update_synapse_for_appservice.sh
|
||||||
chown $synapse_user:root -R /var/lib/matrix-$app
|
chown $synapse_user:root -R /var/lib/matrix-$app
|
||||||
chown $synapse_user:root -R /var/log/matrix-$app
|
chown $synapse_user:root -R /var/log/matrix-$app
|
||||||
chown $synapse_user:root -R /etc/matrix-$app
|
chown $synapse_user:root -R /etc/matrix-$app
|
||||||
|
|
26
sources/update_synapse_for_appservice.sh
Normal file
26
sources/update_synapse_for_appservice.sh
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
app=__APP__
|
||||||
|
service_config_file=/etc/matrix-$app/conf.d/app_service.yaml
|
||||||
|
|
||||||
|
# Backup the previous config file
|
||||||
|
cp $service_config_file /tmp/app_service_backup.yaml
|
||||||
|
|
||||||
|
echo "app_service_config_files:" > $service_config_file
|
||||||
|
for f in $(ls /etc/matrix-$app/app-service/); do
|
||||||
|
echo " - /etc/matrix-$app/app-service/$f" >> $service_config_file
|
||||||
|
done
|
||||||
|
|
||||||
|
# Set permissions
|
||||||
|
chown matrix-$app $service_config_file
|
||||||
|
chmod 600 $service_config_file
|
||||||
|
|
||||||
|
systemctl restart matrix-$app
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
rm /tmp/app_service_backup.yaml
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "Failed to restart synapse with the new config file. Restore the old config file !!"
|
||||||
|
cp /tmp/app_service_backup.yaml $service_config_file
|
||||||
|
fi
|
Loading…
Add table
Reference in a new issue