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 01/29] 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 0300bad..5a4f22a 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 02/29] Update manifest.toml --- manifest.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index ef01371..4cf5e99 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 03/29] 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 da9c32c..b9dea00 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 af9d262..b868571 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 0be7b88..5a1609e 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 cf2fbfb..0b9ec93 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 6e3bf79..939c2a4 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 1f71c2b..eb9b198 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 04/29] 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 b9dea00..81eb8a6 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 b868571..9b75f1c 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 5a1609e..8b722e4 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 0b9ec93..f59d583 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 939c2a4..9a823a3 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 eb9b198..465182e 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 3d35dc4..67150c8 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 6131f48..b9229dc 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 05/29] bump all old versions --- manifest.toml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/manifest.toml b/manifest.toml index 4cf5e99..ebffdec 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 06/29] oupsie --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index ebffdec..7f0c9ca 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 07/29] 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 152f2e7..4ed64dd 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 0000000..281ffba --- /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 08/29] 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 7f0c9ca..d727ead 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 09/29] 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 281ffba..71cbfaa 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 10/29] 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 c2ddc1d..1441abb 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 eb4b363..cdd5e77 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 11/29] 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 1441abb..4db9598 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 12/29] 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 4db9598..e36d62e 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 13/29] add redis-server as deps --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index d727ead..7b855d6 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 79bbe7d11e53dd0dc6d6b63c20eb88ef619abfe9 Mon Sep 17 00:00:00 2001 From: eric_G <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:39:48 +0200 Subject: [PATCH 14/29] Testing (#693) * Update manifest.toml * Auto-update READMEs * add pre upgrade warning for NC 29 * update to PHP8.3 * Auto-update READMEs * Update manifest.toml * Auto-update READMEs * Fix space splitting in phpflags on install (#690) * Auto-update READMEs * Update upgrade * Update manifest.toml * Auto-update READMEs * Fix phpflags (#691) * Fix upgrade: php version is 8.3 starting from 29.x ? (#692) * Update manifest.toml * Auto-update READMEs * Update tests.toml * [autopatch] Do not delete logs on app removal (#697) * [autopatch] Do not delete logs on app removal (#698) Co-authored-by: Yunohost-Bot <> * 29.0.3 * Auto-update READMEs * Update remove * Indent * Fix again upgrade ending with Nextcloud being in PHP 8.2 ? * Auto-update READMEs * Update nginx.conf * Update manifest.toml * Auto-update READMEs * 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 * bump all old versions * oupsie * Auto-update READMEs * system_addressbook_exposed is a boolean * Auto-update READMEs * migrate system_addressbook_exposed to boolean, fix upgrade test * another fix for system_addressbook_exposed, update the dav conf accordingly * zblerg, do not modify system_addressbook_exposed config value in the upgrade script * add redis-server as deps --------- Co-authored-by: yunohost-bot Co-authored-by: OniriCorpe Co-authored-by: lyyn <79758863+lyynd@users.noreply.github.com> Co-authored-by: tituspijean Co-authored-by: Alexandre Aubin <4533074+alexAubin@users.noreply.github.com> Co-authored-by: YunoHost Bot Co-authored-by: Alexandre Aubin Co-authored-by: Kayou --- ALL_README.md | 1 + README.md | 16 ++++--------- README_es.md | 16 ++++--------- README_eu.md | 16 ++++--------- README_fr.md | 16 ++++--------- README_gl.md | 16 ++++--------- README_id.md | 55 +++++++++++++++++++++++++++++++++++++++++++ README_zh_Hans.md | 16 ++++--------- conf/nginx.conf | 2 +- doc/DESCRIPTION.md | 12 +++------- doc/DESCRIPTION_fr.md | 12 +++------- manifest.toml | 38 +++++++++++++++--------------- scripts/remove | 3 --- scripts/upgrade | 33 +++++++++++++++++++------- tests.toml | 3 ++- 15 files changed, 139 insertions(+), 116 deletions(-) create mode 100644 README_id.md diff --git a/ALL_README.md b/ALL_README.md index 152f2e7..4ed64dd 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.md b/README.md index b892592..81eb8a6 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) @@ -16,20 +16,14 @@ 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.2~ynh1 +**Shipped version:** 29.0.4~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index 3ed8bc1..9b75f1c 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) @@ -16,20 +16,14 @@ 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.2~ynh1 +**Versión actual:** 29.0.4~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index e1df5a3..8b722e4 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) @@ -16,20 +16,14 @@ 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.2~ynh1 +**Paketatutako bertsioa:** 29.0.4~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 0bb2d4d..f59d583 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) @@ -16,20 +16,14 @@ 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.2~ynh1 +**Version incluse :** 29.0.4~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index bbd9686..9a823a3 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) @@ -16,20 +16,14 @@ 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.2~ynh1 +**Versión proporcionada:** 29.0.4~ynh1 **Demo:** diff --git a/README_id.md b/README_id.md new file mode 100644 index 0000000..71cbfaa --- /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: +- Depot 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:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index d97e0ed..465182e 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) @@ -16,20 +16,14 @@ ## 概况 -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.2~ynh1 +**分发版本:** 29.0.4~ynh1 **演示:** diff --git a/conf/nginx.conf b/conf/nginx.conf index 0300bad..5a4f22a 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; diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md index 3d35dc4..67150c8 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 6131f48..b9229dc 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à. diff --git a/manifest.toml b/manifest.toml index 0c89952..7b855d6 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.4~ynh1" maintainers = ["kay0u"] @@ -57,45 +57,45 @@ 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] [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.4.tar.bz2' + 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] @@ -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" diff --git a/scripts/remove b/scripts/remove index f8d582f..c39ac68 100755 --- a/scripts/remove +++ b/scripts/remove @@ -16,9 +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 diff --git a/scripts/upgrade b/scripts/upgrade index 7dd9a82..e36d62e 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,6 +10,20 @@ 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 + 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 @@ -39,7 +53,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_major_version" ] + then + NEXTCLOUD_PHP_VERSION="8.3" + elif [ $current_major_version -ge 26 ] then NEXTCLOUD_PHP_VERSION="8.2" elif [ $current_major_version -ge 24 ] @@ -68,13 +85,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() diff --git a/tests.toml b/tests.toml index 0e8e459..cdd5e77 100644 --- a/tests.toml +++ b/tests.toml @@ -9,4 +9,5 @@ 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" + test_upgrade_from.e9f82ab7.args.system_addressbook_exposed = "yes" From e215d9c5c9889d8c69a056c67ad8997a5dd69646 Mon Sep 17 00:00:00 2001 From: Kayou Date: Tue, 30 Jul 2024 16:52:31 +0200 Subject: [PATCH 15/29] 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 88c1c0d..0e30319 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 1b0f63c..da7848e 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 e36d62e..5d70446 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 16/29] 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 0e30319..9b705b5 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 da7848e..5ef4f91 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 5d70446..76d424b 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 17/29] 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 9b705b5..d8ef9c0 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 5ef4f91..6ef7833 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 76d424b..48a8889 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 18/29] 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 d8ef9c0..2f7b40a 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 6ef7833..1b0f63c 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 48a8889..9fb3157 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 19/29] 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 4e458b6..e5e88ae 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 93ced20..e231009 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 20/29] 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 9fb3157..2a02150 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 21/29] 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 2f7b40a..f2635e7 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 1b0f63c..9ae3611 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 2a02150..846c1d9 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 22/29] 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 f2635e7..0987b84 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 846c1d9..074385b 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 23/29] 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 e36d62e..aa391c0 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 24/29] 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 65cce78..f060a27 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 aa391c0..ad0e4c6 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 25/29] 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 aac12f0..f43ed11 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 26/29] 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 f43ed11..8cadcea 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 27/29] 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 f060a27..653a0b0 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -17,7 +17,7 @@ wait_nginx_reload() { break fi sleep 1 -done + done } From 8a7f99d35470d7a6d0aec08ed56e6a0a6ade504e Mon Sep 17 00:00:00 2001 From: Kayou Date: Thu, 1 Aug 2024 17:29:04 +0200 Subject: [PATCH 28/29] moar sleep --- scripts/_common.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 653a0b0..512b33a 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 29/29] oups --- scripts/_common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 512b33a..19c1859 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