From 0b1f1b83eb6e3636c75b018e6eb8fa98fac1e129 Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Mon, 10 Aug 2026 19:21:56 +0200 Subject: [PATCH] remove news updater sidecar support --- .github/newsupdater-system-cron-updates.png | Bin 7404 -> 0 bytes README.md | 37 ----------------- examples/compose/compose.yml | 25 ------------ examples/traefik/compose.yml | 25 ------------ rootfs/etc/cont-init.d/03-config.sh | 13 ++++++ rootfs/etc/cont-init.d/04-svc-main.sh | 3 +- rootfs/etc/cont-init.d/07-svc-news-updater.sh | 38 ------------------ rootfs/usr/local/bin/healthcheck | 4 +- test/mysql/compose.yml | 25 ------------ test/pgsql/compose.yml | 25 ------------ test/sqlite/compose.yml | 21 ---------- v32.Dockerfile | 4 -- v33.Dockerfile | 4 -- v34.Dockerfile | 4 -- 14 files changed, 15 insertions(+), 213 deletions(-) delete mode 100644 .github/newsupdater-system-cron-updates.png delete mode 100644 rootfs/etc/cont-init.d/07-svc-news-updater.sh diff --git a/.github/newsupdater-system-cron-updates.png b/.github/newsupdater-system-cron-updates.png deleted file mode 100644 index 4ea7c9509d829afcfdab5265f338514380d1b77a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7404 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 diff --git a/README.md b/README.md index a21b679..d5880cc 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,6 @@ ___ * [Nextcloud](#nextcloud) * [Cron](#cron) * [Previews generator](#previews-generator) - * [News Updater](#news-updater) * [Volumes](#volumes) * [Ports](#ports) * [Usage](#usage) @@ -39,7 +38,6 @@ ___ * [OCC command](#occ-command) * [Cron sidecar](#cron-sidecar) * [Previews generator sidecar](#previews-generator-sidecar) - * [Nextcloud News Updater](#nextcloud-news-updater) * [Email server](#email-server) * [Custom configuration](#custom-configuration) * [Redis cache](#redis-cache) @@ -56,7 +54,6 @@ ___ * [Automatic installation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/automatic_configuration.html) * Cron task for [Nextcloud background jobs](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/background_jobs_configuration.html#cron) as a [sidecar cron container](#cron-sidecar) * Execute pre-generation of previews through [Preview Generator](https://github.com/rullzer/previewgenerator) plugin -* Handle [Nextcloud News Updater](https://github.com/nextcloud/news-updater) for [News plugin](https://apps.nextcloud.com/apps/news) through a [sidecar news updater container](#nextcloud-news-updater) * OPCache enabled to store precompiled script bytecode in shared memory * APCu installed and configured * Memcached and Redis also enabled to enhance server performance @@ -153,17 +150,6 @@ linux/s390x * `SIDECAR_PREVIEWGEN`: Set to `1` to enable sidecar previews generator mode (default `0`) * `PREVIEWGEN_PERIOD`: Periodically execute pre-generation of previews (eg. `0 * * * *`) -### News Updater - -> [!WARNING] -> Only used if you enable and run a [sidecar news updater container](#nextcloud-news-updater) - -* `SIDECAR_NEWSUPDATER`: Set to `1` to enable sidecar news updater mode (default `0`) -* `NC_NEWSUPDATER_THREADS`: How many feeds should be fetched in parallel (default `10`) -* `NC_NEWSUPDATER_TIMEOUT`: Maximum number of seconds for updating a feed (default `300`) -* `NC_NEWSUPDATER_INTERVAL`: Update interval between fetching the next round of updates in seconds (default `900`) -* `NC_NEWSUPDATER_LOGLEVEL`: Log granularity, `info` will log all urls and received data, `error` will only log errors (default `error`) - ## Volumes * `/data`: Contains config, data folders, installed user apps (not core ones), session, themes, tmp folders @@ -264,29 +250,6 @@ docker run -d --name nextcloud_previewgen \ crazymax/nextcloud:latest ``` -### Nextcloud News Updater - -If you want to enable the [Nextcloud News Updater](https://github.com/nextcloud/news-updater), -you have to run a "sidecar" container (see news_updater service in -[compose.yml](examples/compose/compose.yml) example) or run a simple container -like this: - -```bash -docker run -d --name nextcloud_news_updater \ - --env-file $(pwd)/nextcloud.env \ - -e "SIDECAR_NEWSUPDATER=1" \ - -e "NC_NEWSUPDATER_THREADS=10" \ - -e "NC_NEWSUPDATER_TIMEOUT=300" \ - -e "NC_NEWSUPDATER_INTERVAL=900" \ - -e "NC_NEWSUPDATER_LOGLEVEL=error" \ - -v "$(pwd)/data:/data" \ - crazymax/nextcloud:latest -``` - -And do not forget to disable **Use system cron for updates** in news settings: - -![Background jobs](.github/newsupdater-system-cron-updates.png) - ### Email server You can use our SMTP relay `msmtpd` service published on port `2500` and diff --git a/examples/compose/compose.yml b/examples/compose/compose.yml index d47a7cb..0adef17 100644 --- a/examples/compose/compose.yml +++ b/examples/compose/compose.yml @@ -99,31 +99,6 @@ services: - "PREVIEWGEN_PERIOD=0 * * * *" restart: always - news_updater: - image: crazymax/nextcloud:latest - container_name: nextcloud_news_updater - depends_on: - - nextcloud - volumes: - - "nextcloud:/data" - env_file: - - "./nextcloud.env" - environment: - - "TZ" - - "PUID" - - "PGID" - - "DB_TYPE=mysql" - - "DB_HOST=db" - - "DB_NAME=${MYSQL_DATABASE}" - - "DB_USER=${MYSQL_USER}" - - "DB_PASSWORD=${MYSQL_PASSWORD}" - - "SIDECAR_NEWSUPDATER=1" - - "NC_NEWSUPDATER_THREADS=10" - - "NC_NEWSUPDATER_TIMEOUT=300" - - "NC_NEWSUPDATER_INTERVAL=900" - - "NC_NEWSUPDATER_LOGLEVEL=error" - restart: always - volumes: db: nextcloud: diff --git a/examples/traefik/compose.yml b/examples/traefik/compose.yml index 3d566de..da31f31 100644 --- a/examples/traefik/compose.yml +++ b/examples/traefik/compose.yml @@ -142,31 +142,6 @@ services: - "PREVIEWGEN_PERIOD=0 * * * *" restart: always - news_updater: - image: crazymax/nextcloud:latest - container_name: nextcloud_news_updater - depends_on: - - nextcloud - volumes: - - "nextcloud:/data" - env_file: - - "./nextcloud.env" - environment: - - "TZ" - - "PUID" - - "PGID" - - "DB_TYPE=mysql" - - "DB_HOST=db" - - "DB_NAME=${MYSQL_DATABASE}" - - "DB_USER=${MYSQL_USER}" - - "DB_PASSWORD=${MYSQL_PASSWORD}" - - "SIDECAR_NEWSUPDATER=1" - - "NC_NEWSUPDATER_THREADS=10" - - "NC_NEWSUPDATER_TIMEOUT=300" - - "NC_NEWSUPDATER_INTERVAL=900" - - "NC_NEWSUPDATER_LOGLEVEL=error" - restart: always - volumes: db: nextcloud: diff --git a/rootfs/etc/cont-init.d/03-config.sh b/rootfs/etc/cont-init.d/03-config.sh index bc8c1a3..7371f53 100644 --- a/rootfs/etc/cont-init.d/03-config.sh +++ b/rootfs/etc/cont-init.d/03-config.sh @@ -74,6 +74,19 @@ DB_TIMEOUT=${DB_TIMEOUT:-60} SIDECAR_CRON=${SIDECAR_CRON:-0} SIDECAR_NEWSUPDATER=${SIDECAR_NEWSUPDATER:-0} +if [ "$SIDECAR_NEWSUPDATER" = "1" ]; then + echo >&2 "ERROR: Nextcloud News Updater sidecar support has been removed." + echo >&2 "Use the regular Nextcloud cron sidecar for News app feed updates." + exit 1 +fi + +SUBDIR=${SUBDIR:-} +if [ -n "$SUBDIR" ]; then + echo >&2 "ERROR: SUBDIR environment variable support has been removed." + echo >&2 "Configure path-prefix routing in your reverse proxy and set overwritewebroot in a custom config file." + exit 1 +fi + # Timezone echo "Setting timezone to ${TZ}..." ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime diff --git a/rootfs/etc/cont-init.d/04-svc-main.sh b/rootfs/etc/cont-init.d/04-svc-main.sh index be89e69..7f2b0c1 100644 --- a/rootfs/etc/cont-init.d/04-svc-main.sh +++ b/rootfs/etc/cont-init.d/04-svc-main.sh @@ -3,9 +3,8 @@ SIDECAR_CRON=${SIDECAR_CRON:-0} SIDECAR_PREVIEWGEN=${SIDECAR_PREVIEWGEN:-0} -SIDECAR_NEWSUPDATER=${SIDECAR_NEWSUPDATER:-0} -if [ "$SIDECAR_CRON" = "1" ] || [ "$SIDECAR_PREVIEWGEN" = "1" ] || [ "$SIDECAR_NEWSUPDATER" = "1" ]; then +if [ "$SIDECAR_CRON" = "1" ] || [ "$SIDECAR_PREVIEWGEN" = "1" ]; then exit 0 fi diff --git a/rootfs/etc/cont-init.d/07-svc-news-updater.sh b/rootfs/etc/cont-init.d/07-svc-news-updater.sh deleted file mode 100644 index a03afe4..0000000 --- a/rootfs/etc/cont-init.d/07-svc-news-updater.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/with-contenv sh -# shellcheck shell=sh - -SIDECAR_NEWSUPDATER=${SIDECAR_NEWSUPDATER:-0} -NC_NEWSUPDATER_THREADS=${NC_NEWSUPDATER_THREADS:-10} -NC_NEWSUPDATER_TIMEOUT=${NC_NEWSUPDATER_TIMEOUT:-300} -NC_NEWSUPDATER_INTERVAL=${NC_NEWSUPDATER_INTERVAL:-900} -NC_NEWSUPDATER_LOGLEVEL=${NC_NEWSUPDATER_LOGLEVEL:-error} - -# Continue only if sidecar news updater container -if [ "$SIDECAR_NEWSUPDATER" != "1" ]; then - exit 0 -fi - -echo ">>" -echo ">> Sidecar news updater container detected for Nextcloud" -echo ">>" - -# Nextcloud News Updater config file (https://github.com/nextcloud/news-updater#usage) -cat > /etc/news_updater.ini < /etc/services.d/news-updater/run <