diff --git a/UPDATING.md b/UPDATING.md index 9dbe57d..e633511 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -24,9 +24,9 @@ little to no impact. ## 2023 -### 2023-03 - Nextcloud 25.0.4 + NC Docker rework +### 2023-03 - Nextcloud 25.0.5 + NC Docker rework -Update version to 25.0.4 and rework its docker image. +Update version to 25.0.5 and rework its docker image. The image now manages volumes and configuration in a better fashion, thanks to that we achieve an image that is closer to the original one, but @@ -54,9 +54,10 @@ Upgrade from a commit that includes Nextcloud major version 24 (see previous UPGRADE messages) with: # Upgrade to NC version 24.0.10 (latest 24 minor on 2023-03-14) - ./dd-ctl update a27f44262b9e4d37b21265a20575e8aa2dd78cb0 - # Upgrade to NC version 25.0.4 (latest 25 minor on 2023-03-14) - ./dd-ctl update 7e2c748f51674968719f5abbf442477678d614c7 + # Note this commit already includes the reworked image + ./dd-ctl update 010a04bf37d75b39cf24bcc2b80c81023e037f78 + # Upgrade to NC version 25.0.5 (latest 25 minor on 2023-03-31) + ./dd-ctl update a4f51d102396ebc0883882dfbcebd9e08f60a7b8 ### 2023-02 - Nextcloud 24.0.10 diff --git a/dd-apps/docker/nextcloud/dd-patch b/dd-apps/docker/nextcloud/dd-patch index fb3241e..b0018a7 100644 --- a/dd-apps/docker/nextcloud/dd-patch +++ b/dd-apps/docker/nextcloud/dd-patch @@ -2,4 +2,4 @@ # file license author source nginx.conf AGPL-3.0-or-later https://github.com/nextcloud/ https://raw.githubusercontent.com/nextcloud/docker/04ab3157e4f1197a9f8f4b91cf2430586356dd9a/.examples/docker-compose/with-nginx-proxy/postgres/fpm/web/nginx.conf supervisord.conf AGPL-3.0-or-later https://github.com/nextcloud/ https://raw.githubusercontent.com/nextcloud/docker/04ab3157e4f1197a9f8f4b91cf2430586356dd9a/.examples/dockerfiles/cron/fpm-alpine/supervisord.conf -src/themes/dd/core/templates/layout.user.php AGPL-3.0-or-later https://github.com/nextcloud/ https://raw.githubusercontent.com/nextcloud/server/v25.0.4/core/templates/layout.user.php +src/themes/dd/core/templates/layout.user.php AGPL-3.0-or-later https://github.com/nextcloud/ https://raw.githubusercontent.com/nextcloud/server/v25.0.5/core/templates/layout.user.php diff --git a/dd-apps/docker/nextcloud/nc-setup.sh b/dd-apps/docker/nextcloud/nc-setup.sh index b7095ae..5ab35eb 100755 --- a/dd-apps/docker/nextcloud/nc-setup.sh +++ b/dd-apps/docker/nextcloud/nc-setup.sh @@ -47,7 +47,8 @@ cat > "${STATIC_CFG}" < 'ca', + 'default_language' => '${FORCED_LANGUAGE}', + 'force_language' => '${FORCED_LANGUAGE}', 'skeletondirectory' => '', 'theme' => 'dd', 'allow_local_remote_servers' => true, diff --git a/dd-apps/docker/nextcloud/nextcloud.yml b/dd-apps/docker/nextcloud/nextcloud.yml index 76b2374..7c4e037 100644 --- a/dd-apps/docker/nextcloud/nextcloud.yml +++ b/dd-apps/docker/nextcloud/nextcloud.yml @@ -26,7 +26,7 @@ services: dockerfile: Dockerfile args: # Update dd.conf.sample when bumping this version in main - - IMG=${NEXTCLOUD_IMG_OVERRIDE-nextcloud:25.0.4-fpm-alpine} + - IMG=${NEXTCLOUD_IMG_OVERRIDE-nextcloud:25.0.5-fpm-alpine} container_name: dd-apps-nextcloud-app image: registry.dd-work.space/dd/apps-nextcloud:${DD_BUILD:-latest} restart: unless-stopped @@ -79,6 +79,7 @@ services: # Operator preferences - EXTRA_PLUGINS_ENABLE=${NEXTCLOUD_PLUGINS_ENABLE:-} - EXTRA_PLUGINS_DISABLE=${NEXTCLOUD_PLUGINS_DISABLE:-} + - FORCED_LANGUAGE=${FORCED_LANGUAGE:-ca} networks: - dd_net diff --git a/dd-ctl b/dd-ctl index 48ead19..b707268 100755 --- a/dd-ctl +++ b/dd-ctl @@ -622,6 +622,16 @@ upgrade_plugins_moodle(){ #mkdir -p /tmp/moodle/local/tresipuntimportgc #cp -R local_plugins/moodle/tresipuntimportgc/* /tmp/moodle/local/tresipuntimportgc/ + curl --location https://github.com/danmarsden/moodle-mod_attendance/archive/refs/heads/MOODLE_311_STABLE.zip > mod_attendance.zip + unzip -q mod_attendance.zip -d /tmp/moodle/mod/ + mv /tmp/moodle/mod/moodle-mod_attendance-MOODLE_311_STABLE /tmp/moodle/mod/attendance + rm mod_attendance.zip + + curl --location https://github.com/projectestac/moodle-mod_geogebra/archive/refs/heads/MOODLE_39_STABLE.zip > mod_geogebra.zip + unzip -q mod_geogebra.zip -d /tmp/moodle/mod/ + mv /tmp/moodle/mod/moodle-mod_geogebra-MOODLE_39_STABLE /tmp/moodle/mod/geogebra + rm mod_geogebra.zip + cp -R /tmp/moodle/* "$SRC_FOLDER/moodle/" rm -rf /tmp/moodle docker exec -i dd-apps-moodle php7 admin/cli/purge_caches.php diff --git a/dd.conf.sample b/dd.conf.sample index 25e8056..135ddf4 100644 --- a/dd.conf.sample +++ b/dd.conf.sample @@ -122,7 +122,14 @@ NEXTCLOUD_POSTGRES_PASSWORD=N3xtcl0ud ### These should be available from https://apps.nextcloud.com/ ### Example: NEXTCLOUD_PLUGINS_ENABLE=cospend,cookbook #NEXTCLOUD_PLUGINS_ENABLE= +<<<<<<< HEAD #NEXTCLOUD_PLUGINS_DISABLE +======= +#NEXTCLOUD_PLUGINS_DISABLE= +# +### This language will be forced (currently only Nextcloud) +#FORCED_LANGUAGE=ca +>>>>>>> b61286cf97c4d84ffae9afc062549a70fb0ae62a ## WORDPRESS ##============================================================================= @@ -169,7 +176,11 @@ MOODLE_MEMORY_LIMIT=128M ## NEXTCLOUD # If enabled overrides nextcloud.yaml default image. # You usually do not want to change this, but instead rely on DD's version. +<<<<<<< HEAD #NEXTCLOUD_IMG_OVERRIDE=nextcloud:25.0.4-fpm-alpine +======= +#NEXTCLOUD_IMG_OVERRIDE=nextcloud:25.0.5-fpm-alpine +>>>>>>> b61286cf97c4d84ffae9afc062549a70fb0ae62a ## ONLYOFFICE ONLYOFFICE_IMG=alehoho/oo-ce-docker-license:6.3.1.32 diff --git a/stress-tests/dd-stress-test.tpl.jmx b/stress-tests/dd-stress-test.tpl.jmx index 060d0d8..b05b8b8 100644 --- a/stress-tests/dd-stress-test.tpl.jmx +++ b/stress-tests/dd-stress-test.tpl.jmx @@ -139,7 +139,7 @@ - stopthread + startnextloop false -1 @@ -192,8 +192,8 @@ Send response from login to SP for processing - - false + + true saveConfig @@ -230,7 +230,7 @@ - false + true saveConfig diff --git a/stress-tests/dd-tests-selenium.py b/stress-tests/dd-tests-selenium.py index 2dc94af..2c57501 100644 --- a/stress-tests/dd-tests-selenium.py +++ b/stress-tests/dd-tests-selenium.py @@ -20,6 +20,9 @@ from selenium.webdriver.chrome.options import Options as ChromeOptions from typing import Any, Dict, Iterable, List +STEP_TIMEOUT_SECONDS = 40 + + class DDSession: driver: webdriver.Chrome @@ -28,7 +31,7 @@ class DDSession: instance: str, users_file: str, out_dir: pathlib.Path, - stepTimeoutSeconds: int = 20, + stepTimeoutSeconds: int = STEP_TIMEOUT_SECONDS, ): self.instance = instance self.users_file = [ @@ -177,6 +180,7 @@ class DDSession: lambda d: ( d.find_elements(By.ID, "kc-form-login") + d.find_elements(By.ID, "menu-apps-icon") + + d.find_elements(By.ID, "menu-apps-btn") ) ) @@ -213,7 +217,7 @@ class DDSession: self.screenshot("OnlyOffice", "Opening") # Wait for OnlyOffice to start loading - oofCSS = "div.app-onlyoffice #app iframe" + oofCSS = ".app-onlyoffice #app iframe" WebDriverWait(self.driver, timeout=self.stepTimeoutSeconds).until( lambda d: d.find_elements(By.CSS_SELECTOR, oofCSS) ) @@ -292,13 +296,13 @@ def main_test( users_file: io.TextIOWrapper, out_dir: pathlib.Path, duration: int, - stepTimeoutSeconds: int = 20, + stepTimeoutSeconds: int = STEP_TIMEOUT_SECONDS, ) -> DDSession: session = DDSession( instance=instance, users_file=users_file.read(), out_dir=out_dir, - stepTimeoutSeconds=20, + stepTimeoutSeconds=stepTimeoutSeconds, ) first_run = True