mirror of
https://github.com/YunoHost-Apps/synapse_ynh.git
synced 2024-09-03 20:26:38 +02:00
Merge pull request #119 from gnouts/choose-server-name
choose server_name at installation
This commit is contained in:
commit
1b58814e18
7 changed files with 35 additions and 9 deletions
|
@ -41,11 +41,11 @@ If your server name is identical to the domain on which synapse is installed, an
|
|||
If not, you may need to put the following line in the dns configuration:
|
||||
|
||||
```
|
||||
_matrix._tcp.<yourdomain.com> <ttl> IN SRV 10 0 <port> <server.name>
|
||||
_matrix._tcp.<server_name.tld> <ttl> IN SRV 10 0 <port> <domain-or-subdomain-of-synapse.tld>
|
||||
```
|
||||
for example
|
||||
```
|
||||
_matrix._tcp.example.com. 3600 IN SRV 10 0 SYNAPSE_PORT example.com.
|
||||
_matrix._tcp.example.com. 3600 IN SRV 10 0 SYNAPSE_PORT synapse.example.com.
|
||||
```
|
||||
You need to replace SYNAPSE_PORT by the real port. This port can be obtained by the command: `yunohost app setting SYNAPSE_INSTANCE_NAME synapse_tls_port`
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ tls_fingerprints: []
|
|||
# This is used by remote servers to connect to this server,
|
||||
# e.g. matrix.org, localhost:8080, etc.
|
||||
# This is also the last part of your UserID.
|
||||
server_name: "__DOMAIN__"
|
||||
server_name: "__SERVER_NAME__"
|
||||
|
||||
# When running as a daemon, the file to store the pid in
|
||||
pid_file: "/var/run/matrix-__APP__.pid"
|
||||
|
|
|
@ -29,7 +29,17 @@
|
|||
"en": "Choose a domain for Synapse",
|
||||
"fr": "Choisissez un domaine pour Synapse"
|
||||
},
|
||||
"example": "domain.org"
|
||||
"example": "synapse.domain.org"
|
||||
},
|
||||
{
|
||||
"name": "server_name",
|
||||
"type": "string",
|
||||
"ask": {
|
||||
"en": "If your synapse domain is a subdomain, you can choose a name for your Synapse server to have your matrix user-ids looking like @user:domain.org instead of @user:synapse.domain.org",
|
||||
"fr": "Si votre domaine pour synapse est un sous-domaine, vous pouvez choisir un nom pour votre serveur Synapse afin que vos identifiants matrix soient @utilisateur:domain.org plutôt que @utilisateur:synapse.domain.org"
|
||||
},
|
||||
"example": "domain.org",
|
||||
"default": "Same than the domain"
|
||||
},
|
||||
{
|
||||
"name": "is_public",
|
||||
|
|
|
@ -69,6 +69,7 @@ apply_config() {
|
|||
fi
|
||||
|
||||
domain=$(ynh_app_setting_get $app special_domain)
|
||||
server_name=$(ynh_app_setting_get $app server_name)
|
||||
synapse_db_pwd=$(ynh_app_setting_get $app synapse_db_pwd)
|
||||
is_public=$(ynh_app_setting_get $app is_public)
|
||||
port=$(ynh_app_setting_get $app synapse_port)
|
||||
|
@ -96,6 +97,7 @@ apply_config() {
|
|||
|
||||
ynh_replace_string __APP__ $app "$homeserver_config_path"
|
||||
ynh_replace_string __DOMAIN__ $domain "$homeserver_config_path"
|
||||
ynh_replace_string __SERVER_NAME__ $server_name "$homeserver_config_path"
|
||||
ynh_replace_string __SYNAPSE_DB_USER__ $synapse_db_user "$homeserver_config_path"
|
||||
ynh_replace_string __SYNAPSE_DB_PWD__ $synapse_db_pwd "$homeserver_config_path"
|
||||
ynh_replace_string __PORT__ $port "$homeserver_config_path"
|
||||
|
|
|
@ -26,12 +26,17 @@ synapse_db_name="matrix_$app"
|
|||
synapse_db_user="matrix_$app"
|
||||
upstream_version=$(ynh_app_upstream_version)
|
||||
report_stats="False"
|
||||
default_domain_value="Same than the domain"
|
||||
|
||||
#=================================================
|
||||
# RETRIEVE ARGUMENTS FROM THE MANIFEST
|
||||
#=================================================
|
||||
|
||||
domain=$YNH_APP_ARG_DOMAIN
|
||||
server_name=$YNH_APP_ARG_SERVER_NAME
|
||||
if [[ "$server_name" == "$default_domain_value" ]]; then
|
||||
server_name=$domain
|
||||
fi
|
||||
is_public=$YNH_APP_ARG_IS_PUBLIC
|
||||
path_url="/_matrix"
|
||||
final_path="/opt/yunohost/matrix-$app"
|
||||
|
@ -56,6 +61,7 @@ test ! -e "$final_path" || ynh_die "This path already contains a folder"
|
|||
# This hack solve the issue : https://github.com/YunoHost-Apps/synapse_ynh/issues/14
|
||||
ynh_app_setting_set $app special_domain $domain
|
||||
ynh_app_setting_set $app special_path $path_url
|
||||
ynh_app_setting_set $app server_name $server_name
|
||||
ynh_app_setting_set $app final_path $final_path
|
||||
ynh_app_setting_set $app synapse_version $upstream_version
|
||||
ynh_app_setting_set $app is_public $is_public
|
||||
|
@ -178,7 +184,7 @@ PS1=${PS1:-}
|
|||
source $final_path/bin/activate
|
||||
|
||||
# Generate config
|
||||
python -m synapse.app.homeserver --keys-directory /etc/matrix-$app/ --generate-config --generate-keys --server-name $domain --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
|
||||
deactivate
|
||||
|
@ -228,6 +234,7 @@ cp ../conf/log.yaml /etc/matrix-$app/log.yaml
|
|||
|
||||
ynh_replace_string __APP__ $app "$homeserver_config_path"
|
||||
ynh_replace_string __DOMAIN__ $domain "$homeserver_config_path"
|
||||
ynh_replace_string __SERVER_NAME__ $server_name "$homeserver_config_path"
|
||||
ynh_replace_string __SYNAPSE_DB_USER__ $synapse_db_user "$homeserver_config_path"
|
||||
ynh_replace_string __SYNAPSE_DB_PWD__ $synapse_db_pwd "$homeserver_config_path"
|
||||
ynh_replace_string __PORT__ $port "$homeserver_config_path"
|
||||
|
@ -327,7 +334,7 @@ chown $synapse_user:root -R /var/lib/matrix-$app
|
|||
chown $synapse_user:root -R /var/log/matrix-$app
|
||||
chown $synapse_user:root -R /etc/matrix-$app
|
||||
chmod u=rwX,g=rX,o= -R /etc/matrix-$app
|
||||
chmod 600 /etc/matrix-$app/$domain.signing.key
|
||||
chmod 600 /etc/matrix-$app/$server_name.signing.key
|
||||
setfacl -R -m user:turnserver:rX /etc/matrix-$app
|
||||
setfacl -R -m user:turnserver:rwX /var/log/matrix-$app
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ upstream_version=$(ynh_app_upstream_version)
|
|||
#=================================================
|
||||
|
||||
domain=$(ynh_app_setting_get $app special_domain)
|
||||
server_name=$(ynh_app_setting_get $app server_name)
|
||||
path_url=$(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)
|
||||
|
@ -192,7 +193,7 @@ chown $synapse_user:root -R /var/lib/matrix-$app
|
|||
chown $synapse_user:root -R /var/log/matrix-$app
|
||||
chown $synapse_user:root -R /etc/matrix-$app
|
||||
chmod u=rwX,g=rX,o= -R /etc/matrix-$app
|
||||
chmod 600 /etc/matrix-$app/$domain.signing.key
|
||||
chmod 600 /etc/matrix-$app/$server_name.signing.key
|
||||
setfacl -R -m user:turnserver:rX /etc/matrix-$app
|
||||
setfacl -R -m user:turnserver:rwX /var/log/matrix-$app
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ upstream_version=$(ynh_app_upstream_version)
|
|||
#=================================================
|
||||
|
||||
domain=$(ynh_app_setting_get $app special_domain)
|
||||
server_name=$(ynh_app_setting_get $app server_name)
|
||||
path_url=$(ynh_app_setting_get $app special_path)
|
||||
final_path=$(ynh_app_setting_get $app final_path)
|
||||
synapse_old_version=$(ynh_app_setting_get $app synapse_version)
|
||||
|
@ -56,6 +57,10 @@ then
|
|||
ynh_die "Update from this synapse version is not available. You need to remove this package and reinstall the new package version."
|
||||
fi
|
||||
|
||||
if [ -z $server_name ]; then
|
||||
server_name=$domain
|
||||
ynh_app_setting_set $app server_name $domain
|
||||
fi
|
||||
#=================================================
|
||||
# BACKUP BEFORE UPGRADE
|
||||
#=================================================
|
||||
|
@ -126,7 +131,7 @@ then
|
|||
source $final_path/bin/activate
|
||||
|
||||
# Generate config and keys
|
||||
python -m synapse.app.homeserver --keys-directory /etc/matrix-$app/ --generate-config --generate-keys --server-name $domain --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
|
||||
deactivate
|
||||
|
@ -157,6 +162,7 @@ cp ../conf/log.yaml /etc/matrix-$app/log.yaml
|
|||
|
||||
ynh_replace_string __APP__ $app "$homeserver_config_path"
|
||||
ynh_replace_string __DOMAIN__ $domain "$homeserver_config_path"
|
||||
ynh_replace_string __SERVER_NAME__ $server_name "$homeserver_config_path"
|
||||
ynh_replace_string __SYNAPSE_DB_USER__ $synapse_db_user "$homeserver_config_path"
|
||||
ynh_replace_string __SYNAPSE_DB_PWD__ $synapse_db_pwd "$homeserver_config_path"
|
||||
ynh_replace_string __PORT__ $port "$homeserver_config_path"
|
||||
|
@ -330,7 +336,7 @@ chown $synapse_user:root -R /var/lib/matrix-$app
|
|||
chown $synapse_user:root -R /var/log/matrix-$app
|
||||
chown $synapse_user:root -R /etc/matrix-$app
|
||||
chmod u=rwX,g=rX,o= -R /etc/matrix-$app
|
||||
chmod 600 /etc/matrix-$app/$domain.signing.key
|
||||
chmod 600 /etc/matrix-$app/$server_name.signing.key
|
||||
setfacl -R -m user:turnserver:rX /etc/matrix-$app
|
||||
setfacl -R -m user:turnserver:rwX /var/log/matrix-$app
|
||||
|
||||
|
|
Loading…
Reference in a new issue