1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/nextcloud_ynh.git synced 2024-09-03 19:55:57 +02:00

Merge branch 'testing' into add-notify_push-option

This commit is contained in:
Kayou 2024-08-02 14:17:23 +02:00 committed by GitHub
commit a08e70e21f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 134 additions and 140 deletions

View file

@ -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.3~ynh1
**Shipped version:** 29.0.4~ynh1
**Demo:** <https://demo.nextcloud.com/>

View file

@ -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.3~ynh1
**Versión actual:** 29.0.4~ynh1
**Demo:** <https://demo.nextcloud.com/>

View file

@ -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.3~ynh1
**Paketatutako bertsioa:** 29.0.4~ynh1
**Demoa:** <https://demo.nextcloud.com/>

View file

@ -16,20 +16,14 @@ Il NE doit PAS être modifié à la main.
## Vue densemble
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.3~ynh1
**Version incluse:** 29.0.4~ynh1
**Démo:** <https://demo.nextcloud.com/>

View file

@ -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.3~ynh1
**Versión proporcionada:** 29.0.4~ynh1
**Demo:** <https://demo.nextcloud.com/>

View file

@ -16,20 +16,14 @@ Ini TIDAK boleh diedit dengan tangan.
## Ringkasan
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 terkirim:** 29.0.3~ynh1
**Versi terkirim:** 29.0.4~ynh1
**Demo:** <https://demo.nextcloud.com/>
@ -42,7 +36,7 @@ In addition to Nextcloud core features, the following are made available with th
- Website aplikasi resmi: <https://nextcloud.com>
- Dokumentasi pengguna resmi: <https://docs.nextcloud.com/server/latest/user_manual/en/>
- Dokumentasi admin resmi: <https://docs.nextcloud.com/server/stable/admin_manual/>
- Repositori kode aplikasi hulu: <https://github.com/nextcloud/server>
- Depot kode aplikasi hulu: <https://github.com/nextcloud/server>
- Gudang YunoHost: <https://apps.yunohost.org/app/nextcloud>
- Laporkan bug: <https://github.com/YunoHost-Apps/nextcloud_ynh/issues>

View file

@ -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.3~ynh1
**分发版本:** 29.0.4~ynh1
**演示:** <https://demo.nextcloud.com/>

View file

@ -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;

View file

@ -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"

View file

@ -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.

View file

@ -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à.

View file

@ -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"]
@ -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
[install.enable_notify_push]
ask.en = "Configure the High Performance Backend?"
@ -72,36 +71,37 @@ 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'
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]
@ -122,7 +122,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"

View file

@ -8,6 +8,20 @@
# 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
# 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
is_url_handled() {

View file

@ -14,6 +14,19 @@ source /usr/share/yunohost/helpers
#=================================================
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=2
if [ $change_domain -eq 1 ]
then
# 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
fi
ynh_change_url_nginx_config
ynh_change_url_nginx_notify_push_config
@ -39,23 +52,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
if [ $enable_notify_push -eq 1 ]
then
ynh_add_systemd_config --service="${app}-notify-push"
ynh_systemd_action --service_name="${app}-notify-push" --action=restart
fi
fi
#=================================================
@ -64,8 +60,8 @@ fi
if [ $enable_notify_push -eq 1 ]
then
domain="$new_domain"
path_url="$new_path"
domain="$new_domain"
path_url="$new_path"
exec_occ config:app:set notify_push base_endpoint --value https://$domain$path_url/push
ynh_add_systemd_config --service="${app}-notify-push"

View file

@ -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
#=================================================

View file

@ -69,7 +69,8 @@ exec_occ() {
}
# Set write access for the following commands
chown -R $app: "$install_dir" "$data_dir"
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
@ -260,7 +261,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
if [ $enable_notify_push -eq 1 ]

View file

@ -101,7 +101,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

View file

@ -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
@ -124,7 +138,7 @@ then
ynh_script_progression --message="Upgrading $app..." --weight=3
# Set write access for the following commands
chown -R $app: "$install_dir" "$data_dir"
chown -R $app:www-data "$install_dir"
# Print the current version number of Nextcloud
exec_occ -V
@ -193,7 +207,7 @@ then
mv "$tmpdir" "$install_dir"
# Set write access for the following commands
chown -R $app: "$install_dir" "$data_dir"
chown -R $app:www-data "$install_dir"
# Upgrade Nextcloud (SUCCESS = 0, UP_TO_DATE = 3)
exec_occ maintenance:mode --off
@ -311,12 +325,9 @@ 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/ -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
@ -348,6 +359,8 @@ 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"
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"
then

View file

@ -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"