From c8c7b049c56f469329aaa2f03e0394a620cf5a9b Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Aug 2021 18:52:28 +0200 Subject: [PATCH 01/12] 0.40.1 --- check_process | 12 +++--------- conf/app.src | 4 ++-- conf/nginx.conf | 1 - manifest.json | 10 +--------- scripts/install | 33 +++++++++++++++++---------------- 5 files changed, 23 insertions(+), 37 deletions(-) diff --git a/check_process b/check_process index eb0f54f..8187647 100644 --- a/check_process +++ b/check_process @@ -1,14 +1,8 @@ -# See here for more informations -# https://github.com/YunoHost/package_check#syntax-check_process-file - -# Move this file from check_process.default to check_process when you have filled it. - ;; Test complet ; Manifest - domain="domain.tld" (DOMAIN) - path="/" (PATH) - is_public=1 (PUBLIC|public=1|private=0) - port="9980" (PORT) + domain="domain.tld" + path="/" + is_public=1 ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/conf/app.src b/conf/app.src index e7e75b0..c548c4f 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://downloads.metabase.com/v0.38.0.1/metabase.jar -SOURCE_SUM=29c050f188758a9cf3fe84d632f19fbb4d3b6731cc0cc0fb7fe26042ed4d4a2c +SOURCE_URL=https://downloads.metabase.com/v0.40.1/metabase.jar +SOURCE_SUM=972babb2ce60740729ba56323188bdf998e417dc1d9bac5642d7a429e4a793b1 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=jar SOURCE_IN_SUBDIR=false diff --git a/conf/nginx.conf b/conf/nginx.conf index 85dcbba..36dc5fd 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -18,5 +18,4 @@ location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; - } diff --git a/manifest.json b/manifest.json index d98f933..9504017 100644 --- a/manifest.json +++ b/manifest.json @@ -15,7 +15,7 @@ "url": "" }, "requirements": { - "yunohost": ">= 4.0.0" + "yunohost": ">= 4.2.0" }, "multi_instance": false, "services": [ @@ -26,19 +26,11 @@ "install": [{ "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain name for Metabase", - "fr": "Choisissez un nom de domaine pour Metabase" - }, "example": "metabase.example.com" }, { "name": "is_public", "type": "boolean", - "ask": { - "en": "Is it a public site?", - "fr": "Est-ce un site public ?" - }, "help": { "en": "If enabled, Metabase will be accessible by people who do not have an account. This can be changed later via the webadmin.", "fr": "Si cette case est cochée, Metabase sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin." diff --git a/scripts/install b/scripts/install index 7eefd0e..a09859b 100755 --- a/scripts/install +++ b/scripts/install @@ -76,6 +76,14 @@ ynh_app_setting_set --app=$app --key=db_name --value=$db_name ynh_psql_test_if_first_run ynh_psql_setup_db --db_user=$db_name --db_name=$db_name +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Configuring system user..." --weight=2 + +# Create a system user +ynh_system_user_create --username=$app + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -85,6 +93,11 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" +chmod +x $final_path/metabase.jar + #================================================= # NGINX CONFIGURATION #================================================= @@ -93,14 +106,6 @@ ynh_script_progression --message="Configuring NGNX web server..." --weight=3 # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Configuring system user..." --weight=2 - -# Create a system user -ynh_system_user_create --username=$app - #================================================= # SETUP SYSTEMD #================================================= @@ -111,13 +116,13 @@ ynh_add_systemd_config #================================================= # SETUP CONFIG #================================================= +ynh_script_progression --message="Adding a configuration file..." --weight=1 touch /etc/default/$app -cp ../conf/metabase /etc/default/$app +ynh_add_config --template="../conf/metabase" --destination="/etc/default/$app" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="/etc/default/$app" -ynh_replace_string --match_string="__DB_NAME__" --replace_string="$db_name" --target_file="/etc/default/$app" -ynh_replace_string --match_string="__DB_PWD__" --replace_string="$db_pwd" --target_file="/etc/default/$app" +chmod 640 "/etc/default/$app" +chown $app "/etc/default/$app" #================================================= # GENERIC FINALIZATION @@ -125,12 +130,8 @@ ynh_replace_string --match_string="__DB_PWD__" --replace_string="$db_pwd" --targ # SECURE FILES AND DIRECTORIES #================================================= -chmod +x $final_path/metabase.jar - -chown -R $app: $final_path touch /var/log/$app.log chown $app: /var/log/$app.log -chmod 640 /etc/default/$app #================================================= # INTEGRATE SERVICE IN YUNOHOST From 73da8daae78753cb73df95e5b8c8f57027422b7e Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Aug 2021 19:00:07 +0200 Subject: [PATCH 02/12] Add templates --- issue_template.md => .github/ISSUE_TEMPLATE.md | 4 ++-- .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++++++++ doc/DISCLAIMER.md | 0 .../metabase-product-screenshot.png | Bin 0 -> 136458 bytes manifest.json | 10 +++++++++- pull_request_template.md | 16 ---------------- 6 files changed, 27 insertions(+), 19 deletions(-) rename issue_template.md => .github/ISSUE_TEMPLATE.md (94%) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/screenshots/metabase-product-screenshot.png delete mode 100644 pull_request_template.md diff --git a/issue_template.md b/.github/ISSUE_TEMPLATE.md similarity index 94% rename from issue_template.md rename to .github/ISSUE_TEMPLATE.md index f1d47b2..2729a6b 100644 --- a/issue_template.md +++ b/.github/ISSUE_TEMPLATE.md @@ -8,7 +8,7 @@ about: When creating a bug report, please use the following template to provide 1. *Read this whole template first.* 2. *Determine if you are on the right place:* - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* - - *Otherwise, the issue may be due to Metabase itself. Refer to its documentation or repository for help.* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* - *When in doubt, post here and we will figure it out together.* 3. *Delete the italic comments as you write over them below, and remove this guide.* --- @@ -31,7 +31,7 @@ about: When creating a bug report, please use the following template to provide - *If you performed a command from the CLI, the command itself is enough. For example:* ```sh - sudo yunohost app install metabase + sudo yunohost app install the_app ``` - *If you used the webadmin, please perform the equivalent command from the CLI first.* - *If the error occurs in your browser, explain what you did:* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..e69de29 diff --git a/doc/screenshots/metabase-product-screenshot.png b/doc/screenshots/metabase-product-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d8f50a30908c095a1ce1e40e0763c2ff418d8e GIT binary patch literal 136458 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

