Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix integration with Synapse #19

Merged
merged 10 commits into from
Sep 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ It shall NOT be edited by hand.

# Synapse Admin for YunoHost

[![Integration level](https://dash.yunohost.org/integration/synapse-admin.svg)](https://dash.yunohost.org/appci/app/synapse-admin) ![](https://ci-apps.yunohost.org/ci/badges/synapse-admin.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/synapse-admin.maintain.svg)
[![Integration level](https://dash.yunohost.org/integration/synapse-admin.svg)](https://dash.yunohost.org/appci/app/synapse-admin) ![Working status](https://ci-apps.yunohost.org/ci/badges/synapse-admin.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/synapse-admin.maintain.svg)
[![Install Synapse Admin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=synapse-admin)

*[Lire ce readme en français.](./README_fr.md)*
Expand All @@ -17,30 +17,30 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in

Admin UI for Synapse

**Shipped version:** 0.8.5~ynh1

**Shipped version:** 0.8.5~ynh2


## Screenshots

![](./doc/screenshots/screenshots.jpg)
![Screenshot of Synapse Admin](./doc/screenshots/screenshots.jpg)

## Documentation and resources

* Official app website: https://github.com/Awesome-Technologies/synapse-admin
* Upstream app code repository: https://github.com/Awesome-Technologies/synapse-admin
* YunoHost documentation for this app: https://yunohost.org/app_synapse-admin
* Report a bug: https://github.com/YunoHost-Apps/synapse-admin_ynh/issues
* Official app website: <https://github.com/Awesome-Technologies/synapse-admin>
* Upstream app code repository: <https://github.com/Awesome-Technologies/synapse-admin>
* YunoHost documentation for this app: <https://yunohost.org/app_synapse-admin>
* Report a bug: <https://github.com/YunoHost-Apps/synapse-admin_ynh/issues>

## Developer info

Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/synapse-admin_ynh/tree/testing).

To try the testing branch, please proceed like that.
```

``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/synapse-admin_ynh/tree/testing --debug
or
sudo yunohost app upgrade synapse-admin -u https://github.com/YunoHost-Apps/synapse-admin_ynh/tree/testing --debug
```

**More info regarding app packaging:** https://yunohost.org/packaging_apps
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
26 changes: 15 additions & 11 deletions README_fr.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->

# Synapse Admin pour YunoHost

[![Niveau d'intégration](https://dash.yunohost.org/integration/synapse-admin.svg)](https://dash.yunohost.org/appci/app/synapse-admin) ![](https://ci-apps.yunohost.org/ci/badges/synapse-admin.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/synapse-admin.maintain.svg)
[![Niveau d'intégration](https://dash.yunohost.org/integration/synapse-admin.svg)](https://dash.yunohost.org/appci/app/synapse-admin) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/synapse-admin.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/synapse-admin.maintain.svg)
[![Installer Synapse Admin avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=synapse-admin)

*[Read this readme in english.](./README.md)*
*[Lire ce readme en français.](./README_fr.md)*

> *Ce package vous permet d'installer Synapse Admin rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
Expand All @@ -13,30 +17,30 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour

Admin UI pour Synapse

**Version incluse :** 0.8.5~ynh1

**Version incluse :** 0.8.5~ynh2


## Captures d'écran

![](./doc/screenshots/screenshots.jpg)
![Capture d'écran de Synapse Admin](./doc/screenshots/screenshots.jpg)

## Documentations et ressources

* Site officiel de l'app : https://github.com/Awesome-Technologies/synapse-admin
* Dépôt de code officiel de l'app : https://github.com/Awesome-Technologies/synapse-admin
* Documentation YunoHost pour cette app : https://yunohost.org/app_synapse-admin
* Signaler un bug : https://github.com/YunoHost-Apps/synapse-admin_ynh/issues
* Site officiel de l'app : <https://github.com/Awesome-Technologies/synapse-admin>
* Dépôt de code officiel de l'app : <https://github.com/Awesome-Technologies/synapse-admin>
* Documentation YunoHost pour cette app : <https://yunohost.org/app_synapse-admin>
* Signaler un bug : <https://github.com/YunoHost-Apps/synapse-admin_ynh/issues>

## Informations pour les développeurs

Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/synapse-admin_ynh/tree/testing).

Pour essayer la branche testing, procédez comme suit.
```

``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/synapse-admin_ynh/tree/testing --debug
ou
sudo yunohost app upgrade synapse-admin -u https://github.com/YunoHost-Apps/synapse-admin_ynh/tree/testing --debug
```

**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps
**Plus d'infos sur le packaging d'applications :** <https://yunohost.org/packaging_apps>
8 changes: 5 additions & 3 deletions check_process
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
;; Test complet
; pre-install
sudo yunohost tools update apps
sudo yunohost app install https://github.com/YunoHost-Apps/synapse_ynh/tree/823f98a8cbe108ad4cc0e38e280a83401dca2b9f -a "domain=sub.domain.tld&server_name=$server_name&is_free_registration=$is_free_registration&jitsi_server=$jitsi_server" --force
; Manifest
domain="domain.tld"
synapse_app="synapse"
synapse_domain="sub.domain.tld"
path="/path"
admin="john"
is_public=1
; Checks
pkg_linter=1
Expand All @@ -18,4 +20,4 @@
change_url=1
;;; Options
Email=
Notification=none
Notification=none
8 changes: 8 additions & 0 deletions conf/endpoint.nginx.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
location /_synapse/admin {
proxy_pass http://localhost:__SYNAPSE_PORT__;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;

client_max_body_size 100M;
}
28 changes: 0 additions & 28 deletions conf/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,3 @@ location / {
# Include SSOWAT user panel.
include conf.d/yunohost_panel.conf.inc;
}

location /.well-known/acme-challenge {
proxy_pass http://127.0.0.1:8009;
}

location /.well-known/matrix/server {
return 200 '{ "m.server": "__SYNAPSE_DOMAIN__:443" }';
}

location /.well-known/matrix/client {
return 200 '{ "m.homeserver": { "base_url": "https://__SYNAPSE_DOMAIN__" } }';
}

location /_matrix {
proxy_pass http://127.0.0.1:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_read_timeout 600;
client_max_body_size 100M;
}

location /_synapse/admin {
proxy_pass http://127.0.0.1:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_read_timeout 600;
client_max_body_size 100M;
}
17 changes: 10 additions & 7 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"en": "Admin UI for Synapse",
"fr": "Admin UI pour Synapse"
},
"version": "0.8.5~ynh1",
"version": "0.8.5~ynh2",
"url": "https://github.com/Awesome-Technologies/synapse-admin",
"upstream": {
"license": "Apache-2.0",
Expand All @@ -31,14 +31,17 @@
"type": "domain"
},
{
"name": "synapse_domain",
"type": "domain",
"name": "synapse_app",
"type": "string",
"ask": {
"en": "The domain of your Synapse server",
"fr": "Le domain de votre serveur Synapse"
"en": "Input the Synapse app ID you wish to connect to.",
"fr": "Entrez l'ID de l'app Synapse à laquelle vous souhaitez vous connecter."
},
"example": "synapse.example.com",
"default": ""
"help": {
"en": "Leave the default value if you have only one Synapse server installed.",
"fr": "Laissez la valeur par défaut si vous n'avez installé qu'un seul serveur Synapse."
},
"default": "synapse"
},
{
"name": "is_public",
Expand Down
3 changes: 3 additions & 0 deletions scripts/backup
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ app=$YNH_APP_INSTANCE_NAME

final_path=$(ynh_app_setting_get --app=$app --key=final_path)
domain=$(ynh_app_setting_get --app=$app --key=domain)
synapse_app=$(ynh_app_setting_get --app=$app --key=synapse_app)
synapse_domain=$(ynh_app_setting_get --app=$app --key=synapse_domain)

#=================================================
# DECLARE DATA AND CONF FILES TO BACKUP
Expand All @@ -42,6 +44,7 @@ ynh_backup --src_path="$final_path"
#=================================================

ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup --src_path="/etc/nginx/conf.d/${synapse_domain}.d/$app.endpoint.conf"

#=================================================
# BACKUP LOGROTATE
Expand Down
9 changes: 8 additions & 1 deletion scripts/install
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ ynh_abort_if_errors
domain=$YNH_APP_ARG_DOMAIN
path_url="/"
is_public=$YNH_APP_ARG_IS_PUBLIC
synapse_domain=$YNH_APP_ARG_SYNAPSE_DOMAIN
synapse_app=$YNH_APP_ARG_SYNAPSE_APP
synapse_domain=$(ynh_app_setting_get --app=$synapse_app --key=domain)
synapse_port=$(ynh_app_setting_get --app=$synapse_app --key=synapse_port)

app=$YNH_APP_INSTANCE_NAME

Expand All @@ -45,7 +47,9 @@ ynh_script_progression --message="Storing installation settings..." --weight=2

ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url
ynh_app_setting_set --app=$app --key=synapse_app --value=$synapse_app
ynh_app_setting_set --app=$app --key=synapse_domain --value=$synapse_domain
ynh_app_setting_set --app=$app --key=synapse_port --value=$synapse_port

#=================================================
# STANDARD MODIFICATIONS
Expand Down Expand Up @@ -98,6 +102,9 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=2
# Create a dedicated NGINX config
ynh_add_nginx_config

# Create NGINX config to access /_synapse/admin endpoint
ynh_add_config --template="endpoint.nginx.conf" --destination="/etc/nginx/conf.d/${synapse_domain}.d/$app.endpoint.conf"

#=================================================
# SPECIFIC SETUP
#==============================================
Expand Down
8 changes: 7 additions & 1 deletion scripts/remove
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get --app=$app --key=domain)
port=$(ynh_app_setting_get --app=$app --key=port)
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
synapse_app=$(ynh_app_setting_get --app=$app --key=synapse_app)
synapse_domain=$(ynh_app_setting_get --app=$synapse_app --key=synapse_domain)

#=================================================
# STANDARD REMOVE
Expand Down Expand Up @@ -70,9 +72,13 @@ ynh_secure_remove --file="$final_path"
#=================================================
ynh_script_progression --message="Removing NGINX web server configuration..." --weight=5

# Remove the dedicated nginx config
# Remove the dedicated NGINX config
ynh_remove_nginx_config

# Remove NGINX config that enabled /_synapse/admin endpoint
ynh_secure_remove --file="/etc/nginx/conf.d/${synapse_domain}.d/synapse-admin.conf"
ynh_secure_remove --file="/etc/nginx/conf.d/${synapse_domain}.d/$app.endpoint.conf"

#=================================================
# GENERIC FINALIZATION
#=================================================
Expand Down
2 changes: 2 additions & 0 deletions scripts/restore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path)
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
synapse_domain=$(ynh_app_setting_get --app=$app --key=synapse_domain)

#=================================================
# CHECK IF THE APP CAN BE RESTORED
Expand All @@ -42,6 +43,7 @@ test ! -d $final_path || ynh_die --message="There is already a directory: $final
ynh_script_progression --message="Restoring the NGINX configuration..."

ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore_file --origin_path="/etc/nginx/conf.d/${synapse_domain}.d/$app.endpoint.conf"

#=================================================
# RECREATE THE DEDICATED USER
Expand Down
17 changes: 16 additions & 1 deletion scripts/upgrade
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path)
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
port=$(ynh_app_setting_get --app=$app --key=port)
synapse_domain=$(ynh_app_setting_get --app=$app --key=synapse_domain)
synapse_app=$(ynh_app_setting_get --app=$app --key=synapse_app)

#=================================================
# CHECK VERSION
Expand Down Expand Up @@ -58,6 +58,18 @@ if ynh_legacy_permissions_exists; then
ynh_app_setting_delete --app=$app --key=is_public
fi

# If synapse_app doesn't exist, create it and assume it is `synapse`
if [ -z "$synapse_app" ]; then
synapse_app="synapse"
ynh_app_setting_set --app=$app --key=synapse_app --value=$synapse_app
fi

# Reload and store Synapse's settings, in case of they changed
synapse_domain=$(ynh_app_setting_get --app=$synapse_app --key=domain)
synapse_port=$(ynh_app_setting_get --app=$synapse_app --key=synapse_port)
ynh_app_setting_set --app=$app --key=synapse_domain --value=$synapse_domain
ynh_app_setting_set --app=$app --key=synapse_port --value=$synapse_port

#=================================================
# STANDARD UPGRADE STEPS
#=================================================
Expand Down Expand Up @@ -98,6 +110,9 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." -
# Create a dedicated nginx config
ynh_add_nginx_config

# Create NGINX config to access /_synapse/admin endpoint
ynh_add_config --template="endpoint.nginx.conf" --destination="/etc/nginx/conf.d/${synapse_domain}.d/$app.endpoint.conf"

#=================================================
# UPGRADE DEPENDENCIES
#=================================================
Expand Down