Commit 2e6a8687 authored by Jérome Perrin's avatar Jérome Perrin

software/nextcloud: version up nextcloud 27.1.2 and plugins

replace deprecated rainloop by the recommended replacement snappymail

fix promise race with check-nc-install, CAN_INSTALL is removed before
slapos specific configuration is finished. Create a file at the end and
check its presence as well.
parent 70ece867
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
# not need these here). # not need these here).
[template-nextcloud-install.sh] [template-nextcloud-install.sh]
filename = nextcloud-install.sh.in filename = nextcloud-install.sh.in
md5sum = 094c26b177fdde69b41d81b89bab542b md5sum = 965cc84d4c8e39f06850fac361575647
[template-nextcloud-config.json] [template-nextcloud-config.json]
filename = nextcloud-config.json.in filename = nextcloud-config.json.in
...@@ -22,4 +22,4 @@ md5sum = 6f42f0a8c5e5c0c657541a65c4d9ee57 ...@@ -22,4 +22,4 @@ md5sum = 6f42f0a8c5e5c0c657541a65c4d9ee57
[template-nextcloud-instance] [template-nextcloud-instance]
filename = nextcloud-instance.cfg.in filename = nextcloud-instance.cfg.in
md5sum = e144dc4cdc3bd0a9be81ac0cc2cfdbd4 md5sum = a59b081bd39f61c7361fdb6c54fc2039
...@@ -52,7 +52,7 @@ cat <<EOF >> {{ parameter_dict['nextcloud'] }}/config/config.php ...@@ -52,7 +52,7 @@ cat <<EOF >> {{ parameter_dict['nextcloud'] }}/config/config.php
'mail_smtppassword' => '{{ parameter_dict["mail.smtppassword"] }}', 'mail_smtppassword' => '{{ parameter_dict["mail.smtppassword"] }}',
'activity_expire_days' => 14, 'activity_expire_days' => 14,
'auth.bruteforce.protection.enabled' => true, 'auth.bruteforce.protection.enabled' => true,
'forwarded_for_headers' => 'forwarded_for_headers' =>
array ( array (
0 => 'HTTP_X_FORWARDED', 0 => 'HTTP_X_FORWARDED',
), ),
...@@ -67,13 +67,13 @@ array ( ...@@ -67,13 +67,13 @@ array (
{% endfor -%} {% endfor -%}
), ),
{% endif -%} {% endif -%}
'blacklisted_files' => 'blacklisted_files' =>
array ( array (
0 => '.htaccess', 0 => '.htaccess',
1 => 'Thumbs.db', 1 => 'Thumbs.db',
2 => 'thumbs.db', 2 => 'thumbs.db',
), ),
'csrf.optout' => 'csrf.optout' =>
array ( array (
0 => '/^WebDAVFS/', 0 => '/^WebDAVFS/',
1 => '/^Microsoft-WebDAV-MiniRedir/', 1 => '/^Microsoft-WebDAV-MiniRedir/',
...@@ -81,7 +81,7 @@ array ( ...@@ -81,7 +81,7 @@ array (
), ),
'cron_log' => true, 'cron_log' => true,
'enable_previews' => true, 'enable_previews' => true,
'enabledPreviewProviders' => 'enabledPreviewProviders' =>
array ( array (
0 => 'OC\\Preview\\PNG', 0 => 'OC\\Preview\\PNG',
1 => 'OC\\Preview\\JPEG', 1 => 'OC\\Preview\\JPEG',
...@@ -110,7 +110,7 @@ array ( ...@@ -110,7 +110,7 @@ array (
'preview_max_x' => 1024, 'preview_max_x' => 1024,
'preview_max_y' => 768, 'preview_max_y' => 768,
'preview_max_scale_factor' => 1, 'preview_max_scale_factor' => 1,
'redis' => 'redis' =>
array ( array (
'host' => '{{ parameter_dict["redis-socket"] }}', 'host' => '{{ parameter_dict["redis-socket"] }}',
'port' => 0, 'port' => 0,
...@@ -134,8 +134,10 @@ EOF ...@@ -134,8 +134,10 @@ EOF
php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set richdocuments wopi_url --value="{{ parameter_dict.get('collabora-url', '') }}" php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set richdocuments wopi_url --value="{{ parameter_dict.get('collabora-url', '') }}"
php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed stun_servers --value="[\"{{ parameter_dict['stun-server'] }}\"]" php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed stun_servers --value="[\"{{ parameter_dict['stun-server'] }}\"]"
php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed turn_servers --value="[{\"server\":\"{{ parameter_dict['turn-server'] }}\",\"secret\":\"{{ parameter_dict['turn-secret'] }}\",\"protocols\":\"udp,tcp\"}]" php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed turn_servers --value="[{\"server\":\"{{ parameter_dict['turn-server'] }}\",\"secret\":\"{{ parameter_dict['turn-secret'] }}\",\"protocols\":\"udp,tcp\"}]"
sed -i 's#useCronUpdates\s*=.*#useCronUpdates = false#g' {{ parameter_dict['data-dir'] }}/news/config/config.ini php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set news useCronUpdates --value=false
if [ -f "{{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL" ]; then if [ -f "{{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL" ]; then
rm {{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL rm {{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL
fi fi
date > {{ parameter_dict['nextcloud'] }}/.slapos-install-done
...@@ -105,6 +105,10 @@ input = inline:#!/bin/bash ...@@ -105,6 +105,10 @@ input = inline:#!/bin/bash
echo "Nextcloud is not installed."; echo "Nextcloud is not installed.";
exit 1; exit 1;
fi fi
if [ ! -f "${instance-parameter:nextcloud}/.slapos-install-done" ]; then
echo "Nextcloud is not configured.";
exit 1;
fi
output = ${directory:bin}/check-nc-install output = ${directory:bin}/check-nc-install
mode = 744 mode = 744
......
...@@ -9,8 +9,8 @@ recipe = slapos.recipe.build:download ...@@ -9,8 +9,8 @@ recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
[application] [application]
url = https://download.nextcloud.com/server/releases/nextcloud-16.0.3.tar.bz2 url = https://download.nextcloud.com/server/releases/nextcloud-27.1.2.tar.bz2
md5sum = d81902d2dec5d547779bec6336a438be md5sum = a23afb146993d7449b78395739f27742
[template-nextcloud-install.sh] [template-nextcloud-install.sh]
<= nc-download <= nc-download
...@@ -46,37 +46,37 @@ shared = true ...@@ -46,37 +46,37 @@ shared = true
[news-updater] [news-updater]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/news-updater/archive/10.0.1.tar.gz url = https://github.com/nextcloud/news-updater/archive/11.0.0.tar.gz
md5sum = 37387199c0482e08d01e9294cd95eaad md5sum = 1e75222638cab49d3f66b7c76394f104
[nextcloud-app-spreed] [nextcloud-app-spreed]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/spreed/releases/download/v6.0.5/spreed-6.0.5.tar.gz url = https://github.com/nextcloud-releases/spreed/releases/download/v17.1.1/spreed-v17.1.1.tar.gz
md5sum = 002c09e543edc141f6ca848782573376 md5sum = 24e6be17fb232a3c18de5e9c0a03c7c3
[nextcloud-app-richdocuments] [nextcloud-app-richdocuments]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/richdocuments/releases/download/v3.7.17/richdocuments.tar.gz url = https://github.com/nextcloud/richdocuments/releases/download/v8.2.0/richdocuments.tar.gz
md5sum = 5559cd14a4a0a93d2a39b260538839f8 md5sum = 1e9176b0f08670996488572aea081996
[nextcloud-app-calendar] [nextcloud-app-calendar]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/calendar/releases/download/v1.7.3/calendar.tar.gz url = https://github.com/nextcloud-releases/calendar/releases/download/v4.5.2/calendar-v4.5.2.tar.gz
md5sum = ab398d943eb6939e3e71df5b1a1abf87 md5sum = 88adcbc34ef7e461f515ba96b82365d9
[nextcloud-app-rainloop] [nextcloud-app-snappymail]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/pierre-alain-b/rainloop-nextcloud/releases/download/6.1.4/rainloop.tar.gz url = https://snappymail.eu/repository/nextcloud/snappymail-2.29.1-nextcloud.tar.gz
md5sum = 7cefc3dd3bd52b42d381de7d7447691f md5sum = b7500ea4e089d8a9e3fa381d6df3a3b0
[nextcloud-app-news] [nextcloud-app-news]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/news/releases/download/14.2.2/news.tar.gz url = https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz
md5sum = f48d4b5dcbc078131bb86a4ae619da99 md5sum = 8e1a7e3e49e6dbd754bc1b9ff2f85371
[nextcloud-apps] [nextcloud-apps]
spreed = ${nextcloud-app-spreed:location} spreed = ${nextcloud-app-spreed:location}
richdocuments = ${nextcloud-app-richdocuments:location} richdocuments = ${nextcloud-app-richdocuments:location}
calendar = ${nextcloud-app-calendar:location} calendar = ${nextcloud-app-calendar:location}
rainloop = ${nextcloud-app-rainloop:location} snappymail = ${nextcloud-app-snappymail:location}
news = ${nextcloud-app-news:location} news = ${nextcloud-app-news:location}
...@@ -279,10 +279,15 @@ class TestServices(NextCloudTestCase): ...@@ -279,10 +279,15 @@ class TestServices(NextCloudTestCase):
"turn_servers" "turn_servers"
]) ])
self.assertEqual(turn_config.strip(), b'[{"server":"","secret":"","protocols":"udp,tcp"}]') self.assertEqual(turn_config.strip(), b'[{"server":"","secret":"","protocols":"udp,tcp"}]')
news_config_file = os.path.join(self.partition_dir, 'srv/data/news/config/config.ini')
with open(news_config_file) as f: news_config = subprocess.check_output([
config = f.read() php_bin,
self.assertRegex(config, r"(useCronUpdates\s+=\s+false)") occ,
"config:app:get",
"news",
"useCronUpdates"
])
self.assertEqual(news_config.strip(), b'false')
class TestNextCloudParameters(NextCloudTestCase): class TestNextCloudParameters(NextCloudTestCase):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment