Nextcloud Broken After Update to 0.4.1

Hi y’all:

I’m getting the following screen when trying to use Nextcloud after updating to Umbrel 0.4.1

After some googling, I ran
$ docker-compose down

which gave me:

WARNING: The APP_DATA_DIR variable is not set. Defaulting to a blank string.

WARNING: The APP_NEXTCLOUD_DB_IP variable is not set. Defaulting to a blank string.

WARNING: The APP_NEXTCLOUD_REDIS_IP variable is not set. Defaulting to a blank string.

WARNING: The APP_NEXTCLOUD_PORT variable is not set. Defaulting to a blank string.

WARNING: The APP_DOMAIN variable is not set. Defaulting to a blank string.

WARNING: The APP_HIDDEN_SERVICE variable is not set. Defaulting to a blank string.

WARNING: The APP_NEXTCLOUD_IP variable is not set. Defaulting to a blank string.

WARNING: The APP_NEXTCLOUD_CRON_IP variable is not set. Defaulting to a blank string.

ERROR: The Compose file './../../../docker-compose.yml' is invalid because:

services.web.ports contains an invalid type, it should be a number, or an object

any ideas?

It is also possible I broke things when I tried to rsync my Umbrel as a local backup of the full machine last night. I know that definitely caused an issue with my blocks, so I’m reindexing the blockchain right now.

(Unrelated to my main topic - does anyone have advice on how to locally backup an Umbrel instance, data and all? And my lightning peers and channels will come back online when the Blockchain index is done, I shouldn’t be worried at this point, right?)

Update: More info, from the logs in the Umbrel dashboard:

