Nextcloud lost internet connectivity after update (TrueNAS SCALE, DNS issue ?)

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Nextcloud version : 30.0.1.2
Operating system and version : TrueNas Scale (Debian 12)
Apache or nginx version : nginx/1.25.4
PHP version : v8.2.25

occ status :

root@nextcloud-76cdb9fd8-rlxrt:/var/www/html# occ status
  - installed: true
  - version: 30.0.1.2
  - versionstring: 30.0.1
  - edition: 
  - maintenance: false
  - needsDbUpgrade: false
  - productname: Nextcloud
  - extendedSupport: false

The issue you are facing:

During my troubleshooting, I discovered that my Nextcloud instance has lost its internet connectivity. This is puzzling because it worked fine on version 28 (when I initially set it up), but after updating to version 30, it no longer connects. There have been several TrueNAS and Nextcloud updates in between, so I’m not sure exactly when the connectivity issue started. I believe it was still working in June.

DNS Troubleshooting

I’ve deduced that this is likely a DNS problem. Within the Nextcloud container, I can access localhost but cannot resolve external domain names like google.fr or nextcloud.com:

root@nextcloud-574678fb74-75stf:/var/www/html# curl -I localhost
HTTP/1.1 302 Moved Temporarily
...

root@nextcloud-574678fb74-75stf:/var/www/html# curl -I google.fr
curl: (6) Could not resolve host: google.fr
root@nextcloud-574678fb74-75stf:/var/www/html# curl -I nextcloud.com
curl: (6) Could not resolve host: nextcloud.com

Here’s the content of my /etc/hosts file within the Nextcloud container:

# Kubernetes-managed hosts file.
127.0.0.1        localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
172.16.3.39      nextcloud-574678fb74-75stf 

And my /etc/resolv.conf:

search ix-nextcloud.svc.cluster.local svc.cluster.local cluster.local *.REMOVED.duckdns.org REMOVED.duckdns.org
nameserver 172.17.0.10
options ndots:5

I’ve tried modifying the nameserver in resolv.conf (e.g., to 8.8.8.8), but this causes the container to restart in a loop.

If anyone has any insights into why my Nextcloud server has lost internet connectivity, or how to fix this DNS issue, I would greatly appreciate your help.

Thanks in advance!

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

Steps to replicate it: I noticed the issue after updating Nextcloud from version 28 to 30 and applying several TrueNAS updates. I can access Nextcloud locally, but features that require internet access (like the app store) are not working. I haven’t made any recent changes to my network configuration. I’m using a bridge network configuration in TrueNAS, but other applications running on the server don’t seem to have any connectivity issues.

The output of your Nextcloud log in Admin > Logging:

Security & setup warnings
It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.

There are some warnings regarding your setup.
This server has no working internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the internet to enjoy all features.

686 errors in the logs since 18 octobre 2024, 12:17:39

Please double check the installation guides ↗, and check for any errors or warnings in the log.

