From 06a9c074ef88da505e7dfb792e6a130b41a76e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 23 Apr 2024 18:49:28 +0200 Subject: [PATCH 01/80] Update manifest.toml --- manifest.toml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index b847a94e..1b5ca0b1 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "28.0.4~ynh2" +version = "29.0.0~ynh1" maintainers = ["kay0u"] @@ -66,8 +66,12 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.4.tar.bz2' - sha256 = '9bfecee1e12fba48c49e9a71caa81c4ba10b2884787fab75d64ccfd122a13019' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.0.tar.bz2' + sha256 = 'e9b53f6432b6f664487d3869645fa121a64cf0ed6aee83aa560903daf86b52bd' + + [resources.sources.28] + url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.0.tar.bz2' + sha256 = '4e8b0b74b40221e85f92ab869d0873c69a52d7e43889d9259c6259428a6a36f2' [resources.sources.27] url = 'https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2' From e5d224a0520eca0b76769f3e85727d128acc8268 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Tue, 23 Apr 2024 16:49:33 +0000 Subject: [PATCH 02/80] Auto-update READMEs --- README.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7a0a2676..7a9e3035 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Shipped version:** 28.0.4~ynh2 +**Shipped version:** 29.0.0~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index 06763946..1802216d 100644 --- a/README_eu.md +++ b/README_eu.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Paketatutako bertsioa:** 28.0.4~ynh2 +**Paketatutako bertsioa:** 29.0.0~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 91334c29..a6a50e40 100644 --- a/README_fr.md +++ b/README_fr.md @@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal -**Version incluse :** 28.0.4~ynh2 +**Version incluse :** 29.0.0~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index e0c30707..dd5d8404 100644 --- a/README_gl.md +++ b/README_gl.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión proporcionada:** 28.0.4~ynh2 +**Versión proporcionada:** 29.0.0~ynh1 **Demo:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index be0c5919..5161b308 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**分发版本:** 28.0.4~ynh2 +**分发版本:** 29.0.0~ynh1 **演示:** From 3503f0e279c5d4f2820a96a4f1c6011cd058e3df Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Fri, 26 Apr 2024 22:27:11 +0200 Subject: [PATCH 03/80] add pre upgrade warning for NC 29 --- doc/PRE_UPGRADE.d/29.0.0~ynh1.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/PRE_UPGRADE.d/29.0.0~ynh1.md diff --git a/doc/PRE_UPGRADE.d/29.0.0~ynh1.md b/doc/PRE_UPGRADE.d/29.0.0~ynh1.md new file mode 100644 index 00000000..75e3ae66 --- /dev/null +++ b/doc/PRE_UPGRADE.d/29.0.0~ynh1.md @@ -0,0 +1,5 @@ +If you are upgrading to a new major version of Nextcloud, please make sure that your Nextcloud apps are up to date from Nextcloud's administration panel beforehand. + +Additionally, if you installed specific Nextcloud apps, we recommend making sure that they are compatible with the new major version. +YunoHost will attempt to check this automatically at the very beginning of the upgrade, but a manual check doesn't hurt either. +For Nextcloud 29, this forum thread might be helpful : . From 6d0c2ce24f180b98c2da8d89c18aab19b142a124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Wed, 22 May 2024 23:03:20 +0200 Subject: [PATCH 04/80] update to PHP8.3 --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 1b5ca0b1..bb9bfd73 100644 --- a/manifest.toml +++ b/manifest.toml @@ -116,7 +116,7 @@ ram.runtime = "512M" api.allowed = ["visitors", "all_users"] [resources.apt] - packages = "mariadb-server, imagemagick, libmagickcore-6.q16-6-extra, acl, tar, smbclient, at, php8.2-fpm, php8.2-bz2, php8.2-imap, php8.2-gmp, php8.2-gd, php8.2-intl, php8.2-curl, php8.2-apcu, php8.2-redis, php8.2-ldap, php8.2-imagick, php8.2-zip, php8.2-mbstring, php8.2-xml, php8.2-mysql, php8.2-igbinary, php8.2-bcmath" + packages = "mariadb-server, imagemagick, libmagickcore-6.q16-6-extra, acl, tar, smbclient, at, php8.3-fpm, php8.3-bz2, php8.3-imap, php8.3-gmp, php8.3-gd, php8.3-intl, php8.3-curl, php8.3-apcu, php8.3-redis, php8.3-ldap, php8.3-imagick, php8.3-zip, php8.3-mbstring, php8.3-xml, php8.3-mysql, php8.3-igbinary, php8.3-bcmath" [resources.database] type = "mysql" From 2b1d579974cf563883317715451d4ecfceceea32 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Wed, 22 May 2024 21:03:25 +0000 Subject: [PATCH 05/80] Auto-update READMEs --- ALL_README.md | 1 + README_es.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++ README_zh_Hans.md | 2 +- 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 README_es.md diff --git a/ALL_README.md b/ALL_README.md index a01b345b..152f2e74 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -1,6 +1,7 @@ # All available README files by language - [Read the README in English](README.md) +- [Lea el README en español](README_es.md) - [Irakurri README euskaraz](README_eu.md) - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) diff --git a/README_es.md b/README_es.md new file mode 100644 index 00000000..5d0f6b06 --- /dev/null +++ b/README_es.md @@ -0,0 +1,61 @@ + + +# Nextcloud para Yunohost + +[![Nivel de integración](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![Estado funcional](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) + +[![Instalar Nextcloud con Yunhost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) + +*[Leer este README en otros idiomas.](./ALL_README.md)* + +> *Este paquete le permite instalarNextcloud rapidamente y simplement en un servidor YunoHost.* +> *Si no tiene YunoHost, visita [the guide](https://yunohost.org/install) para aprender como instalarla.* + +## Descripción general + +Nextcloud Hub is a fully open-source on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces. + +### YunoHost-specific features + +In addition to Nextcloud core features, the following are made available with this package: + + * Integrate with YunoHost users and SSO - i.e. logout button + * Allow one user to be the administrator (set at the installation) + * Allow multiple instances of this application + * Optionally access the user home folder from Nextcloud files (set at the installation, the sharing is enabled by default) + * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal + + +**Versión actual:** 29.0.0~ynh1 + +**Demo:** + +## Capturas + +![Captura de Nextcloud](./doc/screenshots/screenshot.png) + +## Documentaciones y recursos + +- Sitio web oficial: +- Documentación usuario oficial: +- Documentación administrador oficial: +- Repositorio del código fuente oficial de la aplicación : +- Catálogo YunoHost: +- Reportar un error: + +## Información para desarrolladores + +Por favor enviar sus correcciones a la [`branch testing`](https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing + +Para probar la rama `testing`, sigue asÍ: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +o +sudo yunohost app upgrade nextcloud -u https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +``` + +**Mas informaciones sobre el empaquetado de aplicaciones:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 5161b308..915e5c34 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -3,7 +3,7 @@ 请勿手动编辑。 --> -# YunoHost 的 Nextcloud +# YunoHost 上的 Nextcloud [![集成程度](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![工作状态](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![维护状态](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) From cc263ecfeec1eeade2368aa1015bdfc214c5d9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 23 May 2024 18:07:20 +0200 Subject: [PATCH 06/80] Update manifest.toml --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index bb9bfd73..4494372a 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.0~ynh1" +version = "29.0.1~ynh1" maintainers = ["kay0u"] @@ -66,8 +66,8 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.0.tar.bz2' - sha256 = 'e9b53f6432b6f664487d3869645fa121a64cf0ed6aee83aa560903daf86b52bd' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.1.tar.bz2' + sha256 = '759546daecf79ca787ed6705503693c6db553aabf1d7ae4dfa779c7309b2ada9' [resources.sources.28] url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.0.tar.bz2' From 0d05a771e7b5f186aaeab552d2812136a4c40ea9 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 23 May 2024 16:07:27 +0000 Subject: [PATCH 07/80] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7a9e3035..b4ac0414 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Shipped version:** 29.0.0~ynh1 +**Shipped version:** 29.0.1~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index 5d0f6b06..0af9c6b0 100644 --- a/README_es.md +++ b/README_es.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión actual:** 29.0.0~ynh1 +**Versión actual:** 29.0.1~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index 1802216d..6b5a084a 100644 --- a/README_eu.md +++ b/README_eu.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Paketatutako bertsioa:** 29.0.0~ynh1 +**Paketatutako bertsioa:** 29.0.1~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index a6a50e40..5c8079f3 100644 --- a/README_fr.md +++ b/README_fr.md @@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal -**Version incluse :** 29.0.0~ynh1 +**Version incluse :** 29.0.1~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index dd5d8404..0f794134 100644 --- a/README_gl.md +++ b/README_gl.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión proporcionada:** 29.0.0~ynh1 +**Versión proporcionada:** 29.0.1~ynh1 **Demo:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 915e5c34..adc61aa0 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**分发版本:** 29.0.0~ynh1 +**分发版本:** 29.0.1~ynh1 **演示:** From 1b66d7f23a22785515780983973a00a6b10a4e06 Mon Sep 17 00:00:00 2001 From: lyyn <79758863+lyynd@users.noreply.github.com> Date: Sat, 1 Jun 2024 19:47:09 +0200 Subject: [PATCH 08/80] Fix space splitting in phpflags on install (#690) --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 9be9341f..88c1c0da 100755 --- a/scripts/install +++ b/scripts/install @@ -6,7 +6,7 @@ source _ynh_mysql_connect_as.sh phpflags="--define apc.enable_cli=1" -ynh_app_setting_set --app=$app --key=phpflags --value=$phpflags +ynh_app_setting_set --app=$app --key=phpflags --value="$phpflags" #================================================= # CREATE A MYSQL DATABASE From f6a8dc83e58477a275839b5e3f85a8e9178cb62d Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 1 Jun 2024 17:49:30 +0000 Subject: [PATCH 09/80] Auto-update READMEs --- README_fr.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README_fr.md b/README_fr.md index 2a7d3e48..5c8079f3 100644 --- a/README_fr.md +++ b/README_fr.md @@ -28,6 +28,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv * Accès optionnel au répertoire home depuis les fichiers Nextcloud (à activer à l'installation, le partage étant activé par défaut) * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal + **Version incluse :** 29.0.1~ynh1 **Démo :** From 652d6de292901f18ac4a3744247702c814d0054e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 2 Jun 2024 09:37:46 +0200 Subject: [PATCH 10/80] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 9d11edf5..5dd1497f 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -16,7 +16,7 @@ ynh_app_setting_delete --app=$app --key=backup_core_only # If phpflags doesn't exist, create it if [ -z "${phpflags:-}" ]; then phpflags="--define apc.enable_cli=1" - ynh_app_setting_set --app=$app --key=phpflags --value=$phpflags + ynh_app_setting_set --app=$app --key=phpflags --value="$phpflags" fi if ynh_compare_current_package_version --comparison lt --version 22.2~ynh1 From 253357a7dd0b70796ad829a70c434c6f521979e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:25:01 +0200 Subject: [PATCH 11/80] Update manifest.toml --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 4494372a..0c899523 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.1~ynh1" +version = "29.0.2~ynh1" maintainers = ["kay0u"] @@ -66,8 +66,8 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.1.tar.bz2' - sha256 = '759546daecf79ca787ed6705503693c6db553aabf1d7ae4dfa779c7309b2ada9' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.2.tar.bz2' + sha256 = '2d49d297dc340092021057823e8e78a312bc00f56de7d8677ac790590918ab17' [resources.sources.28] url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.0.tar.bz2' From cc45b8eba271367f0a283f192ceb5c632423194b Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 6 Jun 2024 13:25:07 +0000 Subject: [PATCH 12/80] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b4ac0414..b892592b 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Shipped version:** 29.0.1~ynh1 +**Shipped version:** 29.0.2~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index 0af9c6b0..3ed8bc10 100644 --- a/README_es.md +++ b/README_es.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión actual:** 29.0.1~ynh1 +**Versión actual:** 29.0.2~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index 6b5a084a..e1df5a33 100644 --- a/README_eu.md +++ b/README_eu.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Paketatutako bertsioa:** 29.0.1~ynh1 +**Paketatutako bertsioa:** 29.0.2~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 5c8079f3..0bb2d4d5 100644 --- a/README_fr.md +++ b/README_fr.md @@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal -**Version incluse :** 29.0.1~ynh1 +**Version incluse :** 29.0.2~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index 0f794134..bbd9686b 100644 --- a/README_gl.md +++ b/README_gl.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión proporcionada:** 29.0.1~ynh1 +**Versión proporcionada:** 29.0.2~ynh1 **Demo:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index adc61aa0..d97e0ed5 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**分发版本:** 29.0.1~ynh1 +**分发版本:** 29.0.2~ynh1 **演示:** From 38c2ecc3659f55165fef781f96bf0c00a28fa1be Mon Sep 17 00:00:00 2001 From: tituspijean Date: Sat, 8 Jun 2024 08:01:04 +0200 Subject: [PATCH 13/80] Fix phpflags (#691) --- scripts/upgrade | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 5dd1497f..7dd9a828 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -13,11 +13,8 @@ ynh_script_progression --message="Ensuring downward compatibility..." # Remove the option backup_core_only if it's in the settings.yml file ynh_app_setting_delete --app=$app --key=backup_core_only -# If phpflags doesn't exist, create it -if [ -z "${phpflags:-}" ]; then - phpflags="--define apc.enable_cli=1" - ynh_app_setting_set --app=$app --key=phpflags --value="$phpflags" -fi +phpflags="--define apc.enable_cli=1" +ynh_app_setting_set --app=$app --key=phpflags --value="$phpflags" if ynh_compare_current_package_version --comparison lt --version 22.2~ynh1 then From 1ab6c01c984736b13a4eb0e4bffa898caf474320 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Thu, 20 Jun 2024 19:15:15 +0200 Subject: [PATCH 14/80] Fix upgrade: php version is 8.3 starting from 29.x ? (#692) --- scripts/upgrade | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 7dd9a828..418770ff 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -39,7 +39,10 @@ filter_boring_occ_warnings() { # Define a function to execute commands with `occ` exec_occ() { # Backward compatibility to upgrade from older versions - if [ $current_major_version = "last" ] || [ $current_major_version -ge 26 ] + if [ $current_major_version = "last" ] + then + NEXTCLOUD_PHP_VERSION="8.3" + elif [ $current_major_version -ge 26 ] then NEXTCLOUD_PHP_VERSION="8.2" elif [ $current_major_version -ge 24 ] From ef6d230ffec3b2c1abcc9b80cbed7d4ca38f921c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 20 Jun 2024 19:16:36 +0200 Subject: [PATCH 15/80] Update manifest.toml --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 0c899523..0e38f3f2 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.2~ynh1" +version = "29.0.2~ynh2" maintainers = ["kay0u"] From 6aa78213260e8e306f19c3c880b90daac1127612 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 20 Jun 2024 17:16:48 +0000 Subject: [PATCH 16/80] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b892592b..468c8397 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Shipped version:** 29.0.2~ynh1 +**Shipped version:** 29.0.2~ynh2 **Demo:** diff --git a/README_es.md b/README_es.md index 3ed8bc10..b90a3d8c 100644 --- a/README_es.md +++ b/README_es.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión actual:** 29.0.2~ynh1 +**Versión actual:** 29.0.2~ynh2 **Demo:** diff --git a/README_eu.md b/README_eu.md index e1df5a33..40b4c1ab 100644 --- a/README_eu.md +++ b/README_eu.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Paketatutako bertsioa:** 29.0.2~ynh1 +**Paketatutako bertsioa:** 29.0.2~ynh2 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 0bb2d4d5..80de7d92 100644 --- a/README_fr.md +++ b/README_fr.md @@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal -**Version incluse :** 29.0.2~ynh1 +**Version incluse :** 29.0.2~ynh2 **Démo :** diff --git a/README_gl.md b/README_gl.md index bbd9686b..387f9882 100644 --- a/README_gl.md +++ b/README_gl.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión proporcionada:** 29.0.2~ynh1 +**Versión proporcionada:** 29.0.2~ynh2 **Demo:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index d97e0ed5..3a6e3984 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**分发版本:** 29.0.2~ynh1 +**分发版本:** 29.0.2~ynh2 **演示:** From 6870be098bc604e12886afe8fbf1746de767ae48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 20 Jun 2024 19:17:52 +0200 Subject: [PATCH 17/80] Update tests.toml --- tests.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.toml b/tests.toml index 0e8e459a..eb4b3634 100644 --- a/tests.toml +++ b/tests.toml @@ -9,4 +9,4 @@ test_format = 1.0 test_upgrade_from.c5cf91ad.name = "Upgrade from 25.0.2" test_upgrade_from.caf917f3.name = "Upgrade from 26.0.2" test_upgrade_from.9c6d1eea.name = "Upgrade from 27.1.4" - \ No newline at end of file + test_upgrade_from.e9f82ab7.name = "Upgrade from 28.0.6" From 89899fd7092dd1612c6626402d57c0104c3029d2 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sun, 23 Jun 2024 02:54:07 +0200 Subject: [PATCH 18/80] [autopatch] Do not delete logs on app removal (#697) --- scripts/remove | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index f8d582fe..e1c98c62 100755 --- a/scripts/remove +++ b/scripts/remove @@ -16,8 +16,6 @@ ynh_remove_nginx_config # Remove the dedicated PHP-FPM config ynh_remove_fpm_config -# remove logs -ynh_secure_remove --file="/var/log/$app" # Remove the app-specific logrotate config ynh_remove_logrotate From 2f0cfe5ebbca69d3cc204088abd13fad4568d470 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sun, 23 Jun 2024 09:00:08 +0200 Subject: [PATCH 19/80] [autopatch] Do not delete logs on app removal (#698) Co-authored-by: Yunohost-Bot <> From d848e736a1dc94f46d4afc3f6af6fbe22a7e8bc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:36:30 +0200 Subject: [PATCH 20/80] 29.0.3 --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 0e38f3f2..ef01371e 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.2~ynh2" +version = "29.0.3~ynh1" maintainers = ["kay0u"] @@ -66,8 +66,8 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.2.tar.bz2' - sha256 = '2d49d297dc340092021057823e8e78a312bc00f56de7d8677ac790590918ab17' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.3.tar.bz2' + sha256 = 'a5996e764c120927f8844d8f5b28c736b8e2f3280b120be13a2bd7731cdb7fd4' [resources.sources.28] url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.0.tar.bz2' From e584e31721dd0a756bb584917cd47ecb8e94f7d6 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Tue, 25 Jun 2024 13:36:41 +0000 Subject: [PATCH 21/80] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 468c8397..3c548fd3 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Shipped version:** 29.0.2~ynh2 +**Shipped version:** 29.0.3~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index b90a3d8c..594c0cb8 100644 --- a/README_es.md +++ b/README_es.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión actual:** 29.0.2~ynh2 +**Versión actual:** 29.0.3~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index 40b4c1ab..a72230bb 100644 --- a/README_eu.md +++ b/README_eu.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Paketatutako bertsioa:** 29.0.2~ynh2 +**Paketatutako bertsioa:** 29.0.3~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 80de7d92..814c1d7f 100644 --- a/README_fr.md +++ b/README_fr.md @@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal -**Version incluse :** 29.0.2~ynh2 +**Version incluse :** 29.0.3~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index 387f9882..9abd0978 100644 --- a/README_gl.md +++ b/README_gl.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión proporcionada:** 29.0.2~ynh2 +**Versión proporcionada:** 29.0.3~ynh1 **Demo:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 3a6e3984..a9c8d4f9 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**分发版本:** 29.0.2~ynh2 +**分发版本:** 29.0.3~ynh1 **演示:** From 26bfa59cb45ad6dadb4ac6583b33a19926ca7dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:36:46 +0200 Subject: [PATCH 22/80] Update remove --- scripts/remove | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/remove b/scripts/remove index e1c98c62..c39ac68c 100755 --- a/scripts/remove +++ b/scripts/remove @@ -16,7 +16,6 @@ ynh_remove_nginx_config # Remove the dedicated PHP-FPM config ynh_remove_fpm_config - # Remove the app-specific logrotate config ynh_remove_logrotate From 88fbb734c86f45f62c1a0c9371418036d4ead738 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 27 Jun 2024 11:33:57 +0200 Subject: [PATCH 23/80] Indent --- scripts/upgrade | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 418770ff..8252a9b3 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -71,13 +71,13 @@ exec_occ() { # Define a function to add an external storage # Create the external storage for the given folders and enable sharing create_external_storage() { -local mount_dir="$1" -local mount_name="$2" -local mount_id=$(exec_occ files_external:create --output=json \ - "$mount_name" 'local' 'null::null' -c "datadir=$mount_dir" || true) -! [[ $mount_id =~ ^[0-9]+$ ]] \ - && ynh_print_warn --message="Unable to create external storage" \ - || exec_occ files_external:option "$mount_id" enable_sharing true + local mount_dir="$1" + local mount_name="$2" + local mount_id=$(exec_occ files_external:create --output=json \ + "$mount_name" 'local' 'null::null' -c "datadir=$mount_dir" || true) + ! [[ $mount_id =~ ^[0-9]+$ ]] \ + && ynh_print_warn --message="Unable to create external storage" \ + || exec_occ files_external:option "$mount_id" enable_sharing true } function list_installed_apps_not_compatible_with_future_version() From f7c21e467e32c5e51bcf07c8663ecaf5edc9d699 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 27 Jun 2024 11:35:00 +0200 Subject: [PATCH 24/80] Fix again upgrade ending with Nextcloud being in PHP 8.2 ? --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 8252a9b3..c2ddc1d9 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -39,7 +39,7 @@ filter_boring_occ_warnings() { # Define a function to execute commands with `occ` exec_occ() { # Backward compatibility to upgrade from older versions - if [ $current_major_version = "last" ] + if [ $current_major_version = "$last_major_version" ] then NEXTCLOUD_PHP_VERSION="8.3" elif [ $current_major_version -ge 26 ] From b96736ad64d08aac524667b677d912d36b74886d Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 27 Jun 2024 09:35:08 +0000 Subject: [PATCH 25/80] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3c548fd3..da9c32c3 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ It shall NOT be edited by hand. # Nextcloud for YunoHost -[![Integration level](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![Working status](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Working status](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) [![Install Nextcloud with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) diff --git a/README_es.md b/README_es.md index 594c0cb8..af9d2629 100644 --- a/README_es.md +++ b/README_es.md @@ -5,7 +5,7 @@ No se debe editar a mano. # Nextcloud para Yunohost -[![Nivel de integración](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![Estado funcional](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) +[![Nivel de integración](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Estado funcional](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) [![Instalar Nextcloud con Yunhost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) diff --git a/README_eu.md b/README_eu.md index a72230bb..0be7b88e 100644 --- a/README_eu.md +++ b/README_eu.md @@ -5,7 +5,7 @@ EZ editatu eskuz. # Nextcloud YunoHost-erako -[![Integrazio maila](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![Funtzionamendu egoera](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Mantentze egoera](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) +[![Integrazio maila](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Funtzionamendu egoera](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Mantentze egoera](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) [![Instalatu Nextcloud YunoHost-ekin](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) diff --git a/README_fr.md b/README_fr.md index 814c1d7f..cf2fbfb2 100644 --- a/README_fr.md +++ b/README_fr.md @@ -5,7 +5,7 @@ Il NE doit PAS être modifié à la main. # Nextcloud pour YunoHost -[![Niveau d’intégration](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) +[![Niveau d’intégration](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) [![Installer Nextcloud avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) diff --git a/README_gl.md b/README_gl.md index 9abd0978..6e3bf79b 100644 --- a/README_gl.md +++ b/README_gl.md @@ -5,7 +5,7 @@ NON debe editarse manualmente. # Nextcloud para YunoHost -[![Nivel de integración](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![Estado de funcionamento](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Estado de mantemento](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) +[![Nivel de integración](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Estado de funcionamento](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Estado de mantemento](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) [![Instalar Nextcloud con YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) diff --git a/README_zh_Hans.md b/README_zh_Hans.md index a9c8d4f9..1f71c2b3 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -5,7 +5,7 @@ # YunoHost 上的 Nextcloud -[![集成程度](https://dash.yunohost.org/integration/nextcloud.svg)](https://dash.yunohost.org/appci/app/nextcloud) ![工作状态](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![维护状态](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) +[![集成程度](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![工作状态](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![维护状态](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) [![使用 YunoHost 安装 Nextcloud](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) From 42ae252c078eb3798c34cd0d20482ce7e4b59221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:05:46 +0200 Subject: [PATCH 26/80] Update nginx.conf --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 0300bad6..5a4f22a3 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -102,7 +102,7 @@ location ^~ __PATH__/ { # `/nextcloud/index.php` to the URI, resulting in a HTTP 500 error response. location ~ \.php(?:$|/) { # Required for legacy support - rewrite ^__PATH__/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode\/proxy|.+\/richdocumentscode_arm64\/proxy) __PATH__/index.php$request_uri; + rewrite ^__PATH__/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode(_arm64)?\/proxy) __PATH__/index.php$request_uri; fastcgi_split_path_info ^(.+?\.php)(/.*)$; set $path_info $fastcgi_path_info; From 9fcb43a0bf94b3bb7aa740984330589102cd9e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 18 Jul 2024 14:49:44 +0200 Subject: [PATCH 27/80] Update manifest.toml --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index ef01371e..4cf5e999 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.3~ynh1" +version = "29.0.4~ynh1" maintainers = ["kay0u"] @@ -66,8 +66,8 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.3.tar.bz2' - sha256 = 'a5996e764c120927f8844d8f5b28c736b8e2f3280b120be13a2bd7731cdb7fd4' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.4.tar.bz2' + sha256 = '19c469e264b31ee80400f8396460854546569e88db4c15fc0854e192f96027eb' [resources.sources.28] url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.0.tar.bz2' From 49e88d894995d3096367581a39f64fd3a5eafc1e Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 18 Jul 2024 12:49:49 +0000 Subject: [PATCH 28/80] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index da9c32c3..b9dea00a 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Shipped version:** 29.0.3~ynh1 +**Shipped version:** 29.0.4~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index af9d2629..b8685717 100644 --- a/README_es.md +++ b/README_es.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión actual:** 29.0.3~ynh1 +**Versión actual:** 29.0.4~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index 0be7b88e..5a1609e8 100644 --- a/README_eu.md +++ b/README_eu.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Paketatutako bertsioa:** 29.0.3~ynh1 +**Paketatutako bertsioa:** 29.0.4~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index cf2fbfb2..0b9ec937 100644 --- a/README_fr.md +++ b/README_fr.md @@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal -**Version incluse :** 29.0.3~ynh1 +**Version incluse :** 29.0.4~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index 6e3bf79b..939c2a41 100644 --- a/README_gl.md +++ b/README_gl.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**Versión proporcionada:** 29.0.3~ynh1 +**Versión proporcionada:** 29.0.4~ynh1 **Demo:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 1f71c2b3..eb9b198f 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal -**分发版本:** 29.0.3~ynh1 +**分发版本:** 29.0.4~ynh1 **演示:** From 70e9e721f227fef70ae015c6a8db0938888d36b7 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Thu, 18 Jul 2024 17:29:39 +0200 Subject: [PATCH 29/80] Rework DESCRIPTION.md (#707) * Update DESCRIPTION_fr.md * Auto-update READMEs * Update DESCRIPTION.md * Auto-update READMEs * Update DESCRIPTION_fr.md * Auto-update READMEs --------- Co-authored-by: yunohost-bot --- README.md | 12 +++--------- README_es.md | 12 +++--------- README_eu.md | 12 +++--------- README_fr.md | 12 +++--------- README_gl.md | 12 +++--------- README_zh_Hans.md | 12 +++--------- doc/DESCRIPTION.md | 12 +++--------- doc/DESCRIPTION_fr.md | 12 +++--------- 8 files changed, 24 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index b9dea00a..81eb8a69 100644 --- a/README.md +++ b/README.md @@ -16,17 +16,11 @@ It shall NOT be edited by hand. ## Overview -Nextcloud Hub is a fully open-source on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces. +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. -### YunoHost-specific features +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). -In addition to Nextcloud core features, the following are made available with this package: - - * Integrate with YunoHost users and SSO - i.e. logout button - * Allow one user to be the administrator (set at the installation) - * Allow multiple instances of this application - * Optionally access the user home folder from Nextcloud files (set at the installation, the sharing is enabled by default) - * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. **Shipped version:** 29.0.4~ynh1 diff --git a/README_es.md b/README_es.md index b8685717..9b75f1c2 100644 --- a/README_es.md +++ b/README_es.md @@ -16,17 +16,11 @@ No se debe editar a mano. ## Descripción general -Nextcloud Hub is a fully open-source on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces. +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. -### YunoHost-specific features +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). -In addition to Nextcloud core features, the following are made available with this package: - - * Integrate with YunoHost users and SSO - i.e. logout button - * Allow one user to be the administrator (set at the installation) - * Allow multiple instances of this application - * Optionally access the user home folder from Nextcloud files (set at the installation, the sharing is enabled by default) - * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. **Versión actual:** 29.0.4~ynh1 diff --git a/README_eu.md b/README_eu.md index 5a1609e8..8b722e45 100644 --- a/README_eu.md +++ b/README_eu.md @@ -16,17 +16,11 @@ EZ editatu eskuz. ## Aurreikuspena -Nextcloud Hub is a fully open-source on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces. +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. -### YunoHost-specific features +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). -In addition to Nextcloud core features, the following are made available with this package: - - * Integrate with YunoHost users and SSO - i.e. logout button - * Allow one user to be the administrator (set at the installation) - * Allow multiple instances of this application - * Optionally access the user home folder from Nextcloud files (set at the installation, the sharing is enabled by default) - * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. **Paketatutako bertsioa:** 29.0.4~ynh1 diff --git a/README_fr.md b/README_fr.md index 0b9ec937..f59d5831 100644 --- a/README_fr.md +++ b/README_fr.md @@ -16,17 +16,11 @@ Il NE doit PAS être modifié à la main. ## Vue d’ensemble -Nextcloud Hub est la plate-forme de collaboration de contenu sur site entièrement open source. Les équipes accèdent, partagent et modifient leurs documents, discutent et participent à des appels vidéo et gèrent leur courrier, leur calendrier et leurs projets sur des interfaces mobiles, de bureau et Web. +Nextcloud permet de rendre accessible et de synchroniser ses données, fichiers, contacts, agendas entre différents appareils (ordinateurs ou mobiles), ou de les partager avec d'autres personnes (avec ou sans comptes), et propose également des fonctionnalités avancées de communication et de travail collaboratif. Nextcloud dispose de son propre mécanisme d'applications (voir aussi [le store d'apps de Nextcloud](https://apps.nextcloud.com/)) pour disposer des fonctionnalités spécifiques. -### Caractéristiques spécifiques YunoHost +Dans le cadre de YunoHost, Nextcloud s'intègre avec le SSO / portail utilisateur (les comptes YunoHost sont automatiquements connectés à Nextcloud). -En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suivantes sont incluses dans ce package : - - * Intégration avec les utilisateurs YunoHost et le SSO - exemple, le bouton de déconnexion - * Permet à un utilisateur d'être l'administrateur (choisi à l'installation) - * Permet de multiples instances de cette application - * Accès optionnel au répertoire home depuis les fichiers Nextcloud (à activer à l'installation, le partage étant activé par défaut) - * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal +L'adresse `/.well-known` sera automatiquement configuré pour la synchronisation CalDAV et CardDAV si aucun autre service tel que Baïkal ne l'utilise déjà. **Version incluse :** 29.0.4~ynh1 diff --git a/README_gl.md b/README_gl.md index 939c2a41..9a823a38 100644 --- a/README_gl.md +++ b/README_gl.md @@ -16,17 +16,11 @@ NON debe editarse manualmente. ## Vista xeral -Nextcloud Hub is a fully open-source on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces. +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. -### YunoHost-specific features +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). -In addition to Nextcloud core features, the following are made available with this package: - - * Integrate with YunoHost users and SSO - i.e. logout button - * Allow one user to be the administrator (set at the installation) - * Allow multiple instances of this application - * Optionally access the user home folder from Nextcloud files (set at the installation, the sharing is enabled by default) - * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. **Versión proporcionada:** 29.0.4~ynh1 diff --git a/README_zh_Hans.md b/README_zh_Hans.md index eb9b198f..465182e3 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -16,17 +16,11 @@ ## 概况 -Nextcloud Hub is a fully open-source on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces. +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. -### YunoHost-specific features +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). -In addition to Nextcloud core features, the following are made available with this package: - - * Integrate with YunoHost users and SSO - i.e. logout button - * Allow one user to be the administrator (set at the installation) - * Allow multiple instances of this application - * Optionally access the user home folder from Nextcloud files (set at the installation, the sharing is enabled by default) - * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. **分发版本:** 29.0.4~ynh1 diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md index 3d35dc46..67150c8f 100644 --- a/doc/DESCRIPTION.md +++ b/doc/DESCRIPTION.md @@ -1,11 +1,5 @@ -Nextcloud Hub is a fully open-source on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces. +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. -### YunoHost-specific features +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). -In addition to Nextcloud core features, the following are made available with this package: - - * Integrate with YunoHost users and SSO - i.e. logout button - * Allow one user to be the administrator (set at the installation) - * Allow multiple instances of this application - * Optionally access the user home folder from Nextcloud files (set at the installation, the sharing is enabled by default) - * Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. diff --git a/doc/DESCRIPTION_fr.md b/doc/DESCRIPTION_fr.md index 6131f487..b9229dc0 100644 --- a/doc/DESCRIPTION_fr.md +++ b/doc/DESCRIPTION_fr.md @@ -1,11 +1,5 @@ -Nextcloud Hub est la plate-forme de collaboration de contenu sur site entièrement open source. Les équipes accèdent, partagent et modifient leurs documents, discutent et participent à des appels vidéo et gèrent leur courrier, leur calendrier et leurs projets sur des interfaces mobiles, de bureau et Web. +Nextcloud permet de rendre accessible et de synchroniser ses données, fichiers, contacts, agendas entre différents appareils (ordinateurs ou mobiles), ou de les partager avec d'autres personnes (avec ou sans comptes), et propose également des fonctionnalités avancées de communication et de travail collaboratif. Nextcloud dispose de son propre mécanisme d'applications (voir aussi [le store d'apps de Nextcloud](https://apps.nextcloud.com/)) pour disposer des fonctionnalités spécifiques. -### Caractéristiques spécifiques YunoHost +Dans le cadre de YunoHost, Nextcloud s'intègre avec le SSO / portail utilisateur (les comptes YunoHost sont automatiquements connectés à Nextcloud). -En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suivantes sont incluses dans ce package : - - * Intégration avec les utilisateurs YunoHost et le SSO - exemple, le bouton de déconnexion - * Permet à un utilisateur d'être l'administrateur (choisi à l'installation) - * Permet de multiples instances de cette application - * Accès optionnel au répertoire home depuis les fichiers Nextcloud (à activer à l'installation, le partage étant activé par défaut) - * Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal +L'adresse `/.well-known` sera automatiquement configuré pour la synchronisation CalDAV et CardDAV si aucun autre service tel que Baïkal ne l'utilise déjà. From c0a58b2190ed028859aa5c403344c58844e2f166 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 25 Jul 2024 11:40:48 +0200 Subject: [PATCH 30/80] bump all old versions --- manifest.toml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/manifest.toml b/manifest.toml index 4cf5e999..ebffdec5 100644 --- a/manifest.toml +++ b/manifest.toml @@ -70,32 +70,33 @@ ram.runtime = "512M" sha256 = '19c469e264b31ee80400f8396460854546569e88db4c15fc0854e192f96027eb' [resources.sources.28] - url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.0.tar.bz2' - sha256 = '4e8b0b74b40221e85f92ab869d0873c69a52d7e43889d9259c6259428a6a36f2' + url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.8.tar.bz2' + sha256 = '55a2f745fcc8f01b5816b23333f1e3014d2040a66794e132ddd0d219a37be53a' + prefetch = false [resources.sources.27] - url = 'https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2' - sha256 = '3d312a09b9345ac058758dd7b4059bf3cf0b1f0f1d747251b6fac3585ba6533f' + url = 'https://download.nextcloud.com/server/releases/nextcloud-27.1.11.tar.bz2' + sha256 = '4edd2570f4c83442f8f0f0616fb774ed2663b11cf9f6ea49e795ab43aeef9645' prefetch = false [resources.sources.26] - url = 'https://download.nextcloud.com/server/releases/nextcloud-26.0.0.tar.bz2' - sha256 = 'f163150363aee9366ecb5cd5259bf6756ed4f073cea78b5fa515cada7a0d0c3d' + url = 'https://download.nextcloud.com/server/releases/nextcloud-26.0.13.tar.bz2' + sha256 = '0a362df7a1233348f99d1853fd7e79f0667b552c145dc45012fab54ac31c79ae' prefetch = false [resources.sources.25] - url = 'https://download.nextcloud.com/server/releases/nextcloud-25.0.0.tar.bz2' - sha256 = '2c05ac9d7b72b44ef8b3d2ae03ff0fd6121e254b8054556f5163bd8760dd8f49' + url = https://download.nextcloud.com/server/releases/nextcloud-25.0.13.tar.bz2' + sha256 = '387bac148a696244f1ec02698a082d408283a875b3de85eb9719dd4493eebe33' prefetch = false [resources.sources.24] - url = 'https://download.nextcloud.com/server/releases/nextcloud-24.0.0.tar.bz2' - sha256 = '176cb5620f20465fb4759bdf3caaebeb7acff39d6c8630351af9f8738c173780' + url = 'https://download.nextcloud.com/server/releases/nextcloud-24.0.12.tar.bz2' + sha256 = '2f093bdf7d34faf38d22f38a5e11f3aee32746ff4add3df17c790b9b36390836' prefetch = false [resources.sources.23] - url = 'https://download.nextcloud.com/server/releases/nextcloud-23.0.0.tar.bz2' - sha256 = 'c37592abc3b65c8fd28459281a24f414b87af52fc8c2ea979be3f9be75d01a2c' + url = 'https://download.nextcloud.com/server/releases/nextcloud-23.0.12.tar.bz2' + sha256 = 'ad3637fd987e9f1ed5bd5dbd177bdce1e39228e3daf95bc4a3c590d4b1522b1e' prefetch = false [resources.system_user] From 9d4487836c19ed1acef55afa9c75356a0d4a7e86 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 25 Jul 2024 11:47:32 +0200 Subject: [PATCH 31/80] oupsie --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index ebffdec5..7f0c9ca2 100644 --- a/manifest.toml +++ b/manifest.toml @@ -85,7 +85,7 @@ ram.runtime = "512M" prefetch = false [resources.sources.25] - url = https://download.nextcloud.com/server/releases/nextcloud-25.0.13.tar.bz2' + url = 'https://download.nextcloud.com/server/releases/nextcloud-25.0.13.tar.bz2' sha256 = '387bac148a696244f1ec02698a082d408283a875b3de85eb9719dd4493eebe33' prefetch = false From 9bb5bee9db9d8a349d7ab41d29ad0e4555a57789 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 25 Jul 2024 09:47:36 +0000 Subject: [PATCH 32/80] Auto-update READMEs --- ALL_README.md | 1 + README_id.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 README_id.md diff --git a/ALL_README.md b/ALL_README.md index 152f2e74..4ed64dd4 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -5,4 +5,5 @@ - [Irakurri README euskaraz](README_eu.md) - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) +- [Baca README dalam bahasa bahasa Indonesia](README_id.md) - [阅读中文(简体)的 README](README_zh_Hans.md) diff --git a/README_id.md b/README_id.md new file mode 100644 index 00000000..281ffba1 --- /dev/null +++ b/README_id.md @@ -0,0 +1,55 @@ + + +# Nextcloud untuk YunoHost + +[![Tingkat integrasi](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Status kerja](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Status pemeliharaan](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) + +[![Pasang Nextcloud dengan YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) + +*[Baca README ini dengan bahasa yang lain.](./ALL_README.md)* + +> *Paket ini memperbolehkan Anda untuk memasang Nextcloud secara cepat dan mudah pada server YunoHost.* +> *Bila Anda tidak mempunyai YunoHost, silakan berkonsultasi dengan [panduan](https://yunohost.org/install) untuk mempelajari bagaimana untuk memasangnya.* + +## Ringkasan + +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. + +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). + +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. + + +**Versi terkirim:** 29.0.4~ynh1 + +**Demo:** + +## Tangkapan Layar + +![Tangkapan Layar pada Nextcloud](./doc/screenshots/screenshot.png) + +## Dokumentasi dan sumber daya + +- Website aplikasi resmi: +- Dokumentasi pengguna resmi: +- Dokumentasi admin resmi: +- Repositori kode aplikasi hulu: +- Gudang YunoHost: +- Laporkan bug: + +## Info developer + +Silakan kirim pull request ke [`testing` branch](https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing). + +Untuk mencoba branch `testing`, silakan dilanjutkan seperti: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +atau +sudo yunohost app upgrade nextcloud -u https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +``` + +**Info lebih lanjut mengenai pemaketan aplikasi:** From 1cb2448d3bab7d0d476c7f5d673daf07b44b749c Mon Sep 17 00:00:00 2001 From: Kayou Date: Mon, 29 Jul 2024 10:12:38 +0200 Subject: [PATCH 33/80] system_addressbook_exposed is a boolean --- manifest.toml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 7f0c9ca2..d727ead0 100644 --- a/manifest.toml +++ b/manifest.toml @@ -57,9 +57,8 @@ ram.runtime = "512M" [install.system_addressbook_exposed] ask.en = "Should there be a system address book listing all users, accessible by all users?" ask.fr = "Devrait-il y avoir un carnet d'adresses système listant tous les comptes, accessible par tous les comptes ?" - type = "select" - choices = ["yes", "no"] - default = "yes" + type = "boolean" + default = true [resources] From 0c4ab487e8d854783502def7c19d0a2ecec9eb6b Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 29 Jul 2024 08:12:41 +0000 Subject: [PATCH 34/80] Auto-update READMEs --- README_id.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_id.md b/README_id.md index 281ffba1..71cbfaaf 100644 --- a/README_id.md +++ b/README_id.md @@ -36,7 +36,7 @@ The `/.well-known` address will be automatically configured for CalDAV and CardD - Website aplikasi resmi: - Dokumentasi pengguna resmi: - Dokumentasi admin resmi: -- Repositori kode aplikasi hulu: +- Depot kode aplikasi hulu: - Gudang YunoHost: - Laporkan bug: From 7f40b5a17b6c990550a03bcd25a023704d9395c8 Mon Sep 17 00:00:00 2001 From: Kayou Date: Mon, 29 Jul 2024 11:22:01 +0200 Subject: [PATCH 35/80] migrate system_addressbook_exposed to boolean, fix upgrade test --- scripts/upgrade | 9 +++++++++ tests.toml | 1 + 2 files changed, 10 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index c2ddc1d9..1441abbc 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,6 +10,15 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= ynh_script_progression --message="Ensuring downward compatibility..." +# Fix system_addressbook_exposed as a boolean +if [ "${system_addressbook_exposed,,}" = "yes" ]; then + ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=1 + system_addressbook_exposed=1 +elif [ "${system_addressbook_exposed,,}" = "no" ]; then + ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=0 + system_addressbook_exposed=0 +fi + # Remove the option backup_core_only if it's in the settings.yml file ynh_app_setting_delete --app=$app --key=backup_core_only diff --git a/tests.toml b/tests.toml index eb4b3634..cdd5e776 100644 --- a/tests.toml +++ b/tests.toml @@ -10,3 +10,4 @@ test_format = 1.0 test_upgrade_from.caf917f3.name = "Upgrade from 26.0.2" test_upgrade_from.9c6d1eea.name = "Upgrade from 27.1.4" test_upgrade_from.e9f82ab7.name = "Upgrade from 28.0.6" + test_upgrade_from.e9f82ab7.args.system_addressbook_exposed = "yes" From 4fa1f991eb780f31c522fc5f83875194fcdf27f8 Mon Sep 17 00:00:00 2001 From: Kayou Date: Mon, 29 Jul 2024 13:20:37 +0200 Subject: [PATCH 36/80] another fix for system_addressbook_exposed, update the dav conf accordingly --- scripts/upgrade | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 1441abbc..4db95980 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,6 +10,11 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= ynh_script_progression --message="Ensuring downward compatibility..." +if [ -z ${system_addressbook_exposed:-} ]; then + ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=0 + system_addressbook_exposed=0 +fi + # Fix system_addressbook_exposed as a boolean if [ "${system_addressbook_exposed,,}" = "yes" ]; then ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=1 @@ -288,6 +293,12 @@ then #================================================= exec_occ config:system:set overwrite.cli.url --value="https://${domain}${path}" + + #================================================= + # ENABLE OR DISABLE SYSTEM ADDRESS BOOK + #================================================= + + exec_occ config:app:set dav system_addressbook_exposed --value="$system_addressbook_exposed" #================================================= # MOUNT HOME FOLDERS AS EXTERNAL STORAGE From ae916549cac44773ce448764a64e7310592491aa Mon Sep 17 00:00:00 2001 From: Kayou Date: Mon, 29 Jul 2024 15:39:44 +0200 Subject: [PATCH 37/80] zblerg, do not modify system_addressbook_exposed config value in the upgrade script --- scripts/upgrade | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 4db95980..e36d62e1 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -11,17 +11,17 @@ upgrade_type=$(ynh_check_app_version_changed) ynh_script_progression --message="Ensuring downward compatibility..." if [ -z ${system_addressbook_exposed:-} ]; then - ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=0 + ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=0 system_addressbook_exposed=0 fi # Fix system_addressbook_exposed as a boolean if [ "${system_addressbook_exposed,,}" = "yes" ]; then - ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=1 - system_addressbook_exposed=1 + ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=1 + system_addressbook_exposed=1 elif [ "${system_addressbook_exposed,,}" = "no" ]; then - ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=0 - system_addressbook_exposed=0 + ynh_app_setting_set --app=$app --key=system_addressbook_exposed --value=0 + system_addressbook_exposed=0 fi # Remove the option backup_core_only if it's in the settings.yml file @@ -293,12 +293,6 @@ then #================================================= exec_occ config:system:set overwrite.cli.url --value="https://${domain}${path}" - - #================================================= - # ENABLE OR DISABLE SYSTEM ADDRESS BOOK - #================================================= - - exec_occ config:app:set dav system_addressbook_exposed --value="$system_addressbook_exposed" #================================================= # MOUNT HOME FOLDERS AS EXTERNAL STORAGE From 4b9224fd9b35ad44b316a69538f8cecb8fd7a14f Mon Sep 17 00:00:00 2001 From: Kayou Date: Tue, 30 Jul 2024 12:09:00 +0200 Subject: [PATCH 38/80] add redis-server as deps --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index d727ead0..7b855d6e 100644 --- a/manifest.toml +++ b/manifest.toml @@ -116,7 +116,7 @@ ram.runtime = "512M" api.allowed = ["visitors", "all_users"] [resources.apt] - packages = "mariadb-server, imagemagick, libmagickcore-6.q16-6-extra, acl, tar, smbclient, at, php8.3-fpm, php8.3-bz2, php8.3-imap, php8.3-gmp, php8.3-gd, php8.3-intl, php8.3-curl, php8.3-apcu, php8.3-redis, php8.3-ldap, php8.3-imagick, php8.3-zip, php8.3-mbstring, php8.3-xml, php8.3-mysql, php8.3-igbinary, php8.3-bcmath" + packages = "mariadb-server, imagemagick, libmagickcore-6.q16-6-extra, acl, tar, smbclient, at, redis-server, php8.3-fpm, php8.3-bz2, php8.3-imap, php8.3-gmp, php8.3-gd, php8.3-intl, php8.3-curl, php8.3-apcu, php8.3-redis, php8.3-ldap, php8.3-imagick, php8.3-zip, php8.3-mbstring, php8.3-xml, php8.3-mysql, php8.3-igbinary, php8.3-bcmath" [resources.database] type = "mysql" From e215d9c5c9889d8c69a056c67ad8997a5dd69646 Mon Sep 17 00:00:00 2001 From: Kayou Date: Tue, 30 Jul 2024 16:52:31 +0200 Subject: [PATCH 39/80] find files before chown them --- scripts/install | 7 ++++--- scripts/restore | 4 ++-- scripts/upgrade | 10 ++++++---- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/scripts/install b/scripts/install index 88c1c0da..0e303198 100755 --- a/scripts/install +++ b/scripts/install @@ -64,7 +64,8 @@ exec_occ() { } # Set write access for the following commands -chown -R $app: "$install_dir" "$data_dir" +find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ # Define password in an intermediate var # The fact that it's called _password allows it to be @@ -234,8 +235,8 @@ ynh_multimedia_addaccess $app #================================================= # Fix app ownerships & permissions -chown -R $app:www-data "$install_dir" -chown -R $app: "$data_dir" +find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/restore b/scripts/restore index 1b0f63cd..da7848e9 100755 --- a/scripts/restore +++ b/scripts/restore @@ -79,8 +79,8 @@ ynh_restore_file --origin_path="$data_dir" --not_mandatory #================================================= # Fix app ownerships & permissions -chown -R $app:www-data "$install_dir" -chown -R $app: "$data_dir" +find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/upgrade b/scripts/upgrade index e36d62e1..5d704467 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -138,7 +138,8 @@ then ynh_script_progression --message="Upgrading $app..." --weight=3 # Set write access for the following commands - chown -R $app: "$install_dir" "$data_dir" + find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ + find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ # Print the current version number of Nextcloud exec_occ -V @@ -207,7 +208,8 @@ then mv "$tmpdir" "$install_dir" # Set write access for the following commands - chown -R $app: "$install_dir" "$data_dir" + find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ + find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ # Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3) exec_occ maintenance:mode --off @@ -324,8 +326,8 @@ fi ynh_script_progression --message="Reapplying file permissions..." --weight=2 # Fix app ownerships & permissions -chown -R $app:www-data "$install_dir" -chown -R $app: "$data_dir" +find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 From 5dc5e8ba10f5eab37f8ae085ae4a56f3b9a44d2d Mon Sep 17 00:00:00 2001 From: Kayou Date: Tue, 30 Jul 2024 18:30:19 +0200 Subject: [PATCH 40/80] chown the root folder too --- scripts/install | 4 ++++ scripts/restore | 2 ++ scripts/upgrade | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/scripts/install b/scripts/install index 0e303198..9b705b54 100755 --- a/scripts/install +++ b/scripts/install @@ -65,7 +65,9 @@ exec_occ() { # Set write access for the following commands find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +chown $app:www-data "$install_dir" find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ +chown $app: "$data_dir" # Define password in an intermediate var # The fact that it's called _password allows it to be @@ -236,7 +238,9 @@ ynh_multimedia_addaccess $app # Fix app ownerships & permissions find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +chown $app:www-data "$install_dir" find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ +chown $app: "$data_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/restore b/scripts/restore index da7848e9..5ef4f919 100755 --- a/scripts/restore +++ b/scripts/restore @@ -80,7 +80,9 @@ ynh_restore_file --origin_path="$data_dir" --not_mandatory # Fix app ownerships & permissions find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +chown $app:www-data "$install_dir" find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ +chown $app: "$data_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/upgrade b/scripts/upgrade index 5d704467..76d424bd 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -139,7 +139,9 @@ then # Set write access for the following commands find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ + chown $app:www-data "$install_dir" find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ + chown $app: "$data_dir" # Print the current version number of Nextcloud exec_occ -V @@ -209,7 +211,9 @@ then # Set write access for the following commands find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ + chown $app:www-data "$install_dir" find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ + chown $app: "$data_dir" # Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3) exec_occ maintenance:mode --off @@ -327,7 +331,9 @@ ynh_script_progression --message="Reapplying file permissions..." --weight=2 # Fix app ownerships & permissions find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ +chown $app:www-data "$install_dir" find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ +chown $app: "$data_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 From 8d682cbdbcbd1579a9c901f71429dd7354449ae8 Mon Sep 17 00:00:00 2001 From: Kayou Date: Wed, 31 Jul 2024 11:56:49 +0200 Subject: [PATCH 41/80] fix find condition --- scripts/install | 12 ++++-------- scripts/restore | 6 ++---- scripts/upgrade | 18 ++++++------------ 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/scripts/install b/scripts/install index 9b705b54..d8ef9c07 100755 --- a/scripts/install +++ b/scripts/install @@ -64,10 +64,8 @@ exec_occ() { } # Set write access for the following commands -find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ -chown $app:www-data "$install_dir" -find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ -chown $app: "$data_dir" +find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ # Define password in an intermediate var # The fact that it's called _password allows it to be @@ -237,10 +235,8 @@ ynh_multimedia_addaccess $app #================================================= # Fix app ownerships & permissions -find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ -chown $app:www-data "$install_dir" -find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ -chown $app: "$data_dir" +find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/restore b/scripts/restore index 5ef4f919..6ef7833f 100755 --- a/scripts/restore +++ b/scripts/restore @@ -79,10 +79,8 @@ ynh_restore_file --origin_path="$data_dir" --not_mandatory #================================================= # Fix app ownerships & permissions -find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ -chown $app:www-data "$install_dir" -find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ -chown $app: "$data_dir" +find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/upgrade b/scripts/upgrade index 76d424bd..48a88891 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -138,10 +138,8 @@ then ynh_script_progression --message="Upgrading $app..." --weight=3 # Set write access for the following commands - find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ - chown $app:www-data "$install_dir" - find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ - chown $app: "$data_dir" + find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ + find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ # Print the current version number of Nextcloud exec_occ -V @@ -210,10 +208,8 @@ then mv "$tmpdir" "$install_dir" # Set write access for the following commands - find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ - chown $app:www-data "$install_dir" - find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ - chown $app: "$data_dir" + find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ + find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ # Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3) exec_occ maintenance:mode --off @@ -330,10 +326,8 @@ fi ynh_script_progression --message="Reapplying file permissions..." --weight=2 # Fix app ownerships & permissions -find "$install_dir" -not \( -user $app -or -group www-data \) -exec chown $app:www-data {} \+ -chown $app:www-data "$install_dir" -find "$data_dir" -not \( -user $app -or -group $app \) -exec chown $app: {} \+ -chown $app: "$data_dir" +find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ +find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 From 706d5071c6f4e04af2050546b563400a4e2649f4 Mon Sep 17 00:00:00 2001 From: Kayou Date: Wed, 31 Jul 2024 14:59:55 +0200 Subject: [PATCH 42/80] find ... chmod is not faster, at least avoid to chown -R the data_dir in the upgrade script --- scripts/install | 8 ++++---- scripts/restore | 4 ++-- scripts/upgrade | 9 +++------ 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/scripts/install b/scripts/install index d8ef9c07..2f7b40aa 100755 --- a/scripts/install +++ b/scripts/install @@ -64,8 +64,8 @@ exec_occ() { } # Set write access for the following commands -find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ -find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ +chown -R $app:www-data "$install_dir" +chown -R $app: "$data_dir" # Define password in an intermediate var # The fact that it's called _password allows it to be @@ -235,8 +235,8 @@ ynh_multimedia_addaccess $app #================================================= # Fix app ownerships & permissions -find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ -find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ +chown -R $app:www-data "$install_dir" +chown -R $app: "$data_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/restore b/scripts/restore index 6ef7833f..1b0f63cd 100755 --- a/scripts/restore +++ b/scripts/restore @@ -79,8 +79,8 @@ ynh_restore_file --origin_path="$data_dir" --not_mandatory #================================================= # Fix app ownerships & permissions -find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ -find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ +chown -R $app:www-data "$install_dir" +chown -R $app: "$data_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 diff --git a/scripts/upgrade b/scripts/upgrade index 48a88891..9fb31573 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -138,8 +138,7 @@ then ynh_script_progression --message="Upgrading $app..." --weight=3 # Set write access for the following commands - find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ - find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ + chown -R $app:www-data "$install_dir" # Print the current version number of Nextcloud exec_occ -V @@ -208,8 +207,7 @@ then mv "$tmpdir" "$install_dir" # Set write access for the following commands - find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ - find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ + chown -R $app:www-data "$install_dir" # Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3) exec_occ maintenance:mode --off @@ -326,8 +324,7 @@ fi ynh_script_progression --message="Reapplying file permissions..." --weight=2 # Fix app ownerships & permissions -find "$install_dir" -not \( -user $app -and -group www-data \) -exec chown $app:www-data {} \+ -find "$data_dir" -not \( -user $app -and -group $app \) -exec chown $app: {} \+ +chown -R $app:www-data "$install_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 From d240d552b47d717fd23154e5cd1eb236b5c29126 Mon Sep 17 00:00:00 2001 From: Kayou Date: Wed, 31 Jul 2024 15:11:08 +0200 Subject: [PATCH 43/80] add a button in the config panel to run chown/chmod on data_dir --- config_panel.toml | 11 ++++++++--- scripts/config | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/config_panel.toml b/config_panel.toml index 4e458b6b..e5e88aed 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -3,14 +3,19 @@ version = "1.0" [main] name = "Nextcloud configuration" - [main.maintenance_mode] - name = "Maintenance mode" + [main.maintenance] + name = "Maintenance" - [main.maintenance_mode.maintenance_mode] + [main.maintenance.maintenance_mode] ask = "Enable maintenance mode" type = "boolean" default = "0" + [main.maintenance.set_permissions_button] + ask.en = "Set permissions for all data (Can take up to several hours if users have a lot of data)" + type = "button" + style = "success" + [main.addressbook] name = "Address book configuration" diff --git a/scripts/config b/scripts/config index 93ced20f..e2310095 100644 --- a/scripts/config +++ b/scripts/config @@ -105,6 +105,24 @@ set__fpm_free_footprint() { fi } +#================================================= +# SPECIFIC RUNNERS FOR TOML SHORT KEYS +#================================================= + +function run__set_permissions_button() { + local data_dir=$(ynh_app_setting_get --app=$app --key=data_dir) + ynh_print_info "Set permissions, it may take some time..." + chown -R $app:www-data "$install_dir" + chown -R $app: "$data_dir" + find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 + find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 + find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 + find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750 + chmod 640 "$install_dir/config/config.php" + chmod 755 /home/yunohost.app + chmod 750 $install_dir +} + #================================================= # GENERIC FINALIZATION #================================================= From 30b2d8123a13d315c803486d9abee3607cc2162f Mon Sep 17 00:00:00 2001 From: Kayou Date: Wed, 31 Jul 2024 15:13:04 +0200 Subject: [PATCH 44/80] we can avoid this chmod too i guess? --- scripts/upgrade | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 9fb31573..2a021507 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -327,8 +327,6 @@ ynh_script_progression --message="Reapplying file permissions..." --weight=2 chown -R $app:www-data "$install_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 -find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 -find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750 chmod 640 "$install_dir/config/config.php" chmod 755 /home/yunohost.app chmod 750 $install_dir From 55b5c7900fc0330c0a75252f464c1eade24f7ef2 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 00:16:45 +0200 Subject: [PATCH 45/80] only nextcloud is allowed to read the config file --- scripts/install | 3 ++- scripts/restore | 2 +- scripts/upgrade | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index 2f7b40aa..f2635e76 100755 --- a/scripts/install +++ b/scripts/install @@ -65,6 +65,7 @@ exec_occ() { # Set write access for the following commands chown -R $app:www-data "$install_dir" +chmod 600 "$install_dir/config/config.php" chown -R $app: "$data_dir" # Define password in an intermediate var @@ -241,7 +242,7 @@ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750 -chmod 640 "$install_dir/config/config.php" +chmod 600 "$install_dir/config/config.php" chmod 755 /home/yunohost.app chmod 750 $install_dir diff --git a/scripts/restore b/scripts/restore index 1b0f63cd..9ae36115 100755 --- a/scripts/restore +++ b/scripts/restore @@ -85,7 +85,7 @@ find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 find $data_dir/data/ -type f -print0 | xargs -r0 chmod 0640 find $data_dir/data/ -type d -print0 | xargs -r0 chmod 0750 -chmod 640 "$install_dir/config/config.php" +chmod 600 "$install_dir/config/config.php" chmod 755 /home/yunohost.app chmod 750 $install_dir diff --git a/scripts/upgrade b/scripts/upgrade index 2a021507..846c1d9c 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -139,6 +139,7 @@ then # Set write access for the following commands chown -R $app:www-data "$install_dir" + chmod 600 "$install_dir/config/config.php" # Print the current version number of Nextcloud exec_occ -V @@ -208,6 +209,7 @@ then # Set write access for the following commands chown -R $app:www-data "$install_dir" + chmod 600 "$install_dir/config/config.php" # Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3) exec_occ maintenance:mode --off @@ -327,7 +329,7 @@ ynh_script_progression --message="Reapplying file permissions..." --weight=2 chown -R $app:www-data "$install_dir" find $install_dir/ -type f -print0 | xargs -r0 chmod 0644 find $install_dir/ -type d -print0 | xargs -r0 chmod 0755 -chmod 640 "$install_dir/config/config.php" +chmod 600 "$install_dir/config/config.php" chmod 755 /home/yunohost.app chmod 750 $install_dir From 07f90a85f6e24d66dc4b863011b71484ab11ce2f Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 09:30:49 +0200 Subject: [PATCH 46/80] zblerg, the config file doesn't exist before install --- scripts/install | 1 - scripts/upgrade | 2 -- 2 files changed, 3 deletions(-) diff --git a/scripts/install b/scripts/install index f2635e76..0987b848 100755 --- a/scripts/install +++ b/scripts/install @@ -65,7 +65,6 @@ exec_occ() { # Set write access for the following commands chown -R $app:www-data "$install_dir" -chmod 600 "$install_dir/config/config.php" chown -R $app: "$data_dir" # Define password in an intermediate var diff --git a/scripts/upgrade b/scripts/upgrade index 846c1d9c..074385b0 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -139,7 +139,6 @@ then # Set write access for the following commands chown -R $app:www-data "$install_dir" - chmod 600 "$install_dir/config/config.php" # Print the current version number of Nextcloud exec_occ -V @@ -209,7 +208,6 @@ then # Set write access for the following commands chown -R $app:www-data "$install_dir" - chmod 600 "$install_dir/config/config.php" # Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3) exec_occ maintenance:mode --off From 5556fb6549d8602ba0ccd8455f2c081065f6692d Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 11:44:40 +0200 Subject: [PATCH 47/80] wait until nginx has actually remove the nextcloud conf during upgrade before checking the url_handled --- scripts/upgrade | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index e36d62e1..aa391c02 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -357,6 +357,15 @@ ynh_app_setting_delete --app=$app --key="checksum__etc_nginx_conf.d_$domain.d_$a # Wait untils NGINX has fully reloaded ynh_systemd_action --service_name=nginx --action=reload --line_match="Reloaded" --log_path="systemd" +# Nginx may take some time to support the new configuration, wait for the nextcloud configuration file to disappear from nginx before checking the CalDAV/CardDAV URL. +timeout=30 +for i in $(seq 1 $timeout); do + if ! ynh_exec_warn_less nginx -T | grep --quiet "# configuration file /etc/nginx/conf.d/$domain.d/$app.conf:"; then + break + fi + sleep 1 +done + # Check if .well-known is available for this domain if is_url_handled --domain="$domain" --path="/.well-known/caldav" || is_url_handled --domain="$domain" --path="/.well-known/carddav" then From d7f9b2c9fd77fac51d1d7dad0f6d0ff6572d2e71 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 11:53:16 +0200 Subject: [PATCH 48/80] create a function for that --- scripts/_common.sh | 13 +++++++++++++ scripts/upgrade | 9 +-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 65cce784..f060a27d 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -8,6 +8,19 @@ # EXPERIMENTAL HELPERS #================================================= +wait_nginx_reload() { + # Nginx may take some time to support the new configuration, + # wait for the nextcloud configuration file to disappear from nginx before checking the CalDAV/CardDAV URL. + timeout=30 + for i in $(seq 1 $timeout); do + if ! ynh_exec_warn_less nginx -T | grep --quiet "# configuration file /etc/nginx/conf.d/$domain.d/$app.conf:"; then + break + fi + sleep 1 +done +} + + # Check if an URL is already handled # usage: is_url_handled --domain=DOMAIN --path=PATH_URI is_url_handled() { diff --git a/scripts/upgrade b/scripts/upgrade index aa391c02..ad0e4c63 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -357,14 +357,7 @@ ynh_app_setting_delete --app=$app --key="checksum__etc_nginx_conf.d_$domain.d_$a # Wait untils NGINX has fully reloaded ynh_systemd_action --service_name=nginx --action=reload --line_match="Reloaded" --log_path="systemd" -# Nginx may take some time to support the new configuration, wait for the nextcloud configuration file to disappear from nginx before checking the CalDAV/CardDAV URL. -timeout=30 -for i in $(seq 1 $timeout); do - if ! ynh_exec_warn_less nginx -T | grep --quiet "# configuration file /etc/nginx/conf.d/$domain.d/$app.conf:"; then - break - fi - sleep 1 -done +wait_nginx_reload # Check if .well-known is available for this domain if is_url_handled --domain="$domain" --path="/.well-known/caldav" || is_url_handled --domain="$domain" --path="/.well-known/carddav" From 49ec72b6ef87e7a803ecf21793b275249ccd77e5 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 11:53:29 +0200 Subject: [PATCH 49/80] fix change-url dav detection --- scripts/change_url | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index aac12f0f..f43ed113 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -14,6 +14,16 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." --weight=2 +# Check if .well-known is available for this domain +if is_url_handled --domain="$new_domain" --path="/.well-known/caldav" || is_url_handled --domain="$new_domain" --path="/.well-known/carddav" +then + ynh_print_warn --message="Another app already uses the domain $new_domain to serve a CalDAV/CardDAV feature. You may encounter issues when dealing with your calendar or address book." + + # Remove lines about .well-known/carddav and caldav with sed. + sed --in-place --regexp-extended '/location = \/\.well\-known\/(caldav|carddav)/d' "/etc/nginx/conf.d/$domain.d/$app.conf" + ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.d/$app.conf" +fi + ynh_change_url_nginx_config #================================================= @@ -37,16 +47,6 @@ then # Reload php fpm, necessary for force nextcloud to re-read config.php, cf opcache.revalidate_freq ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload - - # Check if .well-known is available for this domain - if is_url_handled --domain="$new_domain" --path="/.well-known/caldav" || is_url_handled --domain="$new_domain" --path="/.well-known/carddav" - then - ynh_print_warn --message="Another app already uses the domain $new_domain to serve a CalDAV/CardDAV feature. You may encounter issues when dealing with your calendar or address book." - - # Remove lines about .well-known/carddav and caldav with sed. - sed --in-place --regexp-extended '/location = \/\.well\-known\/(caldav|carddav)/d' "/etc/nginx/conf.d/$new_domain.d/$app.conf" - ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" - fi fi #================================================= From 73a3498b93011ea6dd897fa409944740a8f466fa Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 11:54:17 +0200 Subject: [PATCH 50/80] only if domain has changed... --- scripts/change_url | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index f43ed113..8cadcea2 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -14,14 +14,17 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." --weight=2 -# Check if .well-known is available for this domain -if is_url_handled --domain="$new_domain" --path="/.well-known/caldav" || is_url_handled --domain="$new_domain" --path="/.well-known/carddav" +if [ $change_domain -eq 1 ] then - ynh_print_warn --message="Another app already uses the domain $new_domain to serve a CalDAV/CardDAV feature. You may encounter issues when dealing with your calendar or address book." + # Check if .well-known is available for this domain + if is_url_handled --domain="$new_domain" --path="/.well-known/caldav" || is_url_handled --domain="$new_domain" --path="/.well-known/carddav" + then + ynh_print_warn --message="Another app already uses the domain $new_domain to serve a CalDAV/CardDAV feature. You may encounter issues when dealing with your calendar or address book." - # Remove lines about .well-known/carddav and caldav with sed. - sed --in-place --regexp-extended '/location = \/\.well\-known\/(caldav|carddav)/d' "/etc/nginx/conf.d/$domain.d/$app.conf" - ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.d/$app.conf" + # Remove lines about .well-known/carddav and caldav with sed. + sed --in-place --regexp-extended '/location = \/\.well\-known\/(caldav|carddav)/d' "/etc/nginx/conf.d/$domain.d/$app.conf" + ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.d/$app.conf" + fi fi ynh_change_url_nginx_config From fa5da4fe666feee04e0988590e98a2944dc0188d Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 14:07:39 +0200 Subject: [PATCH 51/80] Update scripts/_common.sh --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index f060a27d..653a0b05 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -17,7 +17,7 @@ wait_nginx_reload() { break fi sleep 1 -done + done } From 4df511adf58a94d348495eb5b4e4751342dea5e0 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 14:39:05 +0200 Subject: [PATCH 52/80] select the version you wish to track in Yunohost --- manifest.toml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/manifest.toml b/manifest.toml index 7b855d6e..14e4dd95 100644 --- a/manifest.toml +++ b/manifest.toml @@ -60,6 +60,12 @@ ram.runtime = "512M" type = "boolean" default = true + [install.version_to_follow] + ask.en = "Which version do you want" + type = "select" + choices = ["stable", "oldstable"] + default = "stable" + [resources] [resources.sources] From cfb346dce799dd5f78da0cda4b8ae1ed3b5e0134 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 14:51:04 +0200 Subject: [PATCH 53/80] install: select between latest or oldstable version --- scripts/install | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 0987b848..b36fb315 100755 --- a/scripts/install +++ b/scripts/install @@ -23,8 +23,15 @@ ynh_script_progression --message="Setting up source files..." --weight=5 # Enable YunoHost patches on Nextcloud sources cp -a ../sources/patches_last_version/* ../sources/patches + +source_id="main" +if [ "$version_to_follow" == "oldstable" ]; then + last_version=$(ynh_read_manifest --manifest_key="resources.sources.main.url" | grep -o '[0-9][0-9]\.[0-9]\.[0-9]') + last_major_version=${last_version%%.*} + source_id=$((last_major_version--)) +fi # Download, check integrity, uncompress and patch the source from app.src -ynh_setup_source --dest_dir="$install_dir" +ynh_setup_source --dest_dir="$install_dir" --source_id="$source_id" #================================================= # PHP-FPM CONFIGURATION From 8a7f99d35470d7a6d0aec08ed56e6a0a6ade504e Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 17:29:04 +0200 Subject: [PATCH 54/80] moar sleep --- scripts/_common.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 653a0b05..512b33a2 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -19,7 +19,8 @@ wait_nginx_reload() { sleep 1 done } - +# Wait untils nginx has fully reloaded (avoid curl fail with http2) +sleep 2 # Check if an URL is already handled # usage: is_url_handled --domain=DOMAIN --path=PATH_URI From 5e498ded58e927892af5a56cfbf48b2563023f76 Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 17:29:50 +0200 Subject: [PATCH 55/80] oups --- scripts/_common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 512b33a2..19c1859d 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -18,9 +18,9 @@ wait_nginx_reload() { fi sleep 1 done + # Wait untils nginx has fully reloaded (avoid curl fail with http2) + sleep 2 } -# Wait untils nginx has fully reloaded (avoid curl fail with http2) -sleep 2 # Check if an URL is already handled # usage: is_url_handled --domain=DOMAIN --path=PATH_URI From e83c680c54f667f669079405c22c1559245a5489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 3 Aug 2024 09:49:44 +0200 Subject: [PATCH 56/80] minor typos --- scripts/_common.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 19c1859d..4cdc0189 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -9,8 +9,8 @@ #================================================= wait_nginx_reload() { - # Nginx may take some time to support the new configuration, - # wait for the nextcloud configuration file to disappear from nginx before checking the CalDAV/CardDAV URL. + # NGINX may take some time to support the new configuration, + # wait for the Nextcloud configuration file to disappear from NGINX before checking the CalDAV/CardDAV URL. timeout=30 for i in $(seq 1 $timeout); do if ! ynh_exec_warn_less nginx -T | grep --quiet "# configuration file /etc/nginx/conf.d/$domain.d/$app.conf:"; then @@ -18,7 +18,7 @@ wait_nginx_reload() { fi sleep 1 done - # Wait untils nginx has fully reloaded (avoid curl fail with http2) + # Wait untils NGINX has fully reloaded (avoid cURL fail with http2) sleep 2 } @@ -33,22 +33,22 @@ is_url_handled() { # Manage arguments with getopts ynh_handle_getopts_args "$@" - # Try to get the url with curl, and keep the http code and an eventual redirection url. + # Try to get the URL with cURL, and keep the http code and an eventual redirection URL. local curl_output="$(curl --insecure --silent --output /dev/null \ --write-out '%{http_code};%{redirect_url}' https://127.0.0.1$path --header "Host: $domain" --resolve $domain:443:127.0.0.1)" # Cut the output and keep only the first part to keep the http code local http_code="${curl_output%%;*}" - # Do the same thing but keep the second part, the redirection url + # Do the same thing but keep the second part, the redirection URL local redirection="${curl_output#*;}" - # Return 1 if the url isn't handled. - # Which means either curl got a 404 (or the admin) or the sso. - # A handled url should redirect to a publicly accessible url. - # Return 1 if the url has returned 404 + # Return 1 if the URL isn't handled. + # Which means either cURL got a 404 (or the admin) or the SSO. + # A handled URL should redirect to a publicly accessible URL. + # Return 1 if the URL has returned 404 if [ "$http_code" = "404" ] || [[ $redirection =~ "/yunohost/admin" ]]; then return 1 - # Return 1 if the url is redirected to the SSO + # Return 1 if the URL is redirected to the SSO elif [[ $redirection =~ "/yunohost/sso" ]]; then return 1 fi From a86e321c50f3c60e2c34842812b41b992277d2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 3 Aug 2024 09:52:05 +0200 Subject: [PATCH 57/80] Update backup --- scripts/backup | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/scripts/backup b/scripts/backup index da8f1725..d56a518c 100755 --- a/scripts/backup +++ b/scripts/backup @@ -28,42 +28,28 @@ ynh_backup --src_path="$install_dir" ynh_backup --src_path="$data_dir" --is_big #================================================= -# BACKUP THE NGINX CONFIGURATION -#================================================= - -ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" - -#================================================= -# BACKUP THE PHP-FPM CONFIGURATION +# SYSTEM CONFIGURATION #================================================= +# Backup the PHP-FPM configuration ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" -#================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP LOGROTATE -#================================================= +# Backup the nginx configuration +ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" +# Backup the logrotate configuration ynh_backup --src_path="/etc/logrotate.d/$app" -#================================================= -# BACKUP FAIL2BAN CONFIGURATION -#================================================= - +# Backup the Fail2Ban config ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" #================================================= -# BACKUP THE CRON FILE +# BACKUP VARIOUS FILES #================================================= ynh_backup --src_path="/etc/cron.d/$app" -#================================================= -# BACKUP LOGS -#================================================= - ynh_backup --src_path="/var/log/$app" #================================================= From 31fd6a50f4b127432b680c7630776259eacb230d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 3 Aug 2024 09:53:16 +0200 Subject: [PATCH 58/80] minor typos --- scripts/change_url | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/change_url b/scripts/change_url index 8cadcea2..27839329 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -48,7 +48,7 @@ then # Change hostname for activity notifications exec_occ config:system:set overwrite.cli.url --value="https://${new_domain}${new_path}" - # Reload php fpm, necessary for force nextcloud to re-read config.php, cf opcache.revalidate_freq + # Reload PHP-FPM, necessary for force Nextcloud to re-read config.php, cf opcache.revalidate_freq ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload fi From 1c8a1ba2c8ee6ff20fd23fe4c788617fae305846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Richter?= <2268851+x3rAx@users.noreply.github.com> Date: Wed, 14 Aug 2024 00:27:37 +0200 Subject: [PATCH 59/80] Fix removing ACL permissions on uninstall According to `man setfacl`, for the `--remove` option "[o]nly ACL entries without the perms field are accepted as parameters". --- scripts/remove | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/remove b/scripts/remove index c39ac68c..664e4a09 100755 --- a/scripts/remove +++ b/scripts/remove @@ -30,7 +30,7 @@ ynh_secure_remove --file="/etc/cron.d/$app" for i in $(ls /home); do # Clean ACL in every directories in /home, except those which start with 'yunohost.' [[ ! $i == yunohost.* ]] \ - && setfacl --remove g:$app:rwx 2>&1 + && setfacl --remove g:$app 2>&1 done #================================================= From aae9736b4337cf6b2b09c0162f0f6f35621849c4 Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Wed, 14 Aug 2024 00:56:32 +0200 Subject: [PATCH 60/80] Fix: Add missing `file` argument to `setfacl` --- scripts/remove | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/remove b/scripts/remove index 664e4a09..78490fc3 100755 --- a/scripts/remove +++ b/scripts/remove @@ -30,7 +30,7 @@ ynh_secure_remove --file="/etc/cron.d/$app" for i in $(ls /home); do # Clean ACL in every directories in /home, except those which start with 'yunohost.' [[ ! $i == yunohost.* ]] \ - && setfacl --remove g:$app 2>&1 + && setfacl --remove g:$app -- "$i" 2>&1 done #================================================= From abfb04de912770b4ac07ca3dc5a453294c5c3df1 Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Wed, 14 Aug 2024 01:15:44 +0200 Subject: [PATCH 61/80] Fix: Use absolute path for removing ACL permissions --- scripts/remove | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/remove b/scripts/remove index 78490fc3..1682dfc7 100755 --- a/scripts/remove +++ b/scripts/remove @@ -27,10 +27,10 @@ ynh_remove_fail2ban_config ynh_secure_remove --file="/etc/cron.d/$app" # Cleaning ACL in home directories -for i in $(ls /home); do +for path in /home/*; do # Clean ACL in every directories in /home, except those which start with 'yunohost.' - [[ ! $i == yunohost.* ]] \ - && setfacl --remove g:$app -- "$i" 2>&1 + [[ ! $path == /home/yunohost.* ]] \ + && setfacl --remove g:$app -- "$path" 2>&1 done #================================================= From 79ef249b5bdd01cb77a6b40fde5f9dc8d2e78449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 20 Aug 2024 20:30:48 +0200 Subject: [PATCH 62/80] Update manifest.toml --- manifest.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manifest.toml b/manifest.toml index 1111f56f..8102692a 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.4~ynh2" +version = "29.0.5~ynh1" maintainers = ["kay0u"] @@ -19,7 +19,7 @@ code = "https://github.com/nextcloud/server" cpe = "cpe:2.3:a:nextcloud:nextcloud" [integration] -yunohost = ">= 11.2" +yunohost = ">= 11.2.27" architectures = ["amd64", "arm64", "armhf"] multi_instance = true @@ -65,8 +65,8 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.4.tar.bz2' - sha256 = '19c469e264b31ee80400f8396460854546569e88db4c15fc0854e192f96027eb' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.5.tar.bz2' + sha256 = 'c7fe9c61e5ec30a5e599e8f152a1825df684d30e899db0caa8868c8d67b53a2c' [resources.sources.28] url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.8.tar.bz2' From 2794d04a6b96334b6d2385c7c8098b6ebb65a8be Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Tue, 20 Aug 2024 18:30:53 +0000 Subject: [PATCH 63/80] Auto-update READMEs --- ALL_README.md | 1 + README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_id.md | 2 +- README_ru.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++ README_zh_Hans.md | 2 +- 9 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 README_ru.md diff --git a/ALL_README.md b/ALL_README.md index 4ed64dd4..e3c80d23 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -6,4 +6,5 @@ - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) - [Baca README dalam bahasa bahasa Indonesia](README_id.md) +- [Прочитать README на русский](README_ru.md) - [阅读中文(简体)的 README](README_zh_Hans.md) diff --git a/README.md b/README.md index 81eb8a69..2530f573 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Shipped version:** 29.0.4~ynh1 +**Shipped version:** 29.0.5~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index 9b75f1c2..33673b92 100644 --- a/README_es.md +++ b/README_es.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versión actual:** 29.0.4~ynh1 +**Versión actual:** 29.0.5~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index 8b722e45..f657a4ac 100644 --- a/README_eu.md +++ b/README_eu.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Paketatutako bertsioa:** 29.0.4~ynh1 +**Paketatutako bertsioa:** 29.0.5~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index f59d5831..064a9d9d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -23,7 +23,7 @@ Dans le cadre de YunoHost, Nextcloud s'intègre avec le SSO / portail utilisateu L'adresse `/.well-known` sera automatiquement configuré pour la synchronisation CalDAV et CardDAV si aucun autre service tel que Baïkal ne l'utilise déjà. -**Version incluse :** 29.0.4~ynh1 +**Version incluse :** 29.0.5~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index 9a823a38..86d544fb 100644 --- a/README_gl.md +++ b/README_gl.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versión proporcionada:** 29.0.4~ynh1 +**Versión proporcionada:** 29.0.5~ynh1 **Demo:** diff --git a/README_id.md b/README_id.md index 71cbfaaf..aa9d19a9 100644 --- a/README_id.md +++ b/README_id.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versi terkirim:** 29.0.4~ynh1 +**Versi terkirim:** 29.0.5~ynh1 **Demo:** diff --git a/README_ru.md b/README_ru.md new file mode 100644 index 00000000..9442e138 --- /dev/null +++ b/README_ru.md @@ -0,0 +1,55 @@ + + +# Nextcloud для YunoHost + +[![Уровень интеграции](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Состояние работы](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Состояние сопровождения](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) + +[![Установите Nextcloud с YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) + +*[Прочтите этот README на других языках.](./ALL_README.md)* + +> *Этот пакет позволяет Вам установить Nextcloud быстро и просто на YunoHost-сервер.* +> *Если у Вас нет YunoHost, пожалуйста, посмотрите [инструкцию](https://yunohost.org/install), чтобы узнать, как установить его.* + +## Обзор + +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. + +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). + +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. + + +**Поставляемая версия:** 29.0.5~ynh1 + +**Демо-версия:** + +## Снимки экрана + +![Снимок экрана Nextcloud](./doc/screenshots/screenshot.png) + +## Документация и ресурсы + +- Официальный веб-сайт приложения: +- Официальная документация пользователя: +- Официальная документация администратора: +- Репозиторий кода главной ветки приложения: +- Магазин YunoHost: +- Сообщите об ошибке: + +## Информация для разработчиков + +Пришлите Ваш запрос на слияние в [ветку `testing`](https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing). + +Чтобы попробовать ветку `testing`, пожалуйста, сделайте что-то вроде этого: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +или +sudo yunohost app upgrade nextcloud -u https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +``` + +**Больше информации о пакетировании приложений:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 465182e3..0d157c07 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**分发版本:** 29.0.4~ynh1 +**分发版本:** 29.0.5~ynh1 **演示:** From b5e5d83a401d4e7ebd2bf3c11a1771f7745e4408 Mon Sep 17 00:00:00 2001 From: ljf Date: Thu, 22 Aug 2024 16:47:13 +0200 Subject: [PATCH 64/80] [enh] oldstable support for upgrade --- config_panel.toml | 11 ++++++++++- scripts/upgrade | 21 ++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/config_panel.toml b/config_panel.toml index e5e88aed..8fd00c7d 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -15,6 +15,15 @@ name = "Nextcloud configuration" ask.en = "Set permissions for all data (Can take up to several hours if users have a lot of data)" type = "button" style = "success" + + [main.version] + [main.version.version_to_follow] + ask.en = "Upgrade channel to use" + type = "select" + choices = ["stable", "oldstable"] + default = "stable" + help.en = "Recent major releases contains sometimes some annoying bugs or regressions. Using the oldstable channel during this period can be useful if you need high stability." + [main.addressbook] name = "Address book configuration" @@ -24,7 +33,7 @@ name = "Nextcloud configuration" type = "boolean" yes = "yes" no = "no" - + [main.php_fpm_config] name = "PHP-FPM configuration" diff --git a/scripts/upgrade b/scripts/upgrade index c4b764cd..25be3909 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -35,6 +35,13 @@ then ynh_die --message="Upgrading from Nextcloud < 22.2 is not supported anymore. You should first upgrade to 22.2 using: yunohost app upgrade nextcloud -u https://github.com/YunoHost-Apps/nextcloud_ynh/tree/41f5f902e7c7cd3c30a6793020562ba98b9bf3e9" fi +if [ -z "${version_to_follow:-}" ] +then + version_to_follow=stable + ynh_app_setting_set --app=$app --key=version_to_follow --value="$version_to_follow" +fi + + #================================================= # SPECIFIC UPGRADE #================================================= @@ -123,6 +130,11 @@ current_major_version=${current_version%%.*} last_version=$(ynh_read_manifest --manifest_key="resources.sources.main.url" | grep -o '[0-9][0-9]\.[0-9]\.[0-9]') last_major_version=${last_version%%.*} +if [[ "$version_to_follow" == "oldstable" ]] +then + last_major_version=$((last_major_version--)) + last_version=$(ynh_read_manifest --manifest_key="resources.sources.${last_major_version}.url" | grep -o '[0-9][0-9]\.[0-9]\.[0-9]') +fi if [[ "$last_major_version" != "$current_major_version" ]] then @@ -164,17 +176,20 @@ then fi # While the current version is not the last version, do an upgrade - while [ "$last_version" != "$current_version" ] + while [ "$last_version" > "$current_version" ] do next_major_version="$(( $current_major_version + 1 ))" + source_id="$next_major_version" if [[ "$next_major_version" -ge "$last_major_version" ]]; then ynh_print_info --message="Upgrading to Nextcloud $last_version" cp -a ../sources/patches_last_version/* ../sources/patches - source_id="main" + if [[ "$version_to_follow" != "oldstable" ]] + then + source_id="main" + fi else ynh_print_info --message="Upgrading to Nextcloud $next_major_version" - source_id="$next_major_version" fi # Create a temporary directory From 9150d4eceefa38a7438e6af4a81a6447c24a3fd4 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 22 Aug 2024 14:47:53 +0000 Subject: [PATCH 65/80] Auto-update READMEs --- ALL_README.md | 1 + README_ru.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 README_ru.md diff --git a/ALL_README.md b/ALL_README.md index 4ed64dd4..e3c80d23 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -6,4 +6,5 @@ - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) - [Baca README dalam bahasa bahasa Indonesia](README_id.md) +- [Прочитать README на русский](README_ru.md) - [阅读中文(简体)的 README](README_zh_Hans.md) diff --git a/README_ru.md b/README_ru.md new file mode 100644 index 00000000..d46497cc --- /dev/null +++ b/README_ru.md @@ -0,0 +1,55 @@ + + +# Nextcloud для YunoHost + +[![Уровень интеграции](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Состояние работы](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Состояние сопровождения](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) + +[![Установите Nextcloud с YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) + +*[Прочтите этот README на других языках.](./ALL_README.md)* + +> *Этот пакет позволяет Вам установить Nextcloud быстро и просто на YunoHost-сервер.* +> *Если у Вас нет YunoHost, пожалуйста, посмотрите [инструкцию](https://yunohost.org/install), чтобы узнать, как установить его.* + +## Обзор + +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. + +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). + +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. + + +**Поставляемая версия:** 29.0.4~ynh1 + +**Демо-версия:** + +## Снимки экрана + +![Снимок экрана Nextcloud](./doc/screenshots/screenshot.png) + +## Документация и ресурсы + +- Официальный веб-сайт приложения: +- Официальная документация пользователя: +- Официальная документация администратора: +- Репозиторий кода главной ветки приложения: +- Магазин YunoHost: +- Сообщите об ошибке: + +## Информация для разработчиков + +Пришлите Ваш запрос на слияние в [ветку `testing`](https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing). + +Чтобы попробовать ветку `testing`, пожалуйста, сделайте что-то вроде этого: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +или +sudo yunohost app upgrade nextcloud -u https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +``` + +**Больше информации о пакетировании приложений:** From 66412c06012d23dc456fba8f2447ae414fce7683 Mon Sep 17 00:00:00 2001 From: ljf Date: Thu, 22 Aug 2024 21:39:19 +0200 Subject: [PATCH 66/80] [debug] infinite loop on upgrade --- scripts/upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 25be3909..4918b7a1 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -132,7 +132,7 @@ last_version=$(ynh_read_manifest --manifest_key="resources.sources.main.url" | g last_major_version=${last_version%%.*} if [[ "$version_to_follow" == "oldstable" ]] then - last_major_version=$((last_major_version--)) + last_major_version=$(( $last_major_version - 1 )) last_version=$(ynh_read_manifest --manifest_key="resources.sources.${last_major_version}.url" | grep -o '[0-9][0-9]\.[0-9]\.[0-9]') fi @@ -178,7 +178,7 @@ then # While the current version is not the last version, do an upgrade while [ "$last_version" > "$current_version" ] do - + ynh_print_info --message="last: $last_version | current: $current_version" next_major_version="$(( $current_major_version + 1 ))" source_id="$next_major_version" if [[ "$next_major_version" -ge "$last_major_version" ]]; then From a448839b06e4f65a6f844b5cc1e90d04b72e0af6 Mon Sep 17 00:00:00 2001 From: ljf Date: Thu, 22 Aug 2024 23:40:33 +0200 Subject: [PATCH 67/80] [fix] infinite loop on upgrade --- scripts/upgrade | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 4918b7a1..ea3970b8 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -176,9 +176,8 @@ then fi # While the current version is not the last version, do an upgrade - while [ "$last_version" > "$current_version" ] + while [[ "$last_version" > "$current_version" ]] do - ynh_print_info --message="last: $last_version | current: $current_version" next_major_version="$(( $current_major_version + 1 ))" source_id="$next_major_version" if [[ "$next_major_version" -ge "$last_major_version" ]]; then From d8fefcea6c4cbba0929737b3a0589aa2481ff58e Mon Sep 17 00:00:00 2001 From: Kayou Date: Fri, 23 Aug 2024 09:52:07 +0200 Subject: [PATCH 68/80] add help key in manifest --- config_panel.toml | 5 ++--- manifest.toml | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config_panel.toml b/config_panel.toml index 8fd00c7d..00e0377f 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -15,7 +15,7 @@ name = "Nextcloud configuration" ask.en = "Set permissions for all data (Can take up to several hours if users have a lot of data)" type = "button" style = "success" - + [main.version] [main.version.version_to_follow] ask.en = "Upgrade channel to use" @@ -24,7 +24,6 @@ name = "Nextcloud configuration" default = "stable" help.en = "Recent major releases contains sometimes some annoying bugs or regressions. Using the oldstable channel during this period can be useful if you need high stability." - [main.addressbook] name = "Address book configuration" @@ -33,7 +32,7 @@ name = "Nextcloud configuration" type = "boolean" yes = "yes" no = "no" - + [main.php_fpm_config] name = "PHP-FPM configuration" diff --git a/manifest.toml b/manifest.toml index 03535437..0076409c 100644 --- a/manifest.toml +++ b/manifest.toml @@ -61,7 +61,8 @@ ram.runtime = "512M" default = true [install.version_to_follow] - ask.en = "Which version do you want" + ask.en = "Upgrade channel to use" + help.en = "Recent major releases contains sometimes some annoying bugs or regressions. Using the oldstable channel during this period can be useful if you need high stability." type = "select" choices = ["stable", "oldstable"] default = "stable" From a483dd7fc6e9743b43d1a8ea54e5375680780862 Mon Sep 17 00:00:00 2001 From: Kayou Date: Fri, 23 Aug 2024 09:53:12 +0200 Subject: [PATCH 69/80] we don't want to worry about pre/post decrement --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index b36fb315..b3c27f7d 100755 --- a/scripts/install +++ b/scripts/install @@ -28,7 +28,7 @@ source_id="main" if [ "$version_to_follow" == "oldstable" ]; then last_version=$(ynh_read_manifest --manifest_key="resources.sources.main.url" | grep -o '[0-9][0-9]\.[0-9]\.[0-9]') last_major_version=${last_version%%.*} - source_id=$((last_major_version--)) + last_major_version=$(( $last_major_version - 1 )) fi # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$install_dir" --source_id="$source_id" From 8fc95edaf7b11474784bd28d06e4c90700f39954 Mon Sep 17 00:00:00 2001 From: Kayou Date: Fri, 23 Aug 2024 09:53:23 +0200 Subject: [PATCH 70/80] add tests for oldstable --- tests.toml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests.toml b/tests.toml index cdd5e776..26855128 100644 --- a/tests.toml +++ b/tests.toml @@ -2,6 +2,8 @@ test_format = 1.0 [default] + args.version_to_follow = "stable" + # ------------------------------- # Commits to test upgrade from # ------------------------------- @@ -11,3 +13,9 @@ test_format = 1.0 test_upgrade_from.9c6d1eea.name = "Upgrade from 27.1.4" test_upgrade_from.e9f82ab7.name = "Upgrade from 28.0.6" test_upgrade_from.e9f82ab7.args.system_addressbook_exposed = "yes" + +[oldstable] + + args.version_to_follow = "oldstable" + test_upgrade_from.e9f82ab7.name = "Upgrade from 28.0.6" + test_upgrade_from.e9f82ab7.args.system_addressbook_exposed = "yes" \ No newline at end of file From d7d24034cfb81c63ca63e9ee388faba53debd39d Mon Sep 17 00:00:00 2001 From: Kayou Date: Tue, 27 Aug 2024 14:52:11 +0200 Subject: [PATCH 71/80] Add notify push option (#417) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add notify_push option * self-test notify_push * fix notify_app * new permission hpb, some fixes * fix the restore script * fix restore² * fix upgrade * fix socket path * Update doc/DISCLAIMER_fr.md * split nginx conf * use official helpers with modified args * Auto-update READMEs * update nginx conf, add new services * add tests * add arch var * tests: enable_notify_push is false by default * fix upgrade * final_path -> install_dir * fix socket nginx path * add notify_push nginx conf before, so the reload in ynh_add_nginx_config load it * fully functional version * readd a removed fix * run cron task after notify push setup * Auto-update READMEs * remove systemd files * add notify push in config panel * add cron again because to make notify push happy * fix indent * enable/disable the notify push path * fix path unit * exec only for nextcloud user * move sock file to /var/run * start notify-push after the watcher * ² * remove warning * cron can sometimes fail when the database is not fully initialized, retries the cron job several times and catch catch the error on failure * oupsie * Apply suggestions from code review Co-authored-by: eric_G <46165813+ericgaspar@users.noreply.github.com> --------- Co-authored-by: Éric Gaspar <46165813+ericgaspar@users.noreply.github.com> Co-authored-by: yunohost-bot --- conf/config.json | 3 +- conf/nginx.conf | 2 ++ conf/notify_push.conf | 8 +++++ conf/systemd.service | 13 +++++++ conf/watcher.path | 11 ++++++ conf/watcher.service | 15 ++++++++ config_panel.toml | 12 +++++-- doc/ADMIN.md | 4 +++ doc/ADMIN_fr.md | 4 +++ manifest.toml | 6 ++++ scripts/backup | 20 ++++++++++- scripts/change_url | 50 ++++++++++++++++++++++++-- scripts/config | 84 ++++++++++++++++++++++++++++++++++++++----- scripts/install | 53 +++++++++++++++++++++++++++ scripts/remove | 8 +++++ scripts/restore | 45 +++++++++++++++++++++++ scripts/upgrade | 66 ++++++++++++++++++++++++++++++++++ tests.toml | 9 +++++ 18 files changed, 398 insertions(+), 15 deletions(-) create mode 100644 conf/notify_push.conf create mode 100644 conf/systemd.service create mode 100644 conf/watcher.path create mode 100644 conf/watcher.service diff --git a/conf/config.json b/conf/config.json index 6e4790cc..02d85721 100644 --- a/conf/config.json +++ b/conf/config.json @@ -30,7 +30,8 @@ "verify_peer": false, "verify_peer_name": false } - } + }, + "trusted_proxies": [ "127.0.0.1", "::1" ] }, "apps": { "user_ldap": { diff --git a/conf/nginx.conf b/conf/nginx.conf index 5a4f22a3..aabd4471 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -165,6 +165,8 @@ location ^~ __PATH__/ { try_files $uri / __PATH__/index.php$request_uri; } + include conf.d/__DOMAIN__.d/__APP__.d/*.conf; + # show YunoHost panel access include conf.d/yunohost_panel.conf.inc; } diff --git a/conf/notify_push.conf b/conf/notify_push.conf new file mode 100644 index 00000000..f2fb0520 --- /dev/null +++ b/conf/notify_push.conf @@ -0,0 +1,8 @@ +location ^~ __PATH__/push/ { + proxy_pass http://unix:/var/run/__APP__/notify-push.sock:/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +} \ No newline at end of file diff --git a/conf/systemd.service b/conf/systemd.service new file mode 100644 index 00000000..855a294f --- /dev/null +++ b/conf/systemd.service @@ -0,0 +1,13 @@ +[Unit] +Description = Push daemon for Nextcloud clients + +[Service] +Environment=SOCKET_PATH=/var/run/__APP__/notify-push.sock +Environment=ALLOW_SELF_SIGNED=true +ExecStart=__INSTALL_DIR__/apps/notify_push/bin/__ARCH__/notify_push __INSTALL_DIR__/config/config.php +Type=notify +User=__APP__ +Group=__APP__ + +[Install] +WantedBy = multi-user.target \ No newline at end of file diff --git a/conf/watcher.path b/conf/watcher.path new file mode 100644 index 00000000..67a5298b --- /dev/null +++ b/conf/watcher.path @@ -0,0 +1,11 @@ +[Unit] +Description=Restart Push daemon for Nextcloud clients when it receives updates +Documentation=https://github.com/nextcloud/notify_push +PartOf=__APP__-notify-push-watcher.service + +[Path] +PathModified=/var/www/nextcloud/apps/notify_push/bin/__ARCH__/notify_push +Unit=__APP__-notify-push-watcher.service + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/conf/watcher.service b/conf/watcher.service new file mode 100644 index 00000000..e2d9cfdf --- /dev/null +++ b/conf/watcher.service @@ -0,0 +1,15 @@ +[Unit] +Description=Restart Push daemon for Nextcloud clients when it receives updates +Documentation=https://github.com/nextcloud/notify_push +#Requires=__APP__-notify-push.service +After=__APP__-notify-push.service +StartLimitIntervalSec=10 +StartLimitBurst=5 + +[Service] +Type=oneshot +ExecStartPre=/usr/bin/chmod u+x __INSTALL_DIR__/apps/notify_push/bin/__ARCH__/notify_push +ExecStart=/usr/bin/systemctl restart __APP__-notify-push.service + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/config_panel.toml b/config_panel.toml index e5e88aed..b583fb4f 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -9,7 +9,7 @@ name = "Nextcloud configuration" [main.maintenance.maintenance_mode] ask = "Enable maintenance mode" type = "boolean" - default = "0" + default = false [main.maintenance.set_permissions_button] ask.en = "Set permissions for all data (Can take up to several hours if users have a lot of data)" @@ -22,8 +22,14 @@ name = "Nextcloud configuration" [main.addressbook.system_addressbook_exposed] ask = "Should there be a system address book listing all users, accessible by all users?" type = "boolean" - yes = "yes" - no = "no" + + [main.notify_push] + name = "Notify Push configuration" + + [main.notify_push.enable_notify_push] + ask.en = "Configure the High Performance Backend?" + ask.fr = "Configurer le Backend Hautes Performances ?" + type = "boolean" [main.php_fpm_config] name = "PHP-FPM configuration" diff --git a/doc/ADMIN.md b/doc/ADMIN.md index 8d401d2f..9b19c1b2 100644 --- a/doc/ADMIN.md +++ b/doc/ADMIN.md @@ -12,6 +12,10 @@ Alternatively, you may open a 'Nextcloud shell' with `sudo yunohost app shell __ ONLYOFFICE is an online rich text document editor which can be integrated in Nextcloud +#### High Performance Backend + +High Performance Backend is an application on Nextcloud that should speed up the instance, more information here: https://github.com/nextcloud/notify_push#about + #### With YunoHost App (ARM64 support, better performance) For better performance and ARM64 support (Raspberry Pi, OLinuXino...), install the [OnlyOffice YunoHost app](https://apps.yunohost.org/app/onlyoffice) and connect it to Nextcloud, see the tutorial in the [doc of onlyoffice_ynh package](https://github.com/YunoHost-Apps/onlyoffice_ynh/blob/master/README_fr.md#configuration-de-onlyoffice-server) diff --git a/doc/ADMIN_fr.md b/doc/ADMIN_fr.md index 06b76b12..5b52928a 100644 --- a/doc/ADMIN_fr.md +++ b/doc/ADMIN_fr.md @@ -12,6 +12,10 @@ Ou bien, vous pouvez ouvrir un "shell Nextcloud" avec `sudo yunohost app shell _ ONLYOFFICE est un éditeur de texte enrichi en ligne qui peut s'intégrer dans Nextcloud +#### Backend Hautes Performances + +Le backend Hautes Performances est une application sur Nextcloud qui devrait accélérer l'instance, plus d'informations ici : https://github.com/nextcloud/notify_push#about + #### Avec l'application YunoHost (support ARM64, meilleures performances) Pour de meilleures performances et le support de ARM64 (Raspberry Pi, OLinuXino...), installez l'[app YunoHost OnlyOffice](https://apps.yunohost.org/app/onlyoffice), puis connectez-la à Nextcloud : voir le tutoriel dans la [doc du paquet onlyoffice_ynh](https://github.com/YunoHost-Apps/onlyoffice_ynh/blob/master/README_fr.md#configuration-de-onlyoffice-server) diff --git a/manifest.toml b/manifest.toml index 8102692a..692685d4 100644 --- a/manifest.toml +++ b/manifest.toml @@ -60,6 +60,12 @@ ram.runtime = "512M" type = "boolean" default = true + [install.enable_notify_push] + ask.en = "Configure the High Performance Backend?" + ask.fr = "Configurer le Backend Hautes Performances ?" + type = "boolean" + default = false + [resources] [resources.sources] diff --git a/scripts/backup b/scripts/backup index d56a518c..56e6e0b2 100755 --- a/scripts/backup +++ b/scripts/backup @@ -28,7 +28,14 @@ ynh_backup --src_path="$install_dir" ynh_backup --src_path="$data_dir" --is_big #================================================= -# SYSTEM CONFIGURATION +# BACKUP THE NGINX CONFIGURATION +#================================================= + +ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.d" + +#================================================= +# BACKUP THE PHP-FPM CONFIGURATION #================================================= # Backup the PHP-FPM configuration @@ -59,6 +66,17 @@ ynh_print_info --message="Backing up the MySQL database..." ynh_mysql_dump_db --database="$db_name" --default_character_set="utf8mb4" > db.sql +#================================================= +# BACKUP THE NOTIFY_PUSH APP +#================================================= + +if [ $enable_notify_push -eq 1 ] +then + ynh_backup --src_path="/etc/systemd/system/${app}-notify-push.service" + ynh_backup --src_path="/etc/systemd/system/${app}-notify-push-watcher.service" + ynh_backup --src_path="/etc/systemd/system/${app}-notify-push-watcher.path" +fi + #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/change_url b/scripts/change_url index 27839329..326594f8 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -50,16 +50,62 @@ then # Reload PHP-FPM, necessary for force Nextcloud to re-read config.php, cf opcache.revalidate_freq ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload + + mv /etc/nginx/conf.d/$old_domain.d/$app.d /etc/nginx/conf.d/$new_domain.d/$app.d +fi + +#================================================= +# CONFIGURE NOTIFY_PUSH APP +#================================================= + +if [ $enable_notify_push -eq 1 ] +then + domain="$new_domain" + path_url="$new_path" + + ynh_add_config --template="notify_push.conf" --destination="/etc/nginx/conf.d/$domain.d/$app.d/notify_push.conf" + + ynh_systemd_action --service_name=nginx --action=reload + + case $YNH_ARCH in + amd64) arch="x86_64";; + arm64) arch="aarch64";; + armel|armhf) arch="armv7";; + esac + + ynh_add_config --template="watcher.path" --destination="/etc/systemd/system/${app}-notify-push-watcher.path" + ynh_add_systemd_config --service="${app}-notify-push-watcher" --template="watcher.service" + systemctl enable --now ${app}-notify-push-watcher.path + ynh_add_systemd_config --service="${app}-notify-push" + + count=0 + while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] + do + sleep 1 + count=$((count + 1)) + done + + ynh_systemd_action --service_name="${app}-notify-push" --action=restart --line_match="Push daemon for Nextcloud clients." --log_path="systemd" --action=restart + + exec_occ config:app:set notify_push base_endpoint --value https://$domain${path_url%/}/push + + if ! exec_occ notify_push:self-test; then + ynh_print_warn --message="The High Performance Backend service is still not working properly. Please log in with a user to your NextCloud instance, restart the High Performance Backend service with \"systemctl restart ${app}-notify-push.service\", and run \"sudo -u $app php${phpversion} $install_dir/occ notify_push:self-test\" to verify that everything is green." + fi fi #================================================= -# SETUP SSOWAT +# GENERIC FINALISATION #================================================= -ynh_script_progression --message="Configuring permissions..." +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." # Temporary fix for the API permission (workaround for https://github.com/YunoHost/issues/issues/2294 ) ynh_permission_url --permission="api" --url="re:$new_domain\/.well-known\/.*" --auth_header="false" --clear_urls +ynh_systemd_action --service_name=nginx --action=reload + #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/config b/scripts/config index e2310095..189c4489 100644 --- a/scripts/config +++ b/scripts/config @@ -18,6 +18,11 @@ ynh_abort_if_errors phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) current_fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint) +exec_occ() { + (cd "$install_dir" && ynh_exec_as "$app" \ + php${phpversion} --define apc.enable_cli=1 occ --no-interaction --no-ansi "$@") +} + #================================================= # SPECIFIC GETTERS FOR TOML SHORT KEY #================================================= @@ -39,8 +44,7 @@ get__maintenance_mode() { } get__system_addressbook_exposed() { - echo $(cd "$install_dir" && ynh_exec_as "$app" \ - php${phpversion} --define apc.enable_cli=1 occ config:app:get dav system_addressbook_exposed) + echo $(exec_occ config:app:get dav system_addressbook_exposed) } get__fpm_footprint() { @@ -73,24 +77,88 @@ get__fpm_free_footprint() { set__maintenance_mode() { if [ "$maintenance_mode" -eq "0" ]; then # If maintenance_mode was set to 0, disable maintenance mode - (cd "$install_dir" && ynh_exec_as "$app" \ - php${phpversion} --define apc.enable_cli=1 occ --no-interaction --no-ansi maintenance:mode --off) + exec_occ maintenance:mode --off ynh_print_info "Maintenance mode disabled" elif [ "$maintenance_mode" -eq "1" ]; then # If maintenance_mode was set to 1, enable maintenance mode - (cd "$install_dir" && ynh_exec_as "$app" \ - php${phpversion} --define apc.enable_cli=1 occ --no-interaction --no-ansi maintenance:mode --on) + exec_occ maintenance:mode --on ynh_print_info "Maintenance mode enabled" fi ynh_app_setting_set --app=$app --key=maintenance_mode --value="$maintenance_mode" } set__system_addressbook_exposed() { - (cd "$install_dir" && ynh_exec_as "$app" \ - php${phpversion} --define apc.enable_cli=1 occ config:app:set dav system_addressbook_exposed --value="$system_addressbook_exposed") + exec_occ config:app:set dav system_addressbook_exposed --value="$system_addressbook_exposed" ynh_print_info "System addressbook is exposed: $system_addressbook_exposed" } + +set__enable_notify_push() { + if [ "$enable_notify_push" -eq "0" ]; then + nginx_extra_conf_dir="/etc/nginx/conf.d/$domain.d/$app.d" + ynh_secure_remove --file="$nginx_extra_conf_dir/notify_push.conf" + ynh_systemd_action --service_name="nginx" --action=reload + + # If notify_push is enabled, disable it + if exec_occ app:list | awk '/Enabled/{f=1;next} f' | grep -q -w notify_push; then + exec_occ app:disable notify_push + fi + + ynh_remove_systemd_config --service="${app}-notify-push" + systemctl disable --now "${app}-notify-push-watcher.path" + ynh_secure_remove --file="/etc/systemd/system/${app}-notify-push-watcher.path" + ynh_remove_systemd_config --service="${app}-notify-push-watcher" + + ynh_print_info "Notify push disabled" + elif [ "$enable_notify_push" -eq "1" ]; then + nginx_extra_conf_dir="/etc/nginx/conf.d/$domain.d/$app.d" + mkdir -p "$nginx_extra_conf_dir" + + ynh_add_config --template="notify_push.conf" --destination="$nginx_extra_conf_dir/notify_push.conf" + + ynh_systemd_action --service_name="nginx" --action=reload + + # If notify_push is disabled, reenable it + if exec_occ app:list | awk '/Disabled/{f=1;next} f' | grep -q -w notify_push; then + exec_occ app:enable notify_push + # If notify_push is not installed, install it + elif ! exec_occ app:list | awk '/Enabled/{f=1;next} /Disabled/{f=0} f' | grep -q -w notify_push; then + exec_occ app:install notify_push + fi + exec_occ config:app:set notify_push base_endpoint --value https://$domain${path_url%/}/push + + mkdir -p /var/run/$app/ + chown $app: /var/run/$app/ + + case $YNH_ARCH in + amd64) arch="x86_64";; + arm64) arch="aarch64";; + armel|armhf) arch="armv7";; + esac + + ynh_add_config --template="watcher.path" --destination="/etc/systemd/system/${app}-notify-push-watcher.path" + ynh_add_systemd_config --service="${app}-notify-push-watcher" --template="watcher.service" + systemctl enable --now ${app}-notify-push-watcher.path + ynh_add_systemd_config --service="${app}-notify-push" + + count=0 + while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] + do + sleep 1 + count=$((count + 1)) + done + + ynh_systemd_action --service_name="${app}-notify-push-watcher" --action=restart + ynh_systemd_action --service_name="${app}-notify-push" --action=restart --line_match="Push daemon for Nextcloud clients." --log_path="systemd" + + if ! exec_occ notify_push:self-test; then + ynh_print_warn --message="The High Performance Backend service is still not working properly. Please log in with a user to your NextCloud instance, restart the High Performance Backend service with \"systemctl restart ${app}-notify-push.service\", and run \"sudo -u $app php${phpversion} $install_dir/occ notify_push:self-test\" to verify that everything is green." + fi + ynh_print_info "Notify push enabled" + fi + ynh_app_setting_set --app=$app --key=enable_notify_push --value="$enable_notify_push" +} + set__fpm_footprint() { if [ "$fpm_footprint" != "specific" ] then diff --git a/scripts/install b/scripts/install index 0987b848..2df768af 100755 --- a/scripts/install +++ b/scripts/install @@ -49,6 +49,14 @@ then sed --in-place --regexp-extended '/location = \/\.well\-known\/(caldav|carddav)/d' "../conf/nginx.conf" fi +nginx_extra_conf_dir="/etc/nginx/conf.d/$domain.d/$app.d" +mkdir -p "$nginx_extra_conf_dir" + +if [ $enable_notify_push -eq 1 ] +then + ynh_add_config --template="notify_push.conf" --destination="$nginx_extra_conf_dir/notify_push.conf" +fi + # Create a dedicated NGINX config ynh_add_nginx_config @@ -195,6 +203,30 @@ exec_occ config:app:set dav system_addressbook_exposed --value="$system_addressb # Calculate and store the config file checksum into the app settings ynh_store_file_checksum --file="$install_dir/config/config.php" +#================================================= +# CONFIGURE NOTIFY_PUSH APP +#================================================= + +if [ $enable_notify_push -eq 1 ] +then + exec_occ app:install notify_push + exec_occ config:app:set notify_push base_endpoint --value https://$domain${path_url%/}/push + + mkdir -p /var/run/$app/ + chown $app: /var/run/$app/ + + case $YNH_ARCH in + amd64) arch="x86_64";; + arm64) arch="aarch64";; + armel|armhf) arch="armv7";; + esac + + ynh_add_config --template="watcher.path" --destination="/etc/systemd/system/${app}-notify-push-watcher.path" + ynh_add_systemd_config --service="${app}-notify-push-watcher" --template="watcher.service" + systemctl enable --now ${app}-notify-push-watcher.path + ynh_add_systemd_config --service="${app}-notify-push" +fi + #================================================= # ADD A CRON JOB #================================================= @@ -261,6 +293,27 @@ ynh_script_progression --message="Configuring Fail2Ban..." --weight=8 # Create a dedicated Fail2Ban config ynh_add_fail2ban_config --logpath="/var/log/$app/nextcloud.log" --failregex="^.*Login failed: '.*' \(Remote IP: ''.*$" --max_retry=5 +#================================================= +# CHECK IF NOTIFY_PUSH WORKS +#================================================= + +if [ $enable_notify_push -eq 1 ] +then + count=0 + while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] + do + sleep 1 + count=$((count + 1)) + done + + ynh_systemd_action --service_name="${app}-notify-push-watcher" --action=restart + ynh_systemd_action --service_name="${app}-notify-push" --action=restart --line_match="Push daemon for Nextcloud clients." --log_path="systemd" + + if ! exec_occ notify_push:self-test; then + ynh_print_warn --message="The High Performance Backend service is still not working properly. Please log in with a user to your NextCloud instance, restart the High Performance Backend service with \"systemctl restart ${app}-notify-push.service\", and run \"sudo -u $app php${phpversion} $install_dir/occ notify_push:self-test\" to verify that everything is green." + fi +fi + #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/remove b/scripts/remove index c39ac68c..0cc72dba 100755 --- a/scripts/remove +++ b/scripts/remove @@ -12,6 +12,7 @@ ynh_script_progression --message="Removing system configurations related to $app # Remove the dedicated NGINX config ynh_remove_nginx_config +ynh_secure_remove --file="/etc/nginx/conf.d/$domain.d/$app.d" # Remove the dedicated PHP-FPM config ynh_remove_fpm_config @@ -22,6 +23,13 @@ ynh_remove_logrotate # Remove the dedicated Fail2Ban config ynh_remove_fail2ban_config +# Remove notify push +ynh_remove_systemd_config --service="${app}-notify-push" +ynh_exec_warn_less systemctl disable --now ${app}-notify-push-watcher.path +ynh_secure_remove --file="/etc/systemd/system/${app}-notify-push-watcher.path" +ynh_remove_systemd_config --service="${app}-notify-push-watcher" +ynh_secure_remove --file="/var/run/$app" + # Remove a cron file # TODO: Ensure that cron job is not running (How !?) ynh_secure_remove --file="/etc/cron.d/$app" diff --git a/scripts/restore b/scripts/restore index 9ae36115..1393ae34 100755 --- a/scripts/restore +++ b/scripts/restore @@ -36,6 +36,7 @@ ynh_add_fpm_config #================================================= ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.d" # Check if .well-known is available for this domain if is_url_handled --domain="$domain" --path="/.well-known/caldav" || is_url_handled --domain="$domain" --path="/.well-known/carddav" @@ -123,6 +124,24 @@ fi ynh_systemd_action --action=restart --service_name=fail2ban +#================================================= +# RESTORE THE NOTIFY_PUSH APP +#================================================= + +if [ $enable_notify_push -eq 1 ] +then + mkdir -p /var/run/$app/ + chown $app: /var/run/$app/ + + ynh_restore_file --origin_path="/etc/systemd/system/${app}-notify-push.service" + ynh_restore_file --origin_path="/etc/systemd/system/${app}-notify-push-watcher.service" + ynh_restore_file --origin_path="/etc/systemd/system/${app}-notify-push-watcher.path" + + systemctl enable --now "${app}-notify-push-watcher.service" --quiet + systemctl enable --now "${app}-notify-push-watcher.path" --quiet + systemctl enable --now "${app}-notify-push.service" --quiet +fi + #================================================= # GENERIC FINALIZATION #================================================= @@ -132,6 +151,32 @@ ynh_script_progression --message="Reloading NGINX web server..." --weight=3 ynh_systemd_action --service_name=nginx --action=reload +#================================================= +# CHECK IF NOTIFY_PUSH WORKS +#================================================= + +exec_occ() { + (cd "$install_dir" && ynh_exec_as "$app" \ + php${phpversion} --define apc.enable_cli=1 occ --no-interaction --no-ansi "$@") +} + +if [ $enable_notify_push -eq 1 ] +then + count=0 + while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] + do + sleep 1 + count=$((count + 1)) + done + + ynh_systemd_action --service_name="${app}-notify-push-watcher" --action=restart + ynh_systemd_action --service_name="${app}-notify-push" --action=restart --line_match="Push daemon for Nextcloud clients." --log_path="systemd" --action=restart + + if ! exec_occ notify_push:self-test; then + ynh_print_warn --message="The High Performance Backend service is still not working properly. Please log in with a user to your NextCloud instance, restart the High Performance Backend service with \"systemctl restart ${app}-notify-push.service\", and run \"sudo -u $app php${phpversion} $install_dir/occ notify_push:self-test\" to verify that everything is green." + fi +fi + #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index c4b764cd..7706d059 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -24,6 +24,11 @@ elif [ "${system_addressbook_exposed,,}" = "no" ]; then system_addressbook_exposed=0 fi +if [ -z ${enable_notify_push:-} ]; then + ynh_app_setting_set --app=$app --key=enable_notify_push --value=0 + enable_notify_push=0 +fi + # Remove the option backup_core_only if it's in the settings.yml file ynh_app_setting_delete --app=$app --key=backup_core_only @@ -365,9 +370,49 @@ then sed --in-place --regexp-extended '/location = \/\.well\-known\/(caldav|carddav)/d' "../conf/nginx.conf" fi +# Create a dedicated NGINX config +nginx_extra_conf_dir="/etc/nginx/conf.d/$domain.d/$app.d" +mkdir -p "$nginx_extra_conf_dir" + +if [ $enable_notify_push -eq 1 ] +then + ynh_add_config --template="notify_push.conf" --destination="$nginx_extra_conf_dir/notify_push.conf" +fi + # Create a dedicated NGINX config ynh_add_nginx_config +#================================================= +# CONFIGURE NOTIFY_PUSH APP +#================================================= + +if [ $enable_notify_push -eq 1 ] +then + # If notify_push is disabled, reenable it + if exec_occ app:list | awk '/Disabled/{f=1;next} f' | grep -q -w notify_push; then + exec_occ app:enable notify_push + # If notify_push is not installed, install it + elif ! exec_occ app:list | awk '/Enabled/{f=1;next} /Disabled/{f=0} f' | grep -q -w notify_push; then + exec_occ app:install notify_push + fi + exec_occ config:app:set notify_push base_endpoint --value https://$domain${path_url%/}/push + + mkdir -p /var/run/$app/ + chown $app: /var/run/$app/ + + case $YNH_ARCH in + amd64) arch="x86_64";; + arm64) arch="aarch64";; + armel|armhf) arch="armv7";; + esac + + ynh_add_config --template="watcher.path" --destination="/etc/systemd/system/${app}-notify-push-watcher.path" + ynh_add_systemd_config --service="${app}-notify-push-watcher" --template="watcher.service" + systemctl enable --now ${app}-notify-push-watcher.path + ynh_add_systemd_config --service="${app}-notify-push" +fi + + #================================================= # CRON JOB #================================================= @@ -392,6 +437,27 @@ ynh_use_logrotate --non-append # Create a dedicated Fail2Ban config ynh_add_fail2ban_config --logpath="/var/log/$app/nextcloud.log" --failregex="^.*Login failed: '.*' \(Remote IP: ''.*$" --max_retry=5 +#================================================= +# CHECK IF NOTIFY_PUSH WORKS +#================================================= + +if [ $enable_notify_push -eq 1 ] +then + count=0 + while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] + do + sleep 1 + count=$((count + 1)) + done + + ynh_systemd_action --service_name="${app}-notify-push-watcher" --action=restart + ynh_systemd_action --service_name="${app}-notify-push" --action=restart --line_match="Push daemon for Nextcloud clients." --log_path="systemd" --action=restart + + if ! exec_occ notify_push:self-test; then + ynh_print_warn --message="The High Performance Backend service is still not working properly. Please log in with a user to your NextCloud instance, restart the High Performance Backend service with \"systemctl restart ${app}-notify-push.service\", and run \"sudo -u $app php${phpversion} $install_dir/occ notify_push:self-test\" to verify that everything is green." + fi +fi + #================================================= # END OF SCRIPT #================================================= diff --git a/tests.toml b/tests.toml index cdd5e776..a7671f20 100644 --- a/tests.toml +++ b/tests.toml @@ -2,6 +2,8 @@ test_format = 1.0 [default] + args.enable_notify_push = "0" + # ------------------------------- # Commits to test upgrade from # ------------------------------- @@ -11,3 +13,10 @@ test_format = 1.0 test_upgrade_from.9c6d1eea.name = "Upgrade from 27.1.4" test_upgrade_from.e9f82ab7.name = "Upgrade from 28.0.6" test_upgrade_from.e9f82ab7.args.system_addressbook_exposed = "yes" + +[notify_push_test] + + args.enable_notify_push = "1" + test_upgrade_from.e9f82ab7.name = "Upgrade from 28.0.6" + test_upgrade_from.e9f82ab7.args.system_addressbook_exposed = "yes" + From aca04bd274698ebd90e7ee53e9b8f669eecc7b83 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Date: Fri, 30 Aug 2024 18:52:13 +0200 Subject: [PATCH 72/80] Remove ~duplicate pre-upgrade message (#723) --- doc/PRE_UPGRADE.d/28.0.3~ynh1.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 doc/PRE_UPGRADE.d/28.0.3~ynh1.md diff --git a/doc/PRE_UPGRADE.d/28.0.3~ynh1.md b/doc/PRE_UPGRADE.d/28.0.3~ynh1.md deleted file mode 100644 index 663bc771..00000000 --- a/doc/PRE_UPGRADE.d/28.0.3~ynh1.md +++ /dev/null @@ -1,3 +0,0 @@ -If you are upgrading to a new major version of Nextcloud, please make sure that your Nextcloud apps are up to date from Nextcloud's administration panel beforehand. - -Additionally, if you installed specific Nextcloud apps, we recommend making sure that they are compatible with the new major version. YunoHost will attempt to check this automatically at the very beginning of the upgrade, but a manual check doesn't hurt either. For Nextcloud 28, this forum thread might be helpful : . From 19ae3b021f4395d4543181836aee1a1ce4932919 Mon Sep 17 00:00:00 2001 From: Kayou Date: Sun, 1 Sep 2024 10:51:41 +0200 Subject: [PATCH 73/80] Fix notify_push after reboot/restart the service, create the folder /var/run/nextcloud via systemd --- conf/systemd.service | 1 + scripts/config | 3 --- scripts/install | 3 --- scripts/remove | 1 - scripts/restore | 3 --- scripts/upgrade | 3 --- 6 files changed, 1 insertion(+), 13 deletions(-) diff --git a/conf/systemd.service b/conf/systemd.service index 855a294f..bbe65732 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -4,6 +4,7 @@ Description = Push daemon for Nextcloud clients [Service] Environment=SOCKET_PATH=/var/run/__APP__/notify-push.sock Environment=ALLOW_SELF_SIGNED=true +RuntimeDirectory=__APP__ ExecStart=__INSTALL_DIR__/apps/notify_push/bin/__ARCH__/notify_push __INSTALL_DIR__/config/config.php Type=notify User=__APP__ diff --git a/scripts/config b/scripts/config index 189c4489..d756fa9f 100644 --- a/scripts/config +++ b/scripts/config @@ -127,9 +127,6 @@ set__enable_notify_push() { fi exec_occ config:app:set notify_push base_endpoint --value https://$domain${path_url%/}/push - mkdir -p /var/run/$app/ - chown $app: /var/run/$app/ - case $YNH_ARCH in amd64) arch="x86_64";; arm64) arch="aarch64";; diff --git a/scripts/install b/scripts/install index 2df768af..a4ef70aa 100755 --- a/scripts/install +++ b/scripts/install @@ -212,9 +212,6 @@ then exec_occ app:install notify_push exec_occ config:app:set notify_push base_endpoint --value https://$domain${path_url%/}/push - mkdir -p /var/run/$app/ - chown $app: /var/run/$app/ - case $YNH_ARCH in amd64) arch="x86_64";; arm64) arch="aarch64";; diff --git a/scripts/remove b/scripts/remove index 7f67cf5b..4bf6421b 100755 --- a/scripts/remove +++ b/scripts/remove @@ -28,7 +28,6 @@ ynh_remove_systemd_config --service="${app}-notify-push" ynh_exec_warn_less systemctl disable --now ${app}-notify-push-watcher.path ynh_secure_remove --file="/etc/systemd/system/${app}-notify-push-watcher.path" ynh_remove_systemd_config --service="${app}-notify-push-watcher" -ynh_secure_remove --file="/var/run/$app" # Remove a cron file # TODO: Ensure that cron job is not running (How !?) diff --git a/scripts/restore b/scripts/restore index 1393ae34..d9544306 100755 --- a/scripts/restore +++ b/scripts/restore @@ -130,9 +130,6 @@ ynh_systemd_action --action=restart --service_name=fail2ban if [ $enable_notify_push -eq 1 ] then - mkdir -p /var/run/$app/ - chown $app: /var/run/$app/ - ynh_restore_file --origin_path="/etc/systemd/system/${app}-notify-push.service" ynh_restore_file --origin_path="/etc/systemd/system/${app}-notify-push-watcher.service" ynh_restore_file --origin_path="/etc/systemd/system/${app}-notify-push-watcher.path" diff --git a/scripts/upgrade b/scripts/upgrade index 7706d059..53131094 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -397,9 +397,6 @@ then fi exec_occ config:app:set notify_push base_endpoint --value https://$domain${path_url%/}/push - mkdir -p /var/run/$app/ - chown $app: /var/run/$app/ - case $YNH_ARCH in amd64) arch="x86_64";; arm64) arch="aarch64";; From aa5842d2b6aa3ffbbd54f967784e7016d74a01ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:24:36 +0200 Subject: [PATCH 74/80] Update manifest.toml --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 692685d4..78d412b0 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.5~ynh1" +version = "29.0.6~ynh1" maintainers = ["kay0u"] @@ -71,8 +71,8 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.5.tar.bz2' - sha256 = 'c7fe9c61e5ec30a5e599e8f152a1825df684d30e899db0caa8868c8d67b53a2c' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.6.tar.bz2' + sha256 = 'dc60be03fd17e30bafef2a4d4feb2d096aa77a4c6b4f21c985760e537f8401e3' [resources.sources.28] url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.8.tar.bz2' From 6f7509a790bcdf0fc067f9bc0b4c73ed7605948c Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Tue, 3 Sep 2024 12:24:41 +0000 Subject: [PATCH 75/80] Auto-update READMEs --- README.md | 2 +- README_es.md | 2 +- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_id.md | 2 +- README_ru.md | 2 +- README_zh_Hans.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 2530f573..759443d9 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Shipped version:** 29.0.5~ynh1 +**Shipped version:** 29.0.6~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index 33673b92..6b7c9c72 100644 --- a/README_es.md +++ b/README_es.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versión actual:** 29.0.5~ynh1 +**Versión actual:** 29.0.6~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index f657a4ac..5f56146e 100644 --- a/README_eu.md +++ b/README_eu.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Paketatutako bertsioa:** 29.0.5~ynh1 +**Paketatutako bertsioa:** 29.0.6~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 064a9d9d..f325e31b 100644 --- a/README_fr.md +++ b/README_fr.md @@ -23,7 +23,7 @@ Dans le cadre de YunoHost, Nextcloud s'intègre avec le SSO / portail utilisateu L'adresse `/.well-known` sera automatiquement configuré pour la synchronisation CalDAV et CardDAV si aucun autre service tel que Baïkal ne l'utilise déjà. -**Version incluse :** 29.0.5~ynh1 +**Version incluse :** 29.0.6~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index 86d544fb..7caea123 100644 --- a/README_gl.md +++ b/README_gl.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versión proporcionada:** 29.0.5~ynh1 +**Versión proporcionada:** 29.0.6~ynh1 **Demo:** diff --git a/README_id.md b/README_id.md index aa9d19a9..5cb871a2 100644 --- a/README_id.md +++ b/README_id.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versi terkirim:** 29.0.5~ynh1 +**Versi terkirim:** 29.0.6~ynh1 **Demo:** diff --git a/README_ru.md b/README_ru.md index 9442e138..782ca443 100644 --- a/README_ru.md +++ b/README_ru.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Поставляемая версия:** 29.0.5~ynh1 +**Поставляемая версия:** 29.0.6~ynh1 **Демо-версия:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 0d157c07..02dce2c7 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**分发版本:** 29.0.5~ynh1 +**分发版本:** 29.0.6~ynh1 **演示:** From 46bffb07976b445c65ab6555c3055dde3b6172d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:38:33 +0200 Subject: [PATCH 76/80] Update backup --- scripts/backup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/backup b/scripts/backup index 56e6e0b2..d9ecab9b 100755 --- a/scripts/backup +++ b/scripts/backup @@ -35,7 +35,7 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.d" #================================================= -# BACKUP THE PHP-FPM CONFIGURATION +# SYSTEM CONFIGURATION #================================================= # Backup the PHP-FPM configuration From af3a5717eacafe7ebe92bb5616ab74c6cbd74d45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 12 Sep 2024 18:17:29 +0200 Subject: [PATCH 77/80] 29.0.7 --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index 78d412b0..286d942b 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Nextcloud" description.en = "Online storage, file sharing platform and various other applications" description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications" -version = "29.0.6~ynh1" +version = "29.0.7~ynh1" maintainers = ["kay0u"] @@ -71,8 +71,8 @@ ram.runtime = "512M" [resources.sources] [resources.sources.main] - url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.6.tar.bz2' - sha256 = 'dc60be03fd17e30bafef2a4d4feb2d096aa77a4c6b4f21c985760e537f8401e3' + url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.7.tar.bz2' + sha256 = 'f532ffc31be5a8374b5e072b86fff8765ec19fda0c8509cee39873081db2c544' [resources.sources.28] url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.8.tar.bz2' From f43dc34f941f0328ea6519a4d9019eb7b4f68f1b Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 12 Sep 2024 16:17:37 +0000 Subject: [PATCH 78/80] Auto-update READMEs --- ALL_README.md | 1 + README.md | 2 +- README_es.md | 4 ++-- README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_id.md | 2 +- README_nl.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++ README_ru.md | 2 +- README_zh_Hans.md | 2 +- 10 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 README_nl.md diff --git a/ALL_README.md b/ALL_README.md index e3c80d23..df3708bc 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -6,5 +6,6 @@ - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) - [Baca README dalam bahasa bahasa Indonesia](README_id.md) +- [Lees de README in het Nederlands](README_nl.md) - [Прочитать README на русский](README_ru.md) - [阅读中文(简体)的 README](README_zh_Hans.md) diff --git a/README.md b/README.md index 759443d9..16c56456 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Shipped version:** 29.0.6~ynh1 +**Shipped version:** 29.0.7~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index 6b7c9c72..9b89abb8 100644 --- a/README_es.md +++ b/README_es.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versión actual:** 29.0.6~ynh1 +**Versión actual:** 29.0.7~ynh1 **Demo:** @@ -42,7 +42,7 @@ The `/.well-known` address will be automatically configured for CalDAV and CardD ## Información para desarrolladores -Por favor enviar sus correcciones a la [`branch testing`](https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing +Por favor enviar sus correcciones a la [rama `testing`](https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing). Para probar la rama `testing`, sigue asÍ: diff --git a/README_eu.md b/README_eu.md index 5f56146e..6fe3a99b 100644 --- a/README_eu.md +++ b/README_eu.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Paketatutako bertsioa:** 29.0.6~ynh1 +**Paketatutako bertsioa:** 29.0.7~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index f325e31b..6dfdf439 100644 --- a/README_fr.md +++ b/README_fr.md @@ -23,7 +23,7 @@ Dans le cadre de YunoHost, Nextcloud s'intègre avec le SSO / portail utilisateu L'adresse `/.well-known` sera automatiquement configuré pour la synchronisation CalDAV et CardDAV si aucun autre service tel que Baïkal ne l'utilise déjà. -**Version incluse :** 29.0.6~ynh1 +**Version incluse :** 29.0.7~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index 7caea123..4afd44f6 100644 --- a/README_gl.md +++ b/README_gl.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versión proporcionada:** 29.0.6~ynh1 +**Versión proporcionada:** 29.0.7~ynh1 **Demo:** diff --git a/README_id.md b/README_id.md index 5cb871a2..a8125924 100644 --- a/README_id.md +++ b/README_id.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Versi terkirim:** 29.0.6~ynh1 +**Versi terkirim:** 29.0.7~ynh1 **Demo:** diff --git a/README_nl.md b/README_nl.md new file mode 100644 index 00000000..2de2e2ab --- /dev/null +++ b/README_nl.md @@ -0,0 +1,55 @@ + + +# Nextcloud voor Yunohost + +[![Integratieniveau](https://dash.yunohost.org/integration/nextcloud.svg)](https://ci-apps.yunohost.org/ci/apps/nextcloud/) ![Mate van functioneren](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![Onderhoudsstatus](https://ci-apps.yunohost.org/ci/badges/nextcloud.maintain.svg) + +[![Nextcloud met Yunohost installeren](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=nextcloud) + +*[Deze README in een andere taal lezen.](./ALL_README.md)* + +> *Met dit pakket kun je Nextcloud snel en eenvoudig op een YunoHost-server installeren.* +> *Als je nog geen YunoHost hebt, lees dan [de installatiehandleiding](https://yunohost.org/install), om te zien hoe je 'm installeert.* + +## Overzicht + +Nextcloud lets you access and synchronize data, files, contacts and calendars between different devices (PCs or mobiles), or share them with other people (with or without accounts), and also offers advanced communication and collaborative working features. Nextcloud features its own application mechanism (see also [Nextcloud's app store](https://apps.nextcloud.com/)) for specific functionalities. + +In the context of YunoHost, Nextcloud integrates with the SSO / user portal (YunoHost accounts are automatically connected to Nextcloud). + +The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. + + +**Geleverde versie:** 29.0.7~ynh1 + +**Demo:** + +## Schermafdrukken + +![Schermafdrukken van Nextcloud](./doc/screenshots/screenshot.png) + +## Documentatie en bronnen + +- Officiele website van de app: +- Officiele gebruikersdocumentatie: +- Officiele beheerdersdocumentatie: +- Upstream app codedepot: +- YunoHost-store: +- Meld een bug: + +## Ontwikkelaarsinformatie + +Stuur je pull request alsjeblieft naar de [`testing`-branch](https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing). + +Om de `testing`-branch uit te proberen, ga als volgt te werk: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +of +sudo yunohost app upgrade nextcloud -u https://github.com/YunoHost-Apps/nextcloud_ynh/tree/testing --debug +``` + +**Verdere informatie over app-packaging:** diff --git a/README_ru.md b/README_ru.md index 782ca443..de39df71 100644 --- a/README_ru.md +++ b/README_ru.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**Поставляемая версия:** 29.0.6~ynh1 +**Поставляемая версия:** 29.0.7~ynh1 **Демо-версия:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 02dce2c7..d94cc152 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -23,7 +23,7 @@ In the context of YunoHost, Nextcloud integrates with the SSO / user portal (Yun The `/.well-known` address will be automatically configured for CalDAV and CardDAV synchronization if no other service such as Baïkal is already using it. -**分发版本:** 29.0.6~ynh1 +**分发版本:** 29.0.7~ynh1 **演示:** From 63cf35deb9c0d728189a4402801d92ccb92900d2 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 18 Sep 2024 16:12:10 +0200 Subject: [PATCH 79/80] Add comment about the cron check for high perf backend --- scripts/change_url | 1 + scripts/config | 1 + scripts/install | 1 + scripts/restore | 1 + scripts/upgrade | 1 + 5 files changed, 5 insertions(+) diff --git a/scripts/change_url b/scripts/change_url index 326594f8..15eaee94 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -79,6 +79,7 @@ then ynh_add_systemd_config --service="${app}-notify-push" count=0 + # cron can sometimes fail when the database is not fully initialized, hence it's retried several times, see https://github.com/YunoHost-Apps/nextcloud_ynh/pull/720 while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] do sleep 1 diff --git a/scripts/config b/scripts/config index d756fa9f..d9ae635b 100644 --- a/scripts/config +++ b/scripts/config @@ -139,6 +139,7 @@ set__enable_notify_push() { ynh_add_systemd_config --service="${app}-notify-push" count=0 + # cron can sometimes fail when the database is not fully initialized, hence it's retried several times, see https://github.com/YunoHost-Apps/nextcloud_ynh/pull/720 while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] do sleep 1 diff --git a/scripts/install b/scripts/install index a4ef70aa..324381ce 100755 --- a/scripts/install +++ b/scripts/install @@ -297,6 +297,7 @@ ynh_add_fail2ban_config --logpath="/var/log/$app/nextcloud.log" --failregex="^.* if [ $enable_notify_push -eq 1 ] then count=0 + # cron can sometimes fail when the database is not fully initialized, hence it's retried several times, see https://github.com/YunoHost-Apps/nextcloud_ynh/pull/720 while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] do sleep 1 diff --git a/scripts/restore b/scripts/restore index d9544306..63581144 100755 --- a/scripts/restore +++ b/scripts/restore @@ -160,6 +160,7 @@ exec_occ() { if [ $enable_notify_push -eq 1 ] then count=0 + # cron can sometimes fail when the database is not fully initialized, hence it's retried several times, see https://github.com/YunoHost-Apps/nextcloud_ynh/pull/720 while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] do sleep 1 diff --git a/scripts/upgrade b/scripts/upgrade index 53131094..657a10c0 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -441,6 +441,7 @@ ynh_add_fail2ban_config --logpath="/var/log/$app/nextcloud.log" --failregex="^.* if [ $enable_notify_push -eq 1 ] then count=0 + # cron can sometimes fail when the database is not fully initialized, hence it's retried several times, see https://github.com/YunoHost-Apps/nextcloud_ynh/pull/720 while ! ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 $install_dir/cron.php && [[ $count -lt 30 ]] do sleep 1 From 7a1274d831eaa1d166effeac66daaebb6726b95a Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 18 Sep 2024 16:17:57 +0200 Subject: [PATCH 80/80] Add extended description of the notify push option --- config_panel.toml | 3 +++ manifest.toml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/config_panel.toml b/config_panel.toml index b583fb4f..c408eadc 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -30,6 +30,9 @@ name = "Nextcloud configuration" ask.en = "Configure the High Performance Backend?" ask.fr = "Configurer le Backend Hautes Performances ?" type = "boolean" + help.en = "Also called 'notify push' and corresponds to a mechanism allowing more instantaneous notifications and reduce server load. (However, it is still a bit new and adds complexity to the setup)" + help.fr = "Aussi appelé 'notifications push' et corresponds à un mécanisme qui permet d'avoir des notifications plus rapides et de réduire la charge du serveur. (Cependant, cette fonctionnalité reste relativement nouvelle, et augmente la complexité de l'installation)" + [main.php_fpm_config] name = "PHP-FPM configuration" diff --git a/manifest.toml b/manifest.toml index 286d942b..9525bc9d 100644 --- a/manifest.toml +++ b/manifest.toml @@ -65,6 +65,8 @@ ram.runtime = "512M" ask.fr = "Configurer le Backend Hautes Performances ?" type = "boolean" default = false + help.en = "Also called 'notify push' and corresponds to a mechanism allowing more instantaneous notifications and reduce server load. (However, it is still a bit new and adds complexity to the setup)" + help.fr = "Aussi appelé 'notifications push' et corresponds à un mécanisme qui permet d'avoir des notifications plus rapides et de réduire la charge du serveur. (Cependant, cette fonctionnalité reste relativement nouvelle, et augmente la complexité de l'installation)" [resources]