{fGA6fdOZkarVn+xsw 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 z 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 Date: Mon, 2 Aug 2021 17:00:16 +0000 Subject: [PATCH 03/12] Auto-update README --- README.md | 54 +++++++++++++++++++----------------------------- README_fr.md | 58 +++++++++++++++++++--------------------------------- 2 files changed, 42 insertions(+), 70 deletions(-) diff --git a/README.md b/README.md index 80e0802..2a41b81 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + + # Metabase for YunoHost [![Integration level](https://dash.yunohost.org/integration/metabase.svg)](https://dash.yunohost.org/appci/app/metabase) ![](https://ci-apps.yunohost.org/ci/badges/metabase.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/metabase.maintain.svg) @@ -5,48 +10,29 @@ *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Metabase quickly and simply on a YunoHost server. +> *This package allows you to install Metabase quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Metabase is the easy, open source way for everyone in your company to ask questions and learn from data. -**Shipped version:** 0.38.0.1 +Web database management tool + +**Shipped version:** 0.40.0.1~ynh1 + +**Demo:** https://demo.example.com ## Screenshots -![](https://raw.githubusercontent.com/metabase/metabase/master/docs/metabase-product-screenshot.png) +![](./doc/screenshots/metabase-product-screenshot.png) -## Demo +## Documentation and resources -* [Official demo]() - -## Documentation - - * Official documentation: https://www.metabase.com/docs/latest/ - -#### Multi-user support - -* Are LDAP and HTTP auth supported? **No** -* Can the app be used by multiple users? **Yes** - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/metabase%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/metabase/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/metabase%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/metabase/) - -## Limitations - -## Additional information - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/metabase_ynh/issues - * App website: https://metabase.com - * Upstream app repository: https://github.com/metabase/metabase - * YunoHost website: https://yunohost.org/ - ---- +* Official app website: https://www.metabase.com/ +* Official user documentation: https://yunohost.org/apps +* Official admin documentation: https://www.metabase.com/docs/latest/ +* Upstream app code repository: https://github.com/metabase/metabase +* YunoHost documentation for this app: https://yunohost.org/app_metabase +* Report a bug: https://github.com/YunoHost-Apps/metabase_ynh/issues ## Developer info @@ -58,3 +44,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/metabase_ynh/tree/tes or sudo yunohost app upgrade metabase -u https://github.com/YunoHost-Apps/metabase_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index e6413cc..106d174 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,52 +1,34 @@ # Metabase pour YunoHost -[![Integration level](https://dash.yunohost.org/integration/metabase.svg)](https://dash.yunohost.org/appci/app/metabase) ![](https://ci-apps.yunohost.org/ci/badges/metabase.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/metabase.maintain.svg) -[![Install Metabase with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=metabase) +[![Niveau d'intégration](https://dash.yunohost.org/integration/metabase.svg)](https://dash.yunohost.org/appci/app/metabase) ![](https://ci-apps.yunohost.org/ci/badges/metabase.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/metabase.maintain.svg) +[![Installer Metabase avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=metabase) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Metabase rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer Metabase 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.* ## Vue d'ensemble -Metabase is the easy, open source way for everyone in your company to ask questions and learn from data. -**Version incluse :** 0.38.0.1 +Outil web de gestion des bases de données + +**Version incluse :** 0.40.0.1~ynh1 + +**Démo :** https://demo.example.com ## Captures d'écran -![](https://raw.githubusercontent.com/metabase/metabase/master/docs/metabase-product-screenshot.png) +![](./doc/screenshots/metabase-product-screenshot.png) -## Démo +## Documentations et ressources -* [Démo officielle]() - -## Guide d’installation - -## Documentation - - * Documentation officielle : https://www.metabase.com/docs/latest/ - -#### Support multi-utilisateur - -* L'authentification LDAP et HTTP est-elle prise en charge ? **Non** -* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/metabase%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/metabase/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/metabase%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/metabase/) - -## Limitations - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/metabase_ynh/issues - * Site de l'application : https://metabase.com - * Dépôt de l'application principale : https://github.com/metabase/metabase - * Site web YunoHost : https://yunohost.org - ---- +* Site officiel de l'app : https://www.metabase.com/ +* Documentation officielle utilisateur : https://yunohost.org/apps +* Documentation officielle de l'admin : https://www.metabase.com/docs/latest/ +* Dépôt de code officiel de l'app : https://github.com/metabase/metabase +* Documentation YunoHost pour cette app : https://yunohost.org/app_metabase +* Signaler un bug : https://github.com/YunoHost-Apps/metabase_ynh/issues ## Informations pour les développeurs @@ -58,3 +40,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/metabase_ynh/tree/tes ou sudo yunohost app upgrade metabase -u https://github.com/YunoHost-Apps/metabase_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file From b0dc8f2c59ac5b252f3a48837f54049716040be6 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Aug 2021 19:03:22 +0200 Subject: [PATCH 04/12] Add rights --- scripts/restore | 19 ++++++++++++------- scripts/upgrade | 9 +++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/scripts/restore b/scripts/restore index abf39f5..234df6a 100755 --- a/scripts/restore +++ b/scripts/restore @@ -51,6 +51,14 @@ test ! -d "$final_path" \ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --weight=3 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir="$final_path" + #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -58,13 +66,10 @@ ynh_script_progression --message="Restoring Metabase main directory..." --weight ynh_restore_file --origin_path="$final_path" -#================================================= -# RECREATE THE DEDICATED USER -#================================================= -ynh_script_progression --message="Recreating the dedicated system user..." --weight=3 - -# Create the dedicated user (if not existing) -ynh_system_user_create --username=$app +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" +chmod +x $final_path/metabase.jar #================================================= # INSTALL DEPENDENCIES diff --git a/scripts/upgrade b/scripts/upgrade index 6143a9d..934d43e 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -20,7 +20,6 @@ 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) -is_public=$(ynh_app_setting_get --app=$app --key=is_public) port=$(ynh_app_setting_get --app=$app --key=port) db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) db_name=$(ynh_app_setting_get --app=$app --key=db_name) @@ -90,6 +89,11 @@ then ynh_setup_source --dest_dir="$final_path" fi +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" +chmod +x $final_path/metabase.jar + #================================================= # NGINX CONFIGURATION #================================================= @@ -118,9 +122,6 @@ ynh_add_systemd_config # SECURE FILES AND DIRECTORIES #================================================= -chmod +x $final_path/metabase.jar - -chown -R $app: $final_path chown $app: /var/log/$app.log chmod 640 /etc/default/$app From 748a97bdb343f5437448707f1ab3b818721f3337 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Aug 2021 20:37:41 +0200 Subject: [PATCH 05/12] Fix --- scripts/install | 1 - scripts/restore | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index a09859b..a01349a 100755 --- a/scripts/install +++ b/scripts/install @@ -47,7 +47,6 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url 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=is_public --value=$is_public #================================================= # FIND AND OPEN A PORT diff --git a/scripts/restore b/scripts/restore index 234df6a..bcf5b97 100755 --- a/scripts/restore +++ b/scripts/restore @@ -74,7 +74,7 @@ chmod +x $final_path/metabase.jar #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_print_info "Installing dependencies..." +ynh_script_progression --message="Installing dependencies..." ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies From 85401e4d61bccd1fef0e0384b526a874ce298740 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Aug 2021 20:43:50 +0200 Subject: [PATCH 06/12] Add line match --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index a01349a..8d563d4 100755 --- a/scripts/install +++ b/scripts/install @@ -145,7 +145,7 @@ yunohost service add $app --description="Web database management tool" --log="/v ynh_script_progression --message="Starting a systemd service..." --weight=2 # Start a systemd service -ynh_systemd_action --service_name=$app --action=start --log_path=systemd #--line_match="" +ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Please use the following URL to setup your Metabase installation:" #================================================= # SETUP SSOWAT diff --git a/scripts/restore b/scripts/restore index bcf5b97..d05a10a 100755 --- a/scripts/restore +++ b/scripts/restore @@ -109,7 +109,7 @@ yunohost service add $app --description="Web database management tool" --log="/v #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=2 -ynh_systemd_action --service_name=$app --action=start --log_path="systemd" --line_match="" +ynh_systemd_action --service_name=$app --action=start --log_path="systemd" --line_match="Please use the following URL to setup your Metabase installation:" #================================================= # GENERIC FINALIZATION diff --git a/scripts/upgrade b/scripts/upgrade index 934d43e..e31f2e6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -138,7 +138,7 @@ yunohost service add $app --description="Web database management tool" --log="/v ynh_script_progression --message="Starting a systemd service..." --weight=5 # Start a systemd service -ynh_systemd_action --service_name=$app --action=start --log_path="systemd" --line_match="" +ynh_systemd_action --service_name=$app --action=start --log_path="systemd" --line_match="Please use the following URL to setup your Metabase installation:" #================================================= # RELOAD NGINX From e3996c504c93e09af34baa734798f6bb4d66991b Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Aug 2021 23:34:28 +0200 Subject: [PATCH 07/12] Fix --- scripts/install | 2 +- scripts/restore | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 8d563d4..4d15d04 100755 --- a/scripts/install +++ b/scripts/install @@ -35,7 +35,7 @@ app=$YNH_APP_INSTANCE_NAME #================================================= ynh_script_progression --message="Validating installation parameters..." --weight=1 -final_path=/opt/$app +final_path=/opt/yunohost/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" # Register (book) web path diff --git a/scripts/restore b/scripts/restore index d05a10a..313226d 100755 --- a/scripts/restore +++ b/scripts/restore @@ -48,6 +48,7 @@ test ! -d "$final_path" \ #================================================= # RESTORE THE NGINX CONFIGURATION #================================================= +ynh_script_progression --message="Restoring the NGINX configuration..." --weight=1 ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" From 3adefc5e818ed117f8c5e9abc4f0fe15232160db Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 2 Aug 2021 23:46:13 +0200 Subject: [PATCH 08/12] Fix --- scripts/backup | 10 +++++++++- scripts/change_url | 25 +++++++------------------ scripts/install | 11 ++++++++--- scripts/remove | 20 +++++++++++++++++++- scripts/restore | 24 ++++++++++++++++++++++-- scripts/upgrade | 27 +++++++++++++++++++++------ 6 files changed, 86 insertions(+), 31 deletions(-) diff --git a/scripts/backup b/scripts/backup index 735c496..e492fa1 100755 --- a/scripts/backup +++ b/scripts/backup @@ -37,6 +37,8 @@ ynh_print_info --message="Declaring files to be backed up..." ynh_backup --src_path="$final_path" + ynh_backup --src_path="/etc/default/$app" + #================================================= # BACKUP THE NGINX CONFIGURATION #================================================= @@ -49,6 +51,12 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_backup --src_path="/etc/systemd/system/$app.service" +#================================================= +# BACKUP LOGROTATE +#================================================= + +ynh_backup --src_path="/etc/logrotate.d/$app" + #================================================= # BACKUP THE POSTQRESQL DATABASE #================================================= @@ -60,4 +68,4 @@ ynh_psql_dump_db --database="$db_name" > db.sql # END OF SCRIPT #================================================= -ynh_print_info --message="Backup script completed for Metabase. (YunoHost will then actually copy those files to the archive)." +ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url index 126010e..8b85a08 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -24,20 +24,15 @@ app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --time --weight=1 +ynh_script_progression --message="Loading installation settings..." --weight=1 # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get --app=$app --key=final_path) -# Add settings here as needed by your application -#db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#db_user=$db_name -#db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) - #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --time --weight=1 +ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=1 # Backup the current version of the app ynh_backup_before_upgrade @@ -72,14 +67,14 @@ fi #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 +ynh_script_progression --message="Stopping a systemd service..." --weight=1 ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # MODIFY URL IN NGINX CONF #================================================= -ynh_script_progression --message="Updating NGINX web server configuration..." --time --weight=1 +ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf @@ -105,25 +100,19 @@ then ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" fi -#================================================= -# SPECIFIC MODIFICATIONS -#================================================= -# ... -#================================================= - #================================================= # GENERIC FINALISATION #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +ynh_script_progression --message="Starting a systemd service..." --weight=1 ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --time --weight=1 +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload @@ -131,4 +120,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Change of URL completed for $app" --time --last +ynh_script_progression --message="Change of URL completed for $app" --last diff --git a/scripts/install b/scripts/install index 4d15d04..12d6afd 100755 --- a/scripts/install +++ b/scripts/install @@ -129,8 +129,13 @@ chown $app "/etc/default/$app" # SECURE FILES AND DIRECTORIES #================================================= -touch /var/log/$app.log -chown $app: /var/log/$app.log +# Create log directory +mkdir -p /var/log/$app +touch /var/log/$app/$app.log +chown -R $app /var/log/$app + +# Setup logrotate +ynh_use_logrotate --specific_user=$app/$app #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -169,4 +174,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of Metabase completed" --last +ynh_script_progression --message="Installation of $app completed" --last diff --git a/scripts/remove b/scripts/remove index f457311..8d06a0b 100755 --- a/scripts/remove +++ b/scripts/remove @@ -67,6 +67,14 @@ ynh_script_progression --message="Removing Metabase main directory..." --weight= # Remove the app directory securely ynh_secure_remove --file="$final_path" +#================================================= +# REMOVE APP MAIN DIR +#================================================= +ynh_script_progression --message="Removing the app configuration file..." --weight=1 + +# Remove the app directory securely +ynh_secure_remove --file="/etc/default/$app" + #================================================= # REMOVE NGINX CONFIGURATION #================================================= @@ -75,6 +83,16 @@ ynh_script_progression --message="Removing NGINX web server configuration..." -- # Remove the dedicated NGINX config ynh_remove_nginx_config +#================================================= +# REMOVE LOGROTATE CONFIGURATION +#================================================= +ynh_script_progression --message="Removing logrotate configuration..." + +ynh_secure_remove --file="/var/log/$app" + +# Remove the app-specific logrotate config +ynh_remove_logrotate + #================================================= # GENERIC FINALIZATION #================================================= @@ -89,4 +107,4 @@ ynh_system_user_delete --username=$app # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of Metabase completed" --last +ynh_script_progression --message="Removal of $app completed" --last diff --git a/scripts/restore b/scripts/restore index 313226d..f622c9e 100755 --- a/scripts/restore +++ b/scripts/restore @@ -63,7 +63,7 @@ ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring Metabase main directory..." --weight=2 +ynh_script_progression --message="Restoring the app main directory..." --weight=2 ynh_restore_file --origin_path="$final_path" @@ -72,6 +72,15 @@ chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" chmod +x $final_path/metabase.jar +#================================================= +# SETUP CONFIG +#================================================= +ynh_script_progression --message="Restoring a configuration file..." --weight=1 + +ynh_restore_file --origin_path="/etc/default/$app" +chmod 640 "/etc/default/$app" +chown $app "/etc/default/$app" + #================================================= # INSTALL DEPENDENCIES #================================================= @@ -88,6 +97,17 @@ ynh_psql_test_if_first_run ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd ynh_psql_execute_file_as_root --file="./db.sql" --database=$db_name +#================================================= +# HANDLE LOG FILES AND LOGROTATE +#================================================= + +mkdir -p /var/log/$app +touch /var/log/$app/$app.log +chown $app -R /var/log/$app + +# Restore logrotate configuration +ynh_restore_file --origin_path="/etc/logrotate.d/$app" + #================================================= # SPECIFIC RESTORATION #================================================= @@ -125,4 +145,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for Metabase" --last +ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade index e31f2e6..04c8047 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -117,13 +117,28 @@ ynh_script_progression --message="Configuring a systemd service..." --weight=3 ynh_add_systemd_config #================================================= -# GENERIC FINALIZATION -#================================================= -# SECURE FILES AND DIRECTORIES +# SETUP CONFIG #================================================= +ynh_script_progression --message="Adding a configuration file..." --weight=1 -chown $app: /var/log/$app.log -chmod 640 /etc/default/$app +touch /etc/default/$app +ynh_add_config --template="../conf/metabase" --destination="/etc/default/$app" + +chmod 640 "/etc/default/$app" +chown $app "/etc/default/$app" + +#================================================= +# HANDLE LOG FILES AND LOGROTATE +#================================================= +ynh_script_progression --message="Configuring log rotation..." --weight=3 + +# Create log directory +mkdir -p /var/log/$app +touch /var/log/$app/$app.log +chown -R $app /var/log/$app + +# Setup logrotate +ynh_use_logrotate --specific_user=$app/$app #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -151,4 +166,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of Metabase completed" --last +ynh_script_progression --message="Upgrade of $app completed" --last From c3115727e3351719ee21c18ebd2d5e7683e36169 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 4 Aug 2021 07:30:21 +0200 Subject: [PATCH 09/12] Update manifest.json --- manifest.json | 1 - 1 file changed, 1 deletion(-) diff --git a/manifest.json b/manifest.json index 43cc0d2..c826486 100644 --- a/manifest.json +++ b/manifest.json @@ -11,7 +11,6 @@ "upstream": { "license": "AGPL-3.0-only", "website": "https://www.metabase.com/", - "demo": "https://demo.example.com", "admindoc": "https://www.metabase.com/docs/latest/", "userdoc": "https://yunohost.org/apps", "code": "https://github.com/metabase/metabase" From a0b66bd5caea22e7c16e0dc75a54a87c4c9e65a3 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Wed, 4 Aug 2021 05:30:29 +0000 Subject: [PATCH 10/12] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2a41b81..4f74822 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Web database management tool **Shipped version:** 0.40.0.1~ynh1 -**Demo:** https://demo.example.com + ## Screenshots diff --git a/README_fr.md b/README_fr.md index 106d174..3fc2f65 100644 --- a/README_fr.md +++ b/README_fr.md @@ -15,7 +15,7 @@ Outil web de gestion des bases de données **Version incluse :** 0.40.0.1~ynh1 -**Démo :** https://demo.example.com + ## Captures d'écran From 4f3b3027b550bb0bebc89bdd43178dceef4d9134 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 4 Aug 2021 07:33:25 +0200 Subject: [PATCH 11/12] 0.40.2 --- conf/app.src | 4 ++-- manifest.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/app.src b/conf/app.src index c548c4f..35bf191 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://downloads.metabase.com/v0.40.1/metabase.jar -SOURCE_SUM=972babb2ce60740729ba56323188bdf998e417dc1d9bac5642d7a429e4a793b1 +SOURCE_URL=https://downloads.metabase.com/v0.40.2/metabase.jar +SOURCE_SUM=4d5cd90c7c12b459510dc7955c2d5a8db5845c0ed3bb8dcdc6f548182374e8e9 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=jar SOURCE_IN_SUBDIR=false diff --git a/manifest.json b/manifest.json index c826486..86873ee 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Web database management tool", "fr": "Outil web de gestion des bases de données" }, - "version": "0.40.0.1~ynh1", + "version": "0.40.2~ynh1", "url": "https://www.metabase.com/", "upstream": { "license": "AGPL-3.0-only", From b139c039730b60447c71cae5c5b2487d3c778fd7 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Wed, 4 Aug 2021 05:33:39 +0000 Subject: [PATCH 12/12] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4f74822..2cca1ff 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Web database management tool -**Shipped version:** 0.40.0.1~ynh1 +**Shipped version:** 0.40.2~ynh1 diff --git a/README_fr.md b/README_fr.md index 3fc2f65..799db9e 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Outil web de gestion des bases de données -**Version incluse :** 0.40.0.1~ynh1 +**Version incluse :** 0.40.2~ynh1