Check the security of your Nextcloud over our security scan ↗.

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'htaccess.RewriteBase' => '/',
  'overwritehost' => '**Sensitive information manually removed**.duckdns.org:443',
  'overwriteprotocol' => 'https',
  'overwrite.cli.url' => 'https://192.168.1.200:10000',
  'default_phone_region' => 'FR',
  'overwritewebroot' => '',
  'trusted_proxies' => 
  array (
    0 => '172.17.0.0/16',
    1 => '172.16.0.0/16',
    2 => '127.0.0.1',
  ),
  'versions_retention_obligation' => 'auto',
  'has_internet_connection' => true,
  'updatechecker' => true,
  'upgrade.disable-web' => false,
  'passwordsalt' => '**Sensitive information manually removed**',
  'secret' => '**Sensitive information manually removed**',
  'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => '**Sensitive information manually removed**.duckdns.org',
    2 => '127.0.0.1',
    3 => '192.168.1.200',
    4 => 'nextcloud-init-sync.lock',
    5 => 'nextcloud',
  ),
  'check_for_working_wellknown_setup' => true,
  'check_for_working_htaccess' => true,
  'datadirectory' => '/var/www/html/data',
  'dbtype' => 'pgsql',
  'version' => '30.0.1.2',
  'dbname' => 'nextcloud',
  'dbhost' => 'nextcloud-postgres:5432',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_admin',
  'dbpassword' => '**Sensitive information manually removed**',
  'installed' => true,
  'instanceid' => '**Sensitive information manually removed**',
  'default_language' => 'fr',
  'default_locale' => 'fr_FR',
  'default_timezone' => 'Europe/Paris',
  'mail_smtpmode' => 'smtp',
  'mail_smtpsecure' => 'ssl',
  'mail_sendmailmode' => 'smtp',
  'mail_smtphost' => '**Sensitive information manually removed**',
  'mail_smtpport' => '465',
  'mail_from_address' => '**Sensitive information manually removed**',
  'mail_domain' => '**Sensitive information manually removed**',
  'mail_smtpauth' => 1,
  'mail_smtpname' => '**Sensitive information manually removed**',
  'mail_smtppassword' => '**Sensitive information manually removed**',
  'defaultapp' => '',
  'maintenance' => false,
  'maintenance_window_start' => 1,
  'loglevel' => 1,
  'forwarded_for_headers' => 
  array (
    0 => 'HTTP_X_FORWARDED',
    1 => 'HTTP_FORWARDED_FOR',
  ),
  'connectivity_check_domains' => 
  array (
    0 => 'www.nextcloud.com',
    1 => 'www.startpage.com',
    2 => 'www.eff.org',
    3 => 'www.edri.org',
  ),
  'appstoreenabled' => true,
  'mysql.utf8mb4' => true,
  'data-fingerprint' => '**Sensitive information manually removed**',
  'updater.release.channel' => 'stable',
  'app_install_overwrite' => 
  array (
    0 => 'ncdownloader',
    1 => 'spreed',
  ),
  'memcache.local' => '\\OC\\Memcache\\APCu',
  '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,
    ),
  ),
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => '**Sensitive information manually removed**',
    'password' => '**Sensitive information manually removed**',
    'port' => 6379,
  ),
  'forbidden_filename_basenames' => 
  array (
    0 => 'con',
    1 => 'prn',
    2 => 'aux',
    3 => 'nul',
    4 => 'com0',
    5 => 'com1',
    6 => 'com2',
    7 => 'com3',
    8 => 'com4',
    9 => 'com5',
    10 => 'com6',
    11 => 'com7',
    12 => 'com8',
    13 => 'com9',
    14 => 'com¹',
    15 => 'com²',
    16 => 'com³',
    17 => 'lpt0',
    18 => 'lpt1',
    19 => 'lpt2',
    20 => 'lpt3',
    21 => 'lpt4',
    22 => 'lpt5',
    23 => 'lpt6',
    24 => 'lpt7',
    25 => 'lpt8',
    26 => 'lpt9',
    27 => 'lpt¹',
    28 => 'lpt²',
    29 => 'lpt³',
  ),
  'forbidden_filename_characters' => 
  array (
    0 => '<',
    1 => '>',
    2 => ':',
    3 => '"',
    4 => '|',
    5 => '?',
    6 => '*',
    7 => '\\',
    8 => '/',
  ),
  'forbidden_filename_extensions' => 
  array (
    0 => ' ',
    1 => '.',
    2 => '.filepart',
    3 => '.part',
  ),
);

The output of your Apache/nginx/system log in /var/log/____:

/var/log/nginx : the ‘error.log’ file is empty

Sensitive information manually removed

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

[internet_connection_check] Error: Cannot connect to: www.nextcloud.com
	GET /settings/ajax/checksetup
	from 172.16.6.113 by admin at 25 oct. 2024, 12:18:01

[appstoreFetcher] Warning: Response from appstore is invalid, apps could not be retrieved. Try again later.
	GET /ocs/v2.php/apps/updatenotification/api/v1/applist/29.0.7.1
	from 172.16.6.113 by admin at 25 oct. 2024, 12:11:00

[no app in context] Error: Failed to connect to the app store
	GET /settings/apps
	from 172.16.6.110 by admin at 25 oct. 2024, 11:43:14

