NextCloud Hub 6 (27.1.5) Docker AIO has "no working internet connection"

Nextcloud version: nextcloud/all-in-one docker
Operating system and version of Docker VM: Rocky Linux 8.9
Apache or nginx version: None: Container provides Apache
PHP version: Does not apply: None: Container provides php 8.1

Issue

I start Nextcloud Hub 6 via the above docker container on a Rocky Linux 8.9 VM with the firewall disabled (for testing purposes) with the following script:

#!/bin/bash

declare -a DockerOptions=(
   --init
   --sig-proxy=false
   --name nextcloud-aio-mastercontainer
   --restart always
   --publish 80:80
   --publish 8080:8080
   --publish 8443:8443
   --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config
   --volume /var/run/docker.sock:/var/run/docker.sock:ro
   --env NEXTCLOUD_DATADIR=/root/nc/data
   --env NEXTCLOUD_UPLOAD_LIMIT=10G
   --env NEXTCLOUD_MAX_TIME=3600
   --env NEXTCLOUD_MEMORY_LIMIT=2048M
   --env AUTOMATIC_UPDATES=1
)

docker run "${DockerOptions[@]}" nextcloud/all-in-one:latest >/var/log/nextcloud.log 2>&1 &

I am able to bring up all containers by opening the Nextcloud AIO Interface. All containers are green after startup. I am able to create users, folders, and files.

When I go to Administration settings, I see the message:

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.

When I run docker exec -it nextcloud-aio-mastercontainer bash and try to ping any valid domain name or IP address (such as 1.1.1.1 or 8.8.8.8), I get no ping. I see in the /etc/resolv.conf file the entry nameserver 127.0.0.11.

This is not a reverse proxy installation. The DNS server is on a separate VM and points to the VM that the docker containers are running in. Apache is not installed on the VM that the docker containers are running in.

The last line of output of the Nextcloud log in Admin > Logging:

{"reqId":"zFw8yw2X25cnQ8cDihF0","level":3,"time":"2024-01-16T00:16:17+00:00","remoteAddr":"172.18.0.1","user":"admin","app":"internet_connection_check","method":"GET","url":"/settings/ajax/checksetup","message":"Cannot connect to: www.edri.org","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0","version":"27.1.5.1","exception":{"Exception":"GuzzleHttp\\Exception\\ConnectException","Message":"cURL error 6: Could not resolve host: www.edri.org (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://www.edri.org/","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":158,"function":"createRejection","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","line":110,"function":"finishError","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php","line":47,"function":"finish","class":"GuzzleHttp\\Handler\\CurlFactory","type":"::","args":[["GuzzleHttp\\Handler\\CurlHandler"],"*** sensitive parameters replaced ***",["GuzzleHttp\\Handler\\CurlFactory"]]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":137,"function":"__invoke","class":"GuzzleHttp\\Handler\\CurlHandler","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/DnsPinMiddleware.php","line":114,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"OC\\Http\\Client\\{closure}","class":"OC\\Http\\Client\\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":63,"function":"__invoke","class":"GuzzleHttp\\RedirectMiddleware","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":331,"function":"__invoke","class":"GuzzleHttp\\HandlerStack","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":168,"function":"transfer","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Client.php","line":187,"function":"requestAsync","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/Http/Client/Client.php","line":230,"function":"request","class":"GuzzleHttp\\Client","type":"->","args":["*** sensitive parameters replaced ***","http://www.edri.org/",["/mnt/ncdata/files_external/rootcerts.crt",30,[true],["Nextcloud Server Crawler","gzip"],true]]},{"file":"/var/www/html/apps/settings/lib/Controller/CheckSetupController.php","line":224,"function":"get","class":"OC\\Http\\Client\\Client","type":"->","args":["http://www.edri.org/"]},{"file":"/var/www/html/apps/settings/lib/Controller/CheckSetupController.php","line":206,"function":"isSiteReachable","class":"OCA\\Settings\\Controller\\CheckSetupController","type":"->","args":["www.edri.org"]},{"file":"/var/www/html/apps/settings/lib/Controller/CheckSetupController.php","line":921,"function":"hasInternetConnectivityProblems","class":"OCA\\Settings\\Controller\\CheckSetupController","type":"->","args":[]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":230,"function":"check","class":"OCA\\Settings\\Controller\\CheckSetupController","type":"->","args":[]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":137,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OCA\\Settings\\Controller\\CheckSetupController"],"check"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":183,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OCA\\Settings\\Controller\\CheckSetupController"],"check"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Settings\\Controller\\CheckSetupController","check",["OC\\AppFramework\\DependencyInjection\\DIContainer"],["settings.CheckSetup.check"]]},{"file":"/var/www/html/lib/base.php","line":1068,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/settings/ajax/checksetup"]},{"file":"/var/www/html/index.php","line":38,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php","Line":210,"message":"Cannot connect to: www.edri.org","exception":{},"CustomMessage":"Cannot connect to: www.edri.org"}}

The output of your config.php file in /path/to/nextcloud: not applicable (internal to container)

The docker VM /var/log/nextcloud.log file has the contents:

... docker pull output omitted ...
Status: Downloaded newer image for nextcloud/all-in-one:latest
Trying to fix docker.sock permissions internally...
Creating docker group internally with id 973
Initial startup of Nextcloud All-in-One complete!
You should be able to open the Nextcloud AIO Interface now on port 8080 of this server!
E.g. https://internal.ip.of.this.server:8080

If your server has port 80 and 8443 open and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:
https://your-domain-that-points-to-this-server.tld:8443
{"level":"info","ts":1705360045.7911375,"msg":"using provided configuration","config_file":"/Caddyfile","config_adapter":""}
[15-Jan-2024 23:07:25] NOTICE: fpm is running, pid 132
[15-Jan-2024 23:07:25] NOTICE: ready to handle connections
[Mon Jan 15 23:07:25.832429 2024] [mpm_event:notice] [pid 123:tid 140582592068424] AH00489: Apache/2.4.58 (Unix) OpenSSL/3.1.4 configured -- resuming normal operations
[Mon Jan 15 23:07:25.832522 2024] [core:notice] [pid 123:tid 140582592068424] AH00094: Command line: 'httpd -D FOREGROUND'
NOTICE: PHP message: Could not get digest of container nextcloud/aio-apache:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-apache:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-collabora:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-collabora:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-talk:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-talk:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-nextcloud:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-nextcloud:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-postgresql:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-postgresql:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-redis:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-redis:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-clamav:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-clamav:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-fulltextsearch:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-fulltextsearch:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-talk-recording:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-talk-recording:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-imaginary:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-imaginary:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-notify-push:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-notify-push:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-apache:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-apache:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-collabora:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-collabora:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-talk:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-talk:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-nextcloud:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-nextcloud:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-postgresql:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-postgresql:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-redis:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-redis:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-clamav:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-clamav:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-fulltextsearch:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-fulltextsearch:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-talk-recording:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-talk-recording:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-imaginary:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-imaginary:pull
NOTICE: PHP message: Could not get digest of container nextcloud/aio-notify-push:latest cURL error 6: Could not resolve host: auth.docker.io (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://auth.docker.io/token?service=registry.docker.io&scope=repository:nextcloud/aio-notify-push:pull

Hi @ssi,

is the nameserver 127.0.0.11 . nog 127.0.0.1 .?
Can you resolve with nslookup linux.com 127.0.0.11 or 127.0.0.1 .?
May you also traceroute a local and a external IP?

best regards
sambilanet