Nextcloud AIO mastercontainer resets image name and channel to defaults when deployed from a private registry (Nexus) with a versioned tag.

Nextcloud AIO mastercontainer resets image name and channel to defaults when deployed from a private registry (Nexus) with a versioned tag.

Environment

  • Nextcloud AIO version: 20260409_094910
  • Installation method: Docker Compose
  • Private registry: Nexus (hosted repository)
  • OS: Linux

Steps to reproduce

  1. Pull the AIO mastercontainer image from ghcr.io/nextcloud-releases/all-in-one
  2. Push it to a private Nexus registry under a versioned tag (e.g. nexus.example.com/nextcloud-releases/all-in-one:20260409_094910)
  3. Run the mastercontainer using that image via Docker Compose

Expected behavior
The mastercontainer should start normally and retain the configured image name and channel.

Actual behavior
The following warnings appear in the container logs, and the image name and channel are reset to defaults:

NOTICE: PHP message: No tag was found when getting the current channel. You probably did not follow the documentation correctly. Changing the channel to the default 'latest'.
NOTICE: PHP message: Unexpected image name was found when getting the current image name of the mastercontainer. You probably did not follow the documentation correctly. Changing the image name to the default 'ghcr.io/nextcloud-releases/all-in-one'.

Root cause (suspected)
The mastercontainer inspects its own image name and tag via the Docker socket at runtime. It appears to hardcode ghcr.io/nextcloud-releases/all-in-one as the expected image name and only accepts latest or beta as valid tags. Any deviation — such as using a private registry hostname or a versioned tag — triggers the reset.

Workaround
Re-tag the image as :latest before pushing to Nexus and use the latest tag in the Compose file. This resolves the warnings but does not allow proper version pinning from a private registry.

Feature request / Question
Is there an officially supported way to run AIO from a private registry with a versioned tag? For example, an environment variable like MASTER_CONTAINER_IMAGE to explicitly set the expected image reference would solve this for air-gapped or enterprise environments where pulling directly from ghcr.io is not possible.

Per the code path in question this surprises me. I’d expect the only requirement to be that name+tag are always present when retrieved from the Docker API.

Another option might be a Manual Installation.

Officially air gapped environments aren’t supported by AIO per the FAQ: https://github.com/nextcloud/all-in-one#can-i-run-aio-offline-or-in-an-airgapped-system.

Might be worth dropping an enhancement note over on the AIO GitHub.

Thank you very much for your answer, it looks like the option is to use only the public repository.