[PHP] Error: session_start(): Failed to read session data: redis (path: tcp://nextcloud-redis:6379?auth=pCzfJ2oEF1bHbZOy7ruThLVc8yOJN0jB) at /var/www/html/lib/private/Session/Internal.php#198
	GET /status.php
	from 172.16.5.208 by -- at 24 oct. 2024, 23:13:03
[PHP] Error: session_start(): Redis connection not available at /var/www/html/lib/private/Session/Internal.php#198
	GET /status.php
	from 172.16.5.208 by -- at 24 oct. 2024, 23:13:03

{"reqId":"Yhqo1Il6RHMTEeGTH7b4","level":4,"time":"2024-10-24T21:13:02+00:00","remoteAddr":"172.16.5.208","user":"--","app":"app_api","method":"GET","url":"/status.php","message":"Error during app service registration: Connection refused","userAgent":"kube-probe/1.26","version":"30.0.1.2","exception":{"Exception":"RedisException","Message":"Connection refused","Code":0,"Trace":[{"file":"/var/www/html/lib/private/RedisFactory.php","line":104,"function":"pconnect","class":"Redis","type":"->","args":["nextcloud-redis",6379,0,null,0,0]},{"file":"/var/www/html/lib/private/RedisFactory.php","line":148,"function":"create","class":"OC\\RedisFactory","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Memcache/Redis.php","line":53,"function":"getInstance","class":"OC\\RedisFactory","type":"->","args":[]},{"file":"/var/www/html/lib/private/Memcache/Redis.php","line":59,"function":"getCache","class":"OC\\Memcache\\Redis","type":"->","args":[]},{"file":"/var/www/html/apps/app_api/lib/Service/ProvidersAI/SpeechToTextService.php","line":87,"function":"get","class":"OC\\Memcache\\Redis","type":"->","args":["/ex_speech_to_text_providers"]},{"file":"/var/www/html/apps/app_api/lib/Service/ProvidersAI/SpeechToTextService.php","line":132,"function":"getRegisteredSpeechToTextProviders","class":"OCA\\AppAPI\\Service\\ProvidersAI\\SpeechToTextService","type":"->","args":[]},{"file":"/var/www/html/apps/app_api/lib/AppInfo/Application.php","line":85,"function":"registerExAppSpeechToTextProviders","class":"OCA\\AppAPI\\Service\\ProvidersAI\\SpeechToTextService","type":"->","args":[["OCP\\AppFramework\\Bootstrap\\IRegistrationContext@anonymous\u0000/var/www/html/lib/private/AppFramework/Bootstrap/RegistrationContext.php:161$63"],["OC\\Server"]]},{"file":"/var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php","line":99,"function":"register","class":"OCA\\AppAPI\\AppInfo\\Application","type":"->","args":[["OCP\\AppFramework\\Bootstrap\\IRegistrationContext@anonymous\u0000/var/www/html/lib/private/AppFramework/Bootstrap/RegistrationContext.php:161$63"]]},{"file":"/var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php","line":48,"function":"registerApps","class":"OC\\AppFramework\\Bootstrap\\Coordinator","type":"->","args":[["files","activity","announcementcenter","app_api","approval","And 51 more entries, set log level to debug to see all entries"]]},{"file":"/var/www/html/lib/base.php","line":657,"function":"runInitialRegistration","class":"OC\\AppFramework\\Bootstrap\\Coordinator","type":"->","args":[]},{"file":"/var/www/html/lib/base.php","line":1132,"function":"init","class":"OC","type":"::","args":[]},{"file":"/var/www/html/status.php","line":13,"args":["/var/www/html/lib/base.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/RedisFactory.php","Line":104,"message":"Error during app service registration: Connection refused","exception":[],"CustomMessage":"Error during app service registration: Connection refused"},"id":"671b938f177de"}

[app_api] Error: Could not connect to Docker daemon
	POST /apps/app_api/daemons/verify_connection
	from 172.16.5.124 by admin at 23 oct. 2024, 18:57:37

[spreed] Fatal: Error during app service registration: There can only be one Talk backend
	from ? by -- at 23 oct. 2024, 17:53:23

[core] Error: Error while running background job OCA\DAV\BackgroundJob\EventReminderJob (id: 20, arguments: null)
	from ? by -- at 23 oct. 2024, 17:30:01

[core] Error: Error while running background job OCA\DAV\BackgroundJob\EventReminderJob (id: 20, arguments: null)
	from ? by -- at 22 oct. 2024, 23:00:01

[richdocuments] Error: Failed to fetch capabilities: cURL error 7: Failed to connect to 192.168.1.200 port 9980 after 0 ms: Couldn't connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://192.168.1.200:9980/hosting/capabilities
	from ? by -- at 22 oct. 2024, 20:04:33