web_1    | [Fri Aug 20 15:54:51.330852 2021] [php7:notice] [pid 40] [client 192.168.0.103:49822] {"reqId":"CEQMBsPYy31YGjgi8n4F","level":3,"time":"2021-08-20T15:54:51+00:00","remoteAddr":"192.168.0.103","user":"--","app":"PHP","method":"GET","url":"/login?user=umbrel","message":"touch(): Utime failed: Permission denied at /var/www/html/lib/private/Config.php#246","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15","version":"","exception":{"Exception":"Error","Message":"touch(): Utime failed: Permission denied at /var/www/html/lib/private/Config.php#246","Code":0,"Trace":[{"function":"onError","class":"OC\\\\Log\\\\ErrorHandler","type":"::","args":[2,"touch(): Utime failed: Permission denied","/var/www/html/lib/private/Config.php",246,{"content":"<?php\\n$CONFIG = array (\\n  'htaccess.RewriteBase' => '/',\\n  'memcache.local' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\APCu',\\n  'apps_paths' => \\n  array (\\n    0 => \\n    array (\\n      'path' => '/var/www/html/apps',\\n      'url' => '/apps',\\n      'writable' => false,\\n    ),\\n    1 => \\n    array (\\n      'path' => '/var/www/html/custom_apps',\\n      'url' => '/custom_apps',\\n      'writable' => true,\\n    ),\\n  ),\\n  'memcache.distributed' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Redis',\\n  'memcache.locking' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Redis',\\n  'redis' => \\n  array (\\n    'host' => '10.21.21.34',\\n    'password' => '',\\n    'port' => 6379,\\n  ),\\n  'instanceid' => 'ocoipjo8dpv7',\\n);\\n"}]},{"file":"/var/www/html/lib/private/Config.php","line":246,"function":"touch","args":["/var/www/html/config/config.php"]},{"file":"/var/www/html/lib/private/Config.php","line":136,"function":"writeData","class":"OC\\\\Config","type":"->","args":[]},{"file":"/var/www/html/lib/private/SystemConfig.php","line":110,"function":"setValue","class":"OC\\\\Config","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/private/legacy/OC_Util.php","line":1155,"function":"setValue","class":"OC\\\\SystemConfig","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/base.php","line":419,"function":"getInstanceId","class":"OC_Util","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":645,"function":"initSession","class":"OC","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":1083,"function":"init","class":"OC","type":"::","args":[]},{"file":"/var/www/html/index.php","line":34,"args":["/var/www/html/lib/base.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Log/ErrorHandler.php","Line":92,"CustomMessage":"--"}}
web_1    | [Fri Aug 20 15:54:51.331736 2021] [php7:notice] [pid 40] [client 192.168.0.103:49822] {"reqId":"CEQMBsPYy31YGjgi8n4F","level":3,"time":"2021-08-20T15:54:51+00:00","remoteAddr":"192.168.0.103","user":"--","app":"PHP","method":"GET","url":"/login?user=umbrel","message":"fopen(/var/www/html/config/config.php): failed to open stream: Permission denied at /var/www/html/lib/private/Config.php#247","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15","version":"","exception":{"Exception":"Error","Message":"fopen(/var/www/html/config/config.php): failed to open stream: Permission denied at /var/www/html/lib/private/Config.php#247","Code":0,"Trace":[{"function":"onError","class":"OC\\\\Log\\\\ErrorHandler","type":"::","args":[2,"fopen(/var/www/html/config/config.php): failed to open stream: Permission denied","/var/www/html/lib/private/Config.php",247,{"content":"<?php\\n$CONFIG = array (\\n  'htaccess.RewriteBase' => '/',\\n  'memcache.local' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\APCu',\\n  'apps_paths' => \\n  array (\\n    0 => \\n    array (\\n      'path' => '/var/www/html/apps',\\n      'url' => '/apps',\\n      'writable' => false,\\n    ),\\n    1 => \\n    array (\\n      'path' => '/var/www/html/custom_apps',\\n      'url' => '/custom_apps',\\n      'writable' => true,\\n    ),\\n  ),\\n  'memcache.distributed' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Redis',\\n  'memcache.locking' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Redis',\\n  'redis' => \\n  array (\\n    'host' => '10.21.21.34',\\n    'password' => '',\\n    'port' => 6379,\\n  ),\\n  'instanceid' => 'ocoipjo8dpv7',\\n);\\n"}]},{"file":"/var/www/html/lib/private/Config.php","line":247,"function":"fopen","args":["/var/www/html/config/config.php","r+"]},{"file":"/var/www/html/lib/private/Config.php","line":136,"function":"writeData","class":"OC\\\\Config","type":"->","args":[]},{"file":"/var/www/html/lib/private/SystemConfig.php","line":110,"function":"setValue","class":"OC\\\\Config","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/private/legacy/OC_Util.php","line":1155,"function":"setValue","class":"OC\\\\SystemConfig","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/base.php","line":419,"function":"getInstanceId","class":"OC_Util","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":645,"function":"initSession","class":"OC","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":1083,"function":"init","class":"OC","type":"::","args":[]},{"file":"/var/www/html/index.php","line":34,"args":["/var/www/html/lib/base.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Log/ErrorHandler.php","Line":92,"CustomMessage":"--"}}
web_1    | [Fri Aug 20 15:54:51.332556 2021] [php7:notice] [pid 40] [client 192.168.0.103:49822] {"reqId":"CEQMBsPYy31YGjgi8n4F","level":3,"time":"2021-08-20T15:54:51+00:00","remoteAddr":"192.168.0.103","user":"--","app":"PHP","method":"GET","url":"/login?user=umbrel","message":"chmod(): Operation not permitted at /var/www/html/lib/private/Config.php#250","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15","version":"","exception":{"Exception":"Error","Message":"chmod(): Operation not permitted at /var/www/html/lib/private/Config.php#250","Code":0,"Trace":[{"function":"onError","class":"OC\\\\Log\\\\ErrorHandler","type":"::","args":[2,"chmod(): Operation not permitted","/var/www/html/lib/private/Config.php",250,{"content":"<?php\\n$CONFIG = array (\\n  'htaccess.RewriteBase' => '/',\\n  'memcache.local' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\APCu',\\n  'apps_paths' => \\n  array (\\n    0 => \\n    array (\\n      'path' => '/var/www/html/apps',\\n      'url' => '/apps',\\n      'writable' => false,\\n    ),\\n    1 => \\n    array (\\n      'path' => '/var/www/html/custom_apps',\\n      'url' => '/custom_apps',\\n      'writable' => true,\\n    ),\\n  ),\\n  'memcache.distributed' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Redis',\\n  'memcache.locking' => '\\\\\\\\OC\\\\\\\\Memcache\\\\\\\\Redis',\\n  'redis' => \\n  array (\\n    'host' => '10.21.21.34',\\n    'password' => '',\\n    'port' => 6379,\\n  ),\\n  'instanceid' => 'ocoipjo8dpv7',\\n);\\n","filePointer":false}]},{"file":"/var/www/html/lib/private/Config.php","line":250,"function":"chmod","args":["/var/www/html/config/config.php",416]},{"file":"/var/www/html/lib/private/Config.php","line":136,"function":"writeData","class":"OC\\\\Config","type":"->","args":[]},{"file":"/var/www/html/lib/private/SystemConfig.php","line":110,"function":"setValue","class":"OC\\\\Config","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/private/legacy/OC_Util.php","line":1155,"function":"setValue","class":"OC\\\\SystemConfig","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/base.php","line":419,"function":"getInstanceId","class":"OC_Util","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":645,"function":"initSession","class":"OC","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":1083,"function":"init","class":"OC","type":"::","args":[]},{"file":"/var/www/html/index.php","line":34,"args":["/var/www/html/lib/base.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Log/ErrorHandler.php","Line":92,"CustomMessage":"--"}}
web_1    | [Fri Aug 20 15:54:51.374354 2021] [php7:notice] [pid 40] [client 192.168.0.103:49822] {"reqId":"CEQMBsPYy31YGjgi8n4F","level":3,"time":"2021-08-20T15:54:51+00:00","remoteAddr":"192.168.0.103","user":"--","app":"index","method":"GET","url":"/login?user=umbrel","message":"Can't write into config directory!","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15","version":"","exception":{"Exception":"OC\\\\HintException","Message":"Can't write into config directory!","Code":0,"Trace":[{"file":"/var/www/html/lib/private/Config.php","line":136,"function":"writeData","class":"OC\\\\Config","type":"->","args":[]},{"file":"/var/www/html/lib/private/SystemConfig.php","line":110,"function":"setValue","class":"OC\\\\Config","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/private/legacy/OC_Util.php","line":1155,"function":"setValue","class":"OC\\\\SystemConfig","type":"->","args":["instanceid","ocoipjo8dpv7"]},{"file":"/var/www/html/lib/base.php","line":419,"function":"getInstanceId","class":"OC_Util","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":645,"function":"initSession","class":"OC","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":1083,"function":"init","class":"OC","type":"::","args":[]},{"file":"/var/www/html/index.php","line":34,"args":["/var/www/html/lib/base.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Config.php","Line":254,"Hint":"This can usually be fixed by giving the webserver write access to the config directory.","CustomMessage":"--"}}
web_1    | [Fri Aug 20 15:54:51.375685 2021] [php7:notice] [pid 40] [client 192.168.0.103:49822] {"reqId":"CEQMBsPYy31YGjgi8n4F","level":3,"time":"2021-08-20T15:54:51+00:00","remoteAddr":"192.168.0.103","user":"--","app":"index","method":"GET","url":"/login?user=umbrel","message":"Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [14] unable to open database file","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15","version":"","exception":{"Exception":"Doctrine\\\\DBAL\\\\Exception","Message":"Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [14] unable to open database file","Code":14,"Trace":[{"file":"/var/www/html/3rdparty/doctrine/dbal/src/Connection.php","line":1486,"function":"connect","class":"OC\\\\DB\\\\Connection","type":"->","args":[]},{"file":"/var/www/html/3rdparty/doctrine/dbal/src/Connection.php","line":1014,"function":"getWrappedConnection","class":"Doctrine\\\\DBAL\\\\Connection","type":"->","args":[]},{"file":"/var/www/html/lib/private/DB/Connection.php","line":231,"function":"executeQuery","class":"Doctrine\\\\DBAL\\\\Connection","type":"->","args":["SELECT * FROM \\"oc_appconfig\\"",[],[],null]},{"file":"/var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":210,"function":"executeQuery","class":"OC\\\\DB\\\\Connection","type":"->","args":["SELECT * FROM \\"oc_appconfig\\"",[],[]]},{"file":"/var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php","line":287,"function":"execute","class":"Doctrine\\\\DBAL\\\\Query\\\\QueryBuilder","type":"->","args":[]},{"file":"/var/www/html/lib/private/AppConfig.php","line":344,"function":"execute","class":"OC\\\\DB\\\\QueryBuilder\\\\QueryBuilder","type":"->","args":[]},{"file":"/var/www/html/lib/private/AppConfig.php","line":109,"function":"loadConfigValues","class":"OC\\\\AppConfig","type":"->","args":[]},{"file":"/var/www/html/lib/private/AppConfig.php","line":300,"function":"getApps","class":"OC\\\\AppConfig","type":"->","args":[]},{"file":"/var/www/html/lib/private/App/AppManager.php","line":127,"function":"getValues","class":"OC\\\\AppConfig","type":"->","args":[false,"enabled"]},{"file":"/var/www/html/lib/private/App/AppManager.php","line":216,"function":"getInstalledAppsValues","class":"OC\\\\App\\\\AppManager","type":"->","args":[]},{"file":"/var/www/html/lib/private/legacy/OC_Template.php","line":283,"function":"isEnabledForUser","class":"OC\\\\App\\\\AppManager","type":"->","args":["theming"]},{"file":"/var/www/html/index.php","line":44,"function":"printErrorPage","class":"OC_Template","type":"::","args":["Can't write into config directory!","This can usually be fixed by giving the webserver write access to the config directory.",503]}],"File":"/var/www/html/lib/private/DB/Connection.php","Line":87,"CustomMessage":"--"}}
web_1    | [Fri Aug 20 15:54:51.410612 2021] [php7:notice] [pid 40] [client 192.168.0.103:49822] {"reqId":"CEQMBsPYy31YGjgi8n4F","level":3,"time":"2021-08-20T15:54:51+00:00","remoteAddr":"192.168.0.103","user":"--","app":"PHP","method":"GET","url":"/login?user=umbrel","message":"fopen(/var/www/html/data/nextcloud.log): failed to open stream: Permission denied at /var/www/html/lib/private/Log/File.php#84","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15","version":""}
web_1    | 192.168.0.103 - - [20/Aug/2021:15:54:51 +0000] "GET /login?user=umbrel HTTP/1.1" 500 2669 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15"