1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/ffsync_ynh.git synced 2024-09-03 18:26:38 +02:00

Merge branch 'testing' into master

This commit is contained in:
Josué Tille 2021-01-05 22:06:40 +01:00
commit 10f4e78ad2
No known key found for this signature in database
GPG key ID: 716A6C99B04194EF
11 changed files with 115 additions and 112 deletions

View file

@ -1,7 +1,7 @@
# Mozillas Sync Server for Yunohost # Mozillas Sync Server for Yunohost
[![Integration level](https://dash.yunohost.org/integration/ffsync.svg)](https://dash.yunohost.org/appci/app/ffsync) ![](https://ci-apps.yunohost.org/ci/badges/ffsync.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ffsync.maintain.svg) [![Integration level](https://dash.yunohost.org/integration/ffsync.svg)](https://dash.yunohost.org/appci/app/ffsync) ![](https://ci-apps.yunohost.org/ci/badges/ffsync.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ffsync.maintain.svg)
[![Install ffsync with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=ffsync) [![Install ffsync with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ffsync)
*[Lire ce readme en français.](./README_fr.md)* *[Lire ce readme en français.](./README_fr.md)*
> *This package allow you to install ffsync quickly and simply on a YunoHost server. > *This package allow you to install ffsync quickly and simply on a YunoHost server.
@ -47,3 +47,23 @@ sudo yunohost app install https://github.com/YunoHost-Apps/ffsync_ynh/tree/testi
or or
sudo yunohost app upgrade ffsync -u https://github.com/YunoHost-Apps/ffsync_ynh/tree/testing --debug sudo yunohost app upgrade ffsync -u https://github.com/YunoHost-Apps/ffsync_ynh/tree/testing --debug
``` ```
### Solving problems with Android
The sure-fire way to know what Sync on Android is really doing is to observe the Android device log using adb logcat. Youll want to bump your log-level:
```
adb shell setprop log.tag.FxAccounts VERBOSE
```
Then, you can observe the log using:
```
adb logcat | grep FxAccounts
```
Its best to observe the log while you force a sync from the Android Settings App. You should see output like:
```
D FxAccounts(...) fennec :: BaseResource :: HTTP GET https://token.stage.mozaws.net/1.0/sync/1.5
...
D FxAccounts(...) fennec :: BaseResource :: HTTP GET https://sync-4-us-east-1.stage.mozaws.net/
```

View file

@ -1,7 +1,7 @@
# Serveur de synchronisation de Firefox pour Yunohost # Serveur de synchronisation de Firefox pour Yunohost
[![Integration level](https://dash.yunohost.org/integration/ffsync.svg)](https://dash.yunohost.org/appci/app/ffsync) [![Integration level](https://dash.yunohost.org/integration/ffsync.svg)](https://dash.yunohost.org/appci/app/ffsync)
[![Install ffsync with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=ffsync) [![Install ffsync with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ffsync)
*[Read this readme in english.](./README.md)* *[Read this readme in english.](./README.md)*
> *Ce package vous permet d'installer ffsync rapidement et simplement sur un serveur Yunohost. > *Ce package vous permet d'installer ffsync rapidement et simplement sur un serveur Yunohost.

View file

@ -18,18 +18,6 @@
multi_instance=1 multi_instance=1
port_already_use=0 port_already_use=0
change_url=0 change_url=0
;;; Levels
Level 1=auto
Level 2=auto
Level 3=auto
# impossible with Firefox Sync (it uses Firefox Accounts)
Level 4=na
Level 5=auto
Level 6=auto
Level 7=auto
Level 8=0
Level 9=0
Level 10=0
;;; Options ;;; Options
Email=jean-baptiste@holcroft.fr Email=jean-baptiste@holcroft.fr
Notification=fail Notification=fail

View file

@ -12,7 +12,7 @@ location __PATH__/ {
include uwsgi_params; include uwsgi_params;
# Needed for long running operations in admin interface # Needed for long running operations in admin interface
uwsgi_read_timeout 3600; uwsgi_read_timeout 3600;
uwsgi_param SCRIPT_NAME __PATH__; __IS_SUBPATH__uwsgi_param SCRIPT_NAME __PATH__;
uwsgi_modifier1 30; __IS_SUBPATH__uwsgi_modifier1 30;
uwsgi_pass unix:///var/run/__NAME__/app.socket; uwsgi_pass unix:///run/__NAME__/app.socket;
} }

View file

@ -2,7 +2,7 @@
plugins = python plugins = python
master = true master = true
protocol = uwsgi protocol = uwsgi
socket = /var/run/__APP__/app.socket socket = /run/__APP__/app.socket
chmod-socket = 660 chmod-socket = 660
virtualenv = __FINALPATH__/local virtualenv = __FINALPATH__/local
wsgi-file = __FINALPATH__/syncserver.wsgi wsgi-file = __FINALPATH__/syncserver.wsgi

View file

@ -20,7 +20,7 @@ ynh_abort_if_errors
#================================================= #=================================================
# LOAD SETTINGS # LOAD SETTINGS
#================================================= #=================================================
ynh_script_progression --message="Loading installation settings..." ynh_print_info --message="Loading installation settings..."
app=$YNH_APP_INSTANCE_NAME app=$YNH_APP_INSTANCE_NAME
@ -33,30 +33,30 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name)
#================================================= #=================================================
# BACKUP THE APP MAIN DIR # BACKUP THE APP MAIN DIR
#================================================= #=================================================
ynh_script_progression --message="Backing up the main app directory..." ynh_print_info --message="Backing up the main app directory..."
ynh_backup --src_path="$final_path" ynh_backup --src_path="$final_path"
#================================================= #=================================================
# BACKUP THE NGINX CONFIGURATION # BACKUP THE NGINX CONFIGURATION
#================================================= #=================================================
ynh_script_progression --message="Backing up nginx web server configuration..." ynh_print_info --message="Backing up nginx web server configuration..."
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#================================================= #=================================================
# BACKUP THE MYSQL DATABASE # BACKUP THE MYSQL DATABASE
#================================================= #=================================================
ynh_script_progression --message="Backing up the MySQL database..." ynh_print_info --message="Backing up the MySQL database..."
ynh_mysql_dump_db --database="$db_name" > db.sql ynh_mysql_dump_db --database="$db_name" > db.sql
#================================================= #=================================================
# SPECIFIC BACKUP # SPECIFIC BACKUP
#================================================= #=================================================
# Backup Log # Backup Log
ynh_script_progression --message="Backing up logs" ynh_print_info --message="Backing up logs"
ynh_backup --src_path="/var/log/uwsgi/$app" ynh_backup --src_path="/var/log/uwsgi/$app"
# BACKUP THE UWSGI FILES # BACKUP THE UWSGI FILES
ynh_script_progression --message="Backing up UWSGI..." ynh_print_info --message="Backing up UWSGI..."
ynh_backup --src_path="/etc/uwsgi/apps-available/$app.ini" ynh_backup --src_path="/etc/uwsgi/apps-available/$app.ini"
ynh_backup --src_path="/etc/systemd/system/uwsgi-app@.service" ynh_backup --src_path="/etc/systemd/system/uwsgi-app@.service"
@ -64,4 +64,4 @@ ynh_backup --src_path="/etc/systemd/system/uwsgi-app@.service"
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================
ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --last ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."

View file

@ -2,7 +2,7 @@
# #
# usage: ynh_check_global_uwsgi_config # usage: ynh_check_global_uwsgi_config
ynh_check_global_uwsgi_config () { ynh_check_global_uwsgi_config () {
uwsgi --version || ynh_die --message "You need to add uwsgi (and appropriate plugin) as a dependency" uwsgi --version || ynh_die --message="You need to add uwsgi (and appropriate plugin) as a dependency"
cat > /etc/systemd/system/uwsgi-app@.service <<EOF cat > /etc/systemd/system/uwsgi-app@.service <<EOF
[Unit] [Unit]
@ -13,7 +13,7 @@ After=syslog.target
RuntimeDirectory=%i RuntimeDirectory=%i
ExecStart=/usr/bin/uwsgi \ ExecStart=/usr/bin/uwsgi \
--ini /etc/uwsgi/apps-available/%i.ini \ --ini /etc/uwsgi/apps-available/%i.ini \
--socket /var/run/%i/app.socket \ --socket /run/%i/app.socket \
--logto /var/log/uwsgi/%i/%i.log --logto /var/log/uwsgi/%i/%i.log
User=%i User=%i
Group=www-data Group=www-data
@ -49,9 +49,13 @@ EOF
# To be able to customise the settings of the systemd unit you can override the rules with the file "conf/uwsgi-app@override.service". # To be able to customise the settings of the systemd unit you can override the rules with the file "conf/uwsgi-app@override.service".
# This file will be automatically placed on the good place # This file will be automatically placed on the good place
# #
# Note that the service need to be started manually at the end of the installation.
# Generally you can start the service with this command:
# # ynh_systemd_action --service_name "uwsgi-app@$app.service" --line_match "WSGI app 0 \(mountpoint='[/[:alnum:]_-]*'\) ready in [[:digit:]]* seconds on interpreter" --log_path "/var/log/uwsgi/$app/$app.log"
#
# usage: ynh_add_uwsgi_service # usage: ynh_add_uwsgi_service
# #
# to interact with your service: `systemctl <action> uwsgi-app@app` # to interact with your service: `systemctl <action> uwsgi-app@$app`
ynh_add_uwsgi_service () { ynh_add_uwsgi_service () {
ynh_check_global_uwsgi_config ynh_check_global_uwsgi_config
@ -59,21 +63,21 @@ ynh_add_uwsgi_service () {
local finaluwsgiini="/etc/uwsgi/apps-available/$app.ini" local finaluwsgiini="/etc/uwsgi/apps-available/$app.ini"
# www-data group is needed since it is this nginx who will start the service # www-data group is needed since it is this nginx who will start the service
usermod --append --groups www-data "$app" || ynh_die --message "It wasn't possible to add user $app to group www-data" usermod --append --groups www-data "$app" || ynh_die --message="It wasn't possible to add user $app to group www-data"
ynh_backup_if_checksum_is_different --file "$finaluwsgiini" ynh_backup_if_checksum_is_different --file="$finaluwsgiini"
cp ../conf/uwsgi.ini "$finaluwsgiini" cp ../conf/uwsgi.ini "$finaluwsgiini"
# To avoid a break by set -u, use a void substitution ${var:-}. If the variable is not set, it's simply set with an empty variable. # To avoid a break by set -u, use a void substitution ${var:-}. If the variable is not set, it's simply set with an empty variable.
# Substitute in a nginx config file only if the variable is not empty # Substitute in a nginx config file only if the variable is not empty
if test -n "${final_path:-}"; then if test -n "${final_path:-}"; then
ynh_replace_string --match_string __FINALPATH__ --replace_string "$final_path" --target_file "$finaluwsgiini" ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$finaluwsgiini"
fi fi
if test -n "${path_url:-}"; then if test -n "${path_url:-}"; then
ynh_replace_string --match_string __PATH__ --replace_string "$path_url" --target_file "$finaluwsgiini" ynh_replace_string --match_string="__PATH__" --replace_string="$path_url" --target_file="$finaluwsgiini"
fi fi
if test -n "${app:-}"; then if test -n "${app:-}"; then
ynh_replace_string --match_string __APP__ --replace_string "$app" --target_file "$finaluwsgiini" ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$finaluwsgiini"
fi fi
# Replace all other variable given as arguments # Replace all other variable given as arguments
@ -81,10 +85,10 @@ ynh_add_uwsgi_service () {
do do
# ${var_to_replace^^} make the content of the variable on upper-cases # ${var_to_replace^^} make the content of the variable on upper-cases
# ${!var_to_replace} get the content of the variable named $var_to_replace # ${!var_to_replace} get the content of the variable named $var_to_replace
ynh_replace_string "__${var_to_replace^^}__" "${!var_to_replace}" "$finaluwsgiini" ynh_replace_string --match_string="__${var_to_replace^^}__" --replace_string="${!var_to_replace}" --target_file="$finaluwsgiini"
done done
ynh_store_file_checksum --file "$finaluwsgiini" ynh_store_file_checksum --file="$finaluwsgiini"
chown $app:root "$finaluwsgiini" chown $app:root "$finaluwsgiini"
@ -99,9 +103,7 @@ ynh_add_uwsgi_service () {
cp ../conf/uwsgi-app@override.service /etc/systemd/system/uwsgi-app@$app.service.d/override.conf cp ../conf/uwsgi-app@override.service /etc/systemd/system/uwsgi-app@$app.service.d/override.conf
systemctl daemon-reload systemctl daemon-reload
systemctl stop "uwsgi-app@$app.service" || true
systemctl enable "uwsgi-app@$app.service" systemctl enable "uwsgi-app@$app.service"
systemctl start "uwsgi-app@$app.service"
# Add as a service # Add as a service
yunohost service add "uwsgi-app@$app" --log "/var/log/uwsgi/$app/$app.log" yunohost service add "uwsgi-app@$app" --log "/var/log/uwsgi/$app/$app.log"
@ -113,9 +115,9 @@ ynh_add_uwsgi_service () {
ynh_remove_uwsgi_service () { ynh_remove_uwsgi_service () {
local finaluwsgiini="/etc/uwsgi/apps-available/$app.ini" local finaluwsgiini="/etc/uwsgi/apps-available/$app.ini"
if [ -e "$finaluwsgiini" ]; then if [ -e "$finaluwsgiini" ]; then
yunohost service remove "uwsgi-app@$app"
systemctl stop "uwsgi-app@$app.service" systemctl stop "uwsgi-app@$app.service"
systemctl disable "uwsgi-app@$app.service" systemctl disable "uwsgi-app@$app.service"
yunohost service remove "uwsgi-app@$app"
ynh_secure_remove --file="$finaluwsgiini" ynh_secure_remove --file="$finaluwsgiini"
ynh_secure_remove --file="/var/log/uwsgi/$app" ynh_secure_remove --file="/var/log/uwsgi/$app"

View file

@ -81,17 +81,15 @@ install_sources
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
ynh_script_progression --message="Configuring nginx" ynh_script_progression --message="Configuring nginx"
ynh_add_nginx_config
if [ "$path_url" == "/" ] if [ "$path_url" == "/" ]
then then
# $finalnginxconf comes from ynh_add_nginx_config # $finalnginxconf comes from ynh_add_nginx_config
# uwsgi_param is only needed for non-root installation # uwsgi_param is only needed for non-root installation
ynh_replace_string --match_string "uwsgi_param " --replace_string "#uwsgi_param " --target_file "$finalnginxconf" is_subpath="# "
ynh_replace_string --match_string "uwsgi_modifier1 " --replace_string "#uwsgi_modifier1 " --target_file "$finalnginxconf" else
is_subpath=" "
fi fi
ynh_store_file_checksum --file "$finalnginxconf" ynh_add_nginx_config 'is_subpath'
systemctl reload nginx
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER
@ -138,12 +136,15 @@ ynh_script_progression --message="Configuring permissions"
ynh_app_setting_set --app=$app --key=skipped_uris --value="/" ynh_app_setting_set --app=$app --key=skipped_uris --value="/"
#================================================= #=================================================
# RELOAD NGINX # RELOAD Services
#================================================= #=================================================
ynh_script_progression --message="Reloading nginx web server..." ynh_script_progression --message="Restart services..."
ynh_systemd_action --service_name=nginx --action=reload ynh_systemd_action --service_name=nginx --action=reload
ynh_script_progression --message="Starting $app services..." --weight=3
ynh_systemd_action --service_name "uwsgi-app@$app.service" \
--line_match "WSGI app 0 \(mountpoint='[/[:alnum:]_-]*'\) ready in [[:digit:]]* seconds on interpreter" --log_path "/var/log/uwsgi/$app/$app.log"
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================

View file

@ -24,17 +24,6 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path)
#================================================= #=================================================
# STANDARD REMOVE # STANDARD REMOVE
#=================================================
# REMOVE UWSGI
#=================================================
# Remove the service from the list of services known by Yunohost (added from `yunohost service add`)
if ynh_exec_warn_less yunohost service status uwsgi-app@$app >/dev/null
then
ynh_print_info --message="Removing $app service..."
yunohost service remove uwsgi-app@$app
fi
#================================================= #=================================================
# STOP AND REMOVE SERVICE # STOP AND REMOVE SERVICE
#================================================= #=================================================

View file

@ -81,12 +81,11 @@ ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./
# INTEGRATE SERVICE IN YUNOHOST # INTEGRATE SERVICE IN YUNOHOST
#================================================= #=================================================
yunohost service add "uwsgi-app@$app" --log "/var/log/uwsgi/app/$app"
ynh_script_progression --message="Reloading services..." --weight=3 ynh_script_progression --message="Reloading services..." --weight=3
ynh_check_global_uwsgi_config ynh_check_global_uwsgi_config
systemctl enable "uwsgi-app@$app" systemctl enable "uwsgi-app@$app" --quiet
yunohost service add "uwsgi-app@$app" --log "/var/log/uwsgi/$app/$app.log"
#================================================= #=================================================
# GENERIC FINALIZATION # GENERIC FINALIZATION
@ -94,7 +93,9 @@ systemctl enable "uwsgi-app@$app"
# RELOAD NGINX AND UWSGI # RELOAD NGINX AND UWSGI
#================================================= #=================================================
systemctl start "uwsgi-app@$app" ynh_script_progression --message="Starting pgadmin services..." --weight=3
systemctl reload nginx ynh_systemd_action --service_name "uwsgi-app@$app.service" \
--line_match "WSGI app 0 \(mountpoint='[/[:alnum:]_-]*'\) ready in [[:digit:]]* seconds on interpreter" --log_path "/var/log/uwsgi/$app/$app.log"
ynh_systemd_action --service_name=nginx --action=reload
ynh_script_progression --message="Restoration completed for $app" --last ynh_script_progression --message="Restoration completed for $app" --last

View file

@ -110,18 +110,16 @@ install_sources
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
ynh_script_progression --message="Configuring nginx..." ynh_script_progression --message="Configuring nginx"
ynh_add_nginx_config
if [ "$path_url" == "/" ] if [ "$path_url" == "/" ]
then then
# $finalnginxconf comes from ynh_add_nginx_config # $finalnginxconf comes from ynh_add_nginx_config
# uwsgi_param is only needed for non-root installation # uwsgi_param is only needed for non-root installation
ynh_replace_string "uwsgi_param " "#uwsgi_param " "$finalnginxconf" is_subpath="# "
ynh_replace_string "uwsgi_modifier1 " "#uwsgi_modifier1 " "$finalnginxconf" else
is_subpath=" "
fi fi
ynh_store_file_checksum --file "$finalnginxconf" ynh_add_nginx_config 'is_subpath'
systemctl reload nginx
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER
@ -162,6 +160,10 @@ set_permissions
ynh_app_setting_set --app=$app --key=skipped_uris --value="/" ynh_app_setting_set --app=$app --key=skipped_uris --value="/"
ynh_script_progression --message="Restarting $app services..." --weight=3
ynh_systemd_action --service_name "uwsgi-app@$app.service" \
--line_match "WSGI app 0 \(mountpoint='[/[:alnum:]_-]*'\) ready in [[:digit:]]* seconds on interpreter" --log_path "/var/log/uwsgi/$app/$app.log"
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================