Theming config not activated after migration

Support intro
Migrating Nextcloud from one server to an other using RSYNC breaks Theming : Login Background image gone.

Nextcloud version (eg, 20.0.5): 20.0.6
Operating system and version (eg, Ubuntu 20.04): Ubuntu 20.04.3 LTS
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.41
PHP version (eg, 7.4): PHP 7.4.3

The issue I’am facing:

The background image on the login page is not shown after full migration of Nextcloud from one server to the other.

Is this the first time you’ve seen this error? (Y/N): No

Steps to replicate it:

  1. Prepair a working server to install Nextcloud on
  2. Create an empty Nextcloud database with the same name, user and permissions as on the running Nextcloud server
  3. Put running Nextcloud in maintenance mode and stop webserver
  4. Make a database dump ( mysqldump --single-transaction ) of the Nextcloud database (i.e. backup)
  5. Copy (rsync -Aax) all files in /var/www/nextcloud base dir to new server
  6. Copy (rsync -Aax) all files in /var/data/nextcloud data dir to new server except ( --exclude=’.log’ --exclude ‘updater*’ )
  7. Copy dabase dump ( backup ) to new server and load (restore) that database
  8. Start / enable vHost on the new server for Nextcloud
  9. Open the login page on the new server (visit URL)

Output of my Nextcloud log in Admin > Logging does not give any clue.

The output of my config.php file in /path/to/nextcloud is exactly the same and includes both https-server address of old and of the new https-server address (url). SSL Certificates are working for both sites.

The output of my Apache/nginx/system log in /var/log/____ does not give any clue.

There is a difference in the source HTML if I view this with a Browser Inspection function:

OLD: The original (old) login page https://nextcloud-old.example.com/index.php/login?clear=1 shows

		<link rel="icon" href="/index.php/apps/theming/favicon?v=45">
		<link rel="apple-touch-icon" href="/index.php/apps/theming/icon?v=45">
		<link rel="mask-icon" sizes="any" href="/core/img/favicon-mask.svg" color="#AFA099">
		<link rel="manifest" href="/index.php/apps/theming/manifest?v=45">

NEW: The migrated (new) login page https://nextcloud-new.example.com/index.php/login?clear=1 shows something like

<link rel="manifest" href ... core/themes ... 

or something. Probably the “default”.

My problem is solved as soon as I change the value of the Background color in Custom Theme config. Without touching the background image setting, without uploading a new background image, it came back on the login page exactly like it was on the “old” server.

I suspect this is a cached file or setting that has not been “moved” to the new server. But I have no clue which one. I seems to be totally unexpected behaviour that I’ve notices on multiple migrations I’ve done sofar. Fully reproducible for me (it only takes a lot of time :rofl:

Interesting finding. In the documentation, I found an option to update theming:
https://docs.nextcloud.com/server/20/admin_manual/configuration_server/occ_command.html#maintenance-commands

If that would work, we should add this information to the migration documentation. Unless we know if the occ command works, we could as well add your workaround or add a bug report and ping a developer who should be able to help us (https://github.com/nextcloud/documenation/issues)