From d03f6dc051dbfd4ff99ce5acbbd7aef92a673a61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Thu, 30 Jul 2026 18:13:33 +0200 Subject: [PATCH 1/3] docs: require explicit docker image versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every documented image reference now carries an explicit version tag and the `latest` tag is no longer offered as an option. `owncloud/server:latest` does not necessarily point to the release line documented on this branch, so a container restart can silently pull a different version. The docker page uses a literal `docker-image-version` page attribute rather than one of the global `-version` attributes: those track the latest release of the product, which is not this branch, so interpolating them here would document an image that does not belong to this release line. Also pin the selenium and inbucket images in the UI testing guide, matching the chrome pins the page already carries for owncloud/core#35444. Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .../pages/installation/docker/index.adoc | 17 ++++++++++++----- .../pages/testing/ui-testing.adoc | 10 +++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/modules/admin_manual/pages/installation/docker/index.adoc b/modules/admin_manual/pages/installation/docker/index.adoc index eab1377c3..e67affc03 100644 --- a/modules/admin_manual/pages/installation/docker/index.adoc +++ b/modules/admin_manual/pages/installation/docker/index.adoc @@ -5,6 +5,10 @@ :linux-server-doc-url: https://docs.linuxserver.io/faq :docker-compose-build-url: https://docs.docker.com/compose/compose-file/build/ :description: ownCloud can be installed using the official ownCloud Docker image. +// the image version documented on this branch. this is intentionally a literal +// and not an attribute, because the global -version attributes track the latest +// release of the product and not this branch. +:docker-image-version: 10.15.3 == Introduction @@ -48,10 +52,10 @@ For testing purposes or a quick hands-on to get familiar with the look and feel, [source,docker,subs="attributes+"] ---- -docker run --rm --name oc-eval -d -p{std-port-http}:{std-port-http} owncloud/server +docker run --rm --name oc-eval -d -p{std-port-http}:{std-port-http} owncloud/server:{docker-image-version} ---- -This starts a docker container with the name "oc-eval" in the background (option `-d`). `owncloud/server` is the docker image downloaded from Docker Hub. If you don't start the container with option `-d`, the logs will be displayed in the shell. If you are running it in the background as in the example above, you can display the logs with the command: +This starts a docker container with the name "oc-eval" in the background (option `-d`). `owncloud/server:{docker-image-version}` is the docker image downloaded from Docker Hub. Always name an explicit version tag, see the note on the `OWNCLOUD_VERSION` setting below. If you don't start the container with option `-d`, the logs will be displayed in the shell. If you are running it in the background as in the example above, you can display the logs with the command: [source,docker] ---- @@ -115,7 +119,7 @@ include::example$installation/docker/docker-compose.yml[] [source,bash,subs="attributes+"] ---- cat << EOF > .env -OWNCLOUD_VERSION={latest-server-version} +OWNCLOUD_VERSION={docker-image-version} OWNCLOUD_DOMAIN=localhost:{std-port-http} OWNCLOUD_TRUSTED_DOMAINS=localhost ADMIN_USERNAME=admin @@ -133,8 +137,9 @@ Only a few settings are required, these are: | Example | `OWNCLOUD_VERSION` -| The ownCloud version -| `latest` +| The ownCloud version. + +Always use an explicit version, never `latest`. +| `{docker-image-version}` | `OWNCLOUD_DOMAIN` | The ownCloud domain @@ -157,6 +162,8 @@ Only a few settings are required, these are: | `{std-port-http}` |=== +NOTE: Pin `OWNCLOUD_VERSION` to a full version like `{docker-image-version}`. Do not use the `latest` tag: it does not necessarily point to the release line documented here, so a container restart can pull a different version than you expect. + NOTE: `ADMIN_USERNAME` and `ADMIN_PASSWORD` will not change between deploys even if you change the values in the .env file. To change them, you'll need to do `docker volume prune`, which *will delete all your data*. diff --git a/modules/developer_manual/pages/testing/ui-testing.adoc b/modules/developer_manual/pages/testing/ui-testing.adoc index 52f4cef17..4d6cd8765 100644 --- a/modules/developer_manual/pages/testing/ui-testing.adoc +++ b/modules/developer_manual/pages/testing/ui-testing.adoc @@ -31,9 +31,9 @@ Pull any or all of these Docker containers: ---- docker pull selenium/standalone-chrome:3.141.59-oxygen docker pull selenium/standalone-chrome-debug:3.141.59-oxygen -docker pull selenium/standalone-firefox -docker pull selenium/standalone-firefox-debug -docker pull inbucket/inbucket +docker pull selenium/standalone-firefox:3.141.59-oxygen +docker pull selenium/standalone-firefox-debug:3.141.59-oxygen +docker pull inbucket/inbucket:3.1.1 ---- * A `vnc` viewer installed (in order to view the browser action as the UI tests run). For example: @@ -62,7 +62,7 @@ taken to do the test. [source,console] ---- -docker run -p 4445:4444 -p 5900:5900 -v /dev/shm:/dev/shm selenium/standalone-chrome-debug +docker run -p 4445:4444 -p 5900:5900 -v /dev/shm:/dev/shm selenium/standalone-chrome-debug:3.141.59-oxygen ---- Ports on the Selenium Docker IP address are mapped to `localhost` so they can be accessed by the tests and the `vnc` viewer. @@ -71,7 +71,7 @@ Ports on the Selenium Docker IP address are mapped to `localhost` so they can be [source] ---- -docker run -p 2500:2500 -p 9000:9000 inbucket/inbucket +docker run -p 2500:2500 -p 9000:9000 inbucket/inbucket:3.1.1 ---- Ports on the InBucket docker IP address are mapped to `localhost` so they can be accessed by the tests. From 1a9e4e58eac51ea9df6ee6293fc6f89ac86f20b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Thu, 30 Jul 2026 18:22:45 +0200 Subject: [PATCH 2/3] docs: fix Useful Pages xrefs into the latest server version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The page deliberately links into the *latest* server version rather than this branch, but it used this branch's page paths. The 11.0 release is docker-only and reorganized accordingly: `installation/index.adoc` (manual installation) is gone, the docker page moved from `installation/docker/index.adoc` to `installation/installing_with_docker.adoc`, and `maintenance/manual_upgrade.adoc` moved under `maintenance/upgrading/`. Three of the five links therefore break as soon as `latest-server-version` advances to 11.0, which fails the aggregated site build. Point them at the paths that exist there and drop the manual installation entry, which has no 11.0 equivalent. Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- modules/admin_manual/pages/useful_pages.adoc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/admin_manual/pages/useful_pages.adoc b/modules/admin_manual/pages/useful_pages.adoc index d651eae5f..ec63f595b 100644 --- a/modules/admin_manual/pages/useful_pages.adoc +++ b/modules/admin_manual/pages/useful_pages.adoc @@ -11,8 +11,10 @@ Note that this section always points to the latest server version available. In case you need a different version, select your topic and manually switch to one of the available ones. -* xref:{latest-server-version}@server:admin_manual:installation/index.adoc[Manual Installation] -* xref:{latest-server-version}@server:admin_manual:installation/docker/index.adoc[Installation with Docker] +// note that these targets must use the page paths of the *latest* server +// version, not this branch's: the latest version is a docker-only release and +// has reorganized its installation and upgrading pages accordingly. +* xref:{latest-server-version}@server:admin_manual:installation/installing_with_docker.adoc[Installation with Docker] * xref:{latest-server-version}@server:admin_manual:configuration/server/occ_command.adoc[OCC Commands] * xref:{latest-server-version}@server:admin_manual:configuration/server/caching_configuration.adoc#small-organization-single-server-setup[File Locking and Caching Configuration] -* xref:{latest-server-version}@server:admin_manual:maintenance/manual_upgrade.adoc[Manual Upgrade] +* xref:{latest-server-version}@server:admin_manual:maintenance/upgrading/manual_upgrade.adoc[Manual Upgrade] From 1b342ba96da1521aed1cf9649f3008b71bbc525c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Fri, 31 Jul 2026 10:30:32 +0200 Subject: [PATCH 3/3] revert(docs): unpin the third-party docker images again MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The explicit-version requirement is about `owncloud/server` only: its `latest` tag does not track the release line documented here and there are no rolling major or minor tags, so following it installs a version the docs do not describe. That reasoning does not carry over to the selenium and inbucket images used by the UI test setup. Pinning them fixes no documented-version mismatch and only adds pins that nothing in this repo keeps current, so restore them to their previous untagged form. The two `standalone-chrome*` pins stay, they predate this and exist because of owncloud/core#35444. Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- modules/developer_manual/pages/testing/ui-testing.adoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/developer_manual/pages/testing/ui-testing.adoc b/modules/developer_manual/pages/testing/ui-testing.adoc index 4d6cd8765..52f4cef17 100644 --- a/modules/developer_manual/pages/testing/ui-testing.adoc +++ b/modules/developer_manual/pages/testing/ui-testing.adoc @@ -31,9 +31,9 @@ Pull any or all of these Docker containers: ---- docker pull selenium/standalone-chrome:3.141.59-oxygen docker pull selenium/standalone-chrome-debug:3.141.59-oxygen -docker pull selenium/standalone-firefox:3.141.59-oxygen -docker pull selenium/standalone-firefox-debug:3.141.59-oxygen -docker pull inbucket/inbucket:3.1.1 +docker pull selenium/standalone-firefox +docker pull selenium/standalone-firefox-debug +docker pull inbucket/inbucket ---- * A `vnc` viewer installed (in order to view the browser action as the UI tests run). For example: @@ -62,7 +62,7 @@ taken to do the test. [source,console] ---- -docker run -p 4445:4444 -p 5900:5900 -v /dev/shm:/dev/shm selenium/standalone-chrome-debug:3.141.59-oxygen +docker run -p 4445:4444 -p 5900:5900 -v /dev/shm:/dev/shm selenium/standalone-chrome-debug ---- Ports on the Selenium Docker IP address are mapped to `localhost` so they can be accessed by the tests and the `vnc` viewer. @@ -71,7 +71,7 @@ Ports on the Selenium Docker IP address are mapped to `localhost` so they can be [source] ---- -docker run -p 2500:2500 -p 9000:9000 inbucket/inbucket:3.1.1 +docker run -p 2500:2500 -p 9000:9000 inbucket/inbucket ---- Ports on the InBucket docker IP address are mapped to `localhost` so they can be accessed by the tests.