Hi,
I moved my NC27 into docker; now, I want to upgrade to 28, which fails because the log says, it can’t remove “own_apps”.
I tried to use 3 App directories:
/apps –> for standard-apps
/custom_apps –> for additional apps
/own_apps –> for apps I coded myself (not in the store, just the git-repo of my app)
My config-snippet:
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
2 =>
array (
'path' => '/var/www/html/own_apps',
'url' => '/own_apps',
'writable' => false,
),
),
My docker-config:
volumes:
- /srv/docker/data/nextcloud:/var/www/html
- /srv/docker/data/nextcloud-files:/var/www/data
- /srv/docker/data/nextcloud-apps:/var/www/html/custom_apps
- /srv/docker/data/nextcloud-own-apps:/var/www/html/own_apps
- /srv/docker/log/nextcloud:/var/www/log
- /srv/docker/config/nextcloud/config.php:/var/www/html/config/config.php
Is there’s anything wrong about the config or is this not the intended way to do it? Or should own_apps not reside inside the html-dir, because the updater won’t know about this dir?
It sounds like a permission issue. Do you run the container under a specific user? The best I can think of, is to log into the container and look at the folder permission of own_apps
. Just run the command ls -LAN /var/www/html
in the container and compare the owner of apps
with own_apps
.
Furthermore, it could be possible, that the owner also differs on the docker host, so compare that too.
Everything is www-data:www-data… But of course: own_apps is an overlay which can’t be removed inside the container; but the upgrade-script seems to try to remove it, rsync fails with an error and the upgrade stucks.
Of course, I can finish the upgrade removing the overlay manually and restore it afterwards, but that’s not the intended way of doing upgrades.
I cannot see any hint, why you get an error. I guess that this is a bug. See here for reference:
https://docs.nextcloud.com/server/latest/admin_manual/apps_management.html#using-custom-app-directories
Just a moment… You write, that you use Docker and that you want to update from 27 to 28. How do you do this? I expect with docker compose pull
or do you try to use the updater in the GUI?
Docker-Compose-Way: replace the version in the image tag and docker-compose stop cloud && docker-compose up -d cloud.
I figured out, if I put the third apps-dir outside of /var/www/html it seems to work (at least for 28 → 29), so I replaced to:
2 =>
array (
'path' => '/var/www/own_apps',
'url' => '/own_apps',
'writable' => false,
),
in the config and
- /srv/docker/data/nextcloud-apps:/var/www/html/custom_apps
- /srv/docker/data/nextcloud-own-apps:/var/www/own_apps
at docker-compose and the update works as expected – but to make the apps work, I have to create the symlink…