diff --git a/Dockerfile b/Dockerfile index c58259a66b4d792b751031c491066436ff48f4c7..418dbe92512f6a884366193eafc0941256dd2c63 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,19 @@ -FROM nextcloud:24.0.8-fpm AS nextcloud +FROM nextcloud:24.0.10-fpm AS nextcloud ARG BASE_DIR="/usr/src/nextcloud" ARG TMP_PATCH_DIR="/tmp/build_patches" -ARG THEME_HELPER_JOB_ID="471836" +ARG THEME_HELPER_JOB_ID="515506" ARG NOTES_VERSION="4.5.1" -ARG CONTACTS_JOB_ID="471108" -ARG CALENDAR_JOB_ID="471116" -ARG EMAIL_RECOVERY_JOB_ID="445958" -ARG RAINLOOP_VERSION="7.2.5" -ARG RAINLOOP_COMMIT_SHA="28a5d603" -ARG EA_JOB_ID="471828" -ARG ECLOUD_LAUNCHER_JOB_ID="458901" -ARG GOOGLE_INTEGRATION_VERSION="1.0.8" -ARG ECLOUD_DASHBOARD_JOB_ID="485170" - -RUN sed -i 's/24,0,8,2/24,0,8,7/' ${BASE_DIR}/version.php +ARG CONTACTS_JOB_ID="525457" +ARG CALENDAR_JOB_ID="525449" +ARG EMAIL_RECOVERY_JOB_ID="525467" +ARG EA_JOB_ID="503352" +ARG ECLOUD_LAUNCHER_JOB_ID="522867" +ARG GOOGLE_INTEGRATION_VERSION="1.0.9" +ARG ECLOUD_DASHBOARD_JOB_ID="525503" +ARG SNAPPY_VERSION="2.26.3" + + +RUN sed -i 's/24,0,10,1/24,0,10,5/' ${BASE_DIR}/version.php COPY custom_entrypoint.sh / RUN chmod +x /custom_entrypoint.sh RUN mkdir -p /var/www/skeleton/Documents && mkdir -p /var/www/skeleton/Images @@ -44,11 +44,6 @@ RUN curl -fsSL -o email-recovery.zip \ mv dist/email-recovery ${BASE_DIR}/custom_apps/ && \ rm email-recovery.zip; -RUN curl -fsSL -o rainloop.tar.gz \ - "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/rainloop-nextcloud/-/archive/${RAINLOOP_VERSION}-${RAINLOOP_COMMIT_SHA}/rainloop-nextcloud-${RAINLOOP_VERSION}-${RAINLOOP_COMMIT_SHA}.tar.gz" && \ - tar -xf rainloop.tar.gz -C ${BASE_DIR}/custom_apps/ && \ - mv "${BASE_DIR}/custom_apps/rainloop-nextcloud-${RAINLOOP_VERSION}-${RAINLOOP_COMMIT_SHA}" "${BASE_DIR}/custom_apps/rainloop" && \ - rm rainloop.tar.gz; RUN curl -fsSL -o ecloud-theme-helper.zip \ "https://gitlab.e.foundation/e/infra/ecloud/nextcloud-apps/ecloud-theme-helper/-/jobs/${THEME_HELPER_JOB_ID}/artifacts/download" && \ @@ -80,6 +75,11 @@ RUN curl -fsSL -o ecloud-dashboard.zip \ mv dist/ecloud-dashboard ${BASE_DIR}/custom_apps/ && \ rm ecloud-dashboard.zip; +RUN curl -fsSL -o snappymail.tar.gz \ + "https://snappymail.eu/repository/nextcloud/snappymail-${SNAPPY_VERSION}-nextcloud.tar.gz" && \ + tar -xf snappymail.tar.gz -C ${BASE_DIR}/custom_apps/ && \ + rm snappymail.tar.gz; + # Remove unzip when unzipping is done RUN apt-get -y remove unzip @@ -112,6 +112,8 @@ RUN patch -u ${BASE_DIR}/core/Command/User/Setting.php -i ${TMP_PATCH_DIR}/018-o RUN patch -u ${BASE_DIR}/apps/settings/lib/Sections/Personal/Groupware.php -i ${TMP_PATCH_DIR}/019-groupware.patch RUN patch -u ${BASE_DIR}/apps/files/js/files.js -i ${TMP_PATCH_DIR}/021-repeated-storage-dialog-fix.patch RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/3rdparty/sabre/vobject/lib/ITip/Broker.php -i ${TMP_PATCH_DIR}/022-significantchange.patch +RUN patch -u ${BASE_DIR}/apps/dav/lib/CalDAV/Reminder/ReminderService.php -i ${TMP_PATCH_DIR}/024-reminder-service-handle-exception.patch + RUN rm -rf ${TMP_PATCH_DIR} # Custom theme @@ -142,7 +144,7 @@ RUN sed -i 's/update/error/g' ${BASE_DIR}/apps/dav/templates/schedule-response-e From selfhost as ecloud ARG BASE_DIR="/usr/src/nextcloud" ARG TMP_PATCH_DIR="/tmp/build_patches" -ARG THEME_VERSION="24.0.1" +ARG THEME_VERSION="24.0.3" ARG LDAP_WRITE_SUPPORT_VERSION="1.6.0" ARG OIDC_LOGIN_VERSION="2.4.0" diff --git a/patches/024-reminder-service-handle-exception.patch b/patches/024-reminder-service-handle-exception.patch new file mode 100644 index 0000000000000000000000000000000000000000..ed5c276de31256020c12e42ad95d7433ca3009ec --- /dev/null +++ b/patches/024-reminder-service-handle-exception.patch @@ -0,0 +1,17 @@ +--- ./apps/dav/lib/CalDAV/Reminder/ReminderService.php 2023-03-06 21:26:20.835422901 +0530 ++++ ./apps/dav/lib/CalDAV/Reminder/ReminderService-new.php 2023-03-06 21:28:49.325422185 +0530 +@@ -143,7 +143,13 @@ + continue; + } + +- $vevent = $this->getVEventByRecurrenceId($vcalendar, $reminder['recurrence_id'], $reminder['is_recurrence_exception']); ++ try { ++ $vevent = $this->getVEventByRecurrenceId($vcalendar, $reminder['recurrence_id'], $reminder['is_recurrence_exception']); ++ } catch (MaxInstancesExceededException $e) { ++ $this->logger->debug('Recurrence with too many instances detected, skipping VEVENT', ['exception' => $e]); ++ $this->backend->removeReminder($reminder['id']); ++ continue; ++ } + if (!$vevent) { + $this->backend->removeReminder($reminder['id']); + continue;