nextcloud / nextcloud/updater

Updater ignores additional config.php files

Open
#384 9 comments 15 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug
Dominant language
PHP
Stars
51
Forks
40
Avg merge
2d 19h
Merged PRs (30d)
3

Description

As it is described in https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#multiple-config-php-file, it is possible to use multiple config.php files.

Unfortunately, however, the updater.phar file seems to ignore the other config files, which causes the updater to not work properly on some otherwise smoothly running Nextcloud instances.

One problem I and many other Nextcloud users have as a result is the following:
There are hosting plans where the basic file path is different when a user accesses Nextcloud via web browser than when, for example, OCC and updater.phar are accessed via SSH. Then a dynamic adjustment of the datadirectory is necessary. This can not be done in the config.php, because this could be overwritten by Nextcloud at any time again to a fixed path when updates are applied or the admin changes other values in the settings and hence the main config file gets rebuilt. Therefore, many fix this by creating a separate config file, like this one at https://github.com/froonix/webhosting-mods/blob/master/httpdocs/nextcloud/nextcloud/config/data.config.php to overwrite the value of the config. This works fine except for the updater.

Users of such and other usecases probably wonder why occ works fine, but the updater.phar has problems and may not get the idea that multiple config files are supported for Nextcloud, but not for the updater. If you have read the documentation you don't expect such a behavior and I could imagine that this is responsible for some bug reports.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how updater.phar loads configuration and compare that path with OCC, using the documented multiple config.php behavior as the expected reference. Reproduce an instance with an additional config file that overrides datadirectory, then verify that the updater recognizes the same configuration and completes its update correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
release, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.