Nextcloud 29 (Hub 8) AIO issues after installation

Dear Community,

A few days ago I installed Nextcloud on a new server. Since then, many errors have been occurring regularly. Since I don’t have the time or the knowledge to fix all the errors, I’m hoping for your help :slight_smile:

Background

TL;DR

  • Moved from old Nextcloud
  • Only moved data directory and calendar
  • No errors during the installation

I already had a Nextcloud running on another server. But it was already a bit older - some errors accumulated. At some point I decided to install a new Nextcloud instance on a fresh server and move the old data over. No sooner said than done - Nextcloud AIO installed on Ubuntu 24.06. without errors with an external data directory (/mnt/ncdata/). Created users and transferred the data for the individual users (7 in total) using rsync. I also exported the calendar tenders on the old Nextcloud and imported them to the new instance - no errors. Due to the small number of users (my family), this was possible and uncomplicated.

The problem

Many errors have been occurring regularly since the installation. The result of “php occ setupchecks”:

dav: ✓ DAV system address book: No outstanding DAV system address book sync.

network:             ℹ WebDAV endpoint: Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually.

To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its trusted_domains or the overwrite.cli.url.

            ⚠ Data directory protected: Could not check that the data directory is protected. Please check manually that your server does not allow access to the data directory.

To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its trusted_domains or the overwrite.cli.url.

            ✓ Internet connectivity             ⚠ JavaScript source map support: Your webserver is not set up to serve `.js.map` files. Without these files, JavaScript Source Maps won't function properly, making it more challenging to troubleshoot and debug any issues that may arise.              ⚠ JavaScript modules support: Could not check for JavaScript support via any of your `trusted_domains` nor `overwrite.cli.url`. This may be the result of a server-side DNS mismatch or outbound firewall rule. Please check manually if your webserver serves `.mjs` files using the JavaScript MIME type.

To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its trusted_domains or the overwrite.cli.url.

            ⚠ OCS provider resolving: Could not check if your web server properly resolves the OCM and OCS provider URLs.

To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its trusted_domains or the overwrite.cli.url.

            ℹ .well-known URLs: Could not check that your web server serves `.well-known` correctly. Please check manually.

To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its trusted_domains or the overwrite.cli.url.

            ℹ WOFF2 file loading: Could not check for WOFF2 loading support. Please check manually if your webserver serves `.woff2` files.

To allow this check to run you have to make sure that your webserver can connect to itself. Therefor it must be able to resolve and connect to at least one its trusted_domains or the overwrite.cli.url.
system:

            ⚠ Errors in the log: 178 errors in the logs since July 23, 2024, 7:56:53 PM 
             ℹ Brute-force Throttle: Your remote address could not be determined.
         ✓ Cron errors: The last cron job ran without errors.            

✓ Cron last run: Last background job execution ran 1 minute ago.

✓ Debug mode: Debug mode is disabled.

✓ File locking

 ✓ Maintenance window start: Maintenance window to execute heavy background jobs is between 100:00 UTC and 10:00 UTC      

   ✓ Memcache: Configured             ✓ Mimetype migrations available: None             ✓ Architecture: 64-bit             ✓ Temporary space available: Temporary directory is correctly configured:
  • 80.4 GiB available in /tmp (PHP temporary directory)
    ✓ Push service: Free push service
    notifications:
    ✓ Push notifications - Fair use policy
    security:
    ✓ App directories owner: App directories have the correct owner “www-data”
    ✓ Old administration imported certificates
    ✓ Code integrity: No altered files

              ℹ Forwarded for headers: Your remote address could not be determined.    
    
        ✓ HTTPS access and URLs: You are accessing your instance over a secure connection, and your instance is generating secure URLs.           ✓ Old server-side-encryption: Disabled           ✓ PHP version: You are currently running PHP 8.2.21.           ✓ Random generator: Secure           ℹ HTTP headers: Could not check that your web server serves security headers correctly. Please check manually.   database:           ✓ Database missing columns: None           ✓ Database missing indices: None           ✓ Database missing primary keys: None           ✓ Database pending bigint migrations: None           ✓ MySQL Unicode support: You are not using MySQL           ✓ Scheduling objects table size: Scheduling objects table size is within acceptable range.           ✓ Database version: 16.3           ✓ Database transaction isolation level: Read committed   config:           ✓ Default phone region: DE           ✓ Email test: Email test was successfully sent            ✓ Overwrite CLI URL: The "overwrite.cli.url" option in your config.php is set to "https://my.domain.com/" which is a correct URL. Suggested URL is "https://localhost".            ✓ Configuration file access rights: Nextcloud configuration file is writable   php:           ✓ PHP default charset: UTF-8           ✓ PHP set_time_limit: The function is available.           ✓ Freetype: Supported           ✓ PHP getenv           ✓ PHP memory limit: 512 MB           ✓ PHP modules    
    
            ✗ PHP opcache: The PHP OPcache module is not properly configured. OPcache is not working as it should, opcache_get_status() returns false, please check configuration.
    

The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply “opcache.max_accelerated_files” to your PHP configuration with a value higher than “10000”.
The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply “opcache.memory_consumption” to your PHP configuration with a value higher than “256”…

        ✓ PHP "output_buffering" option: Disabled             ✓ PHP Imagick module

Other errors also occur in the logs:

ConnectException cURL error 7: Failed to connect to my.domain.com port 443 after 0 ms: Couldn't connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://my.domain.com/custom_apps/richdocumentscode/proxy.php?req=/hosting/discovery
Failed to fetch discovery: cURL error 7: Failed to connect to my.domain.com port 443 after 0 ms: Couldn't connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://my.domain.com/custom_apps/richdocumentscode/proxy.php?req=/hosting/discovery
PHP: stream_socket_client(): Unable to connect to ssl://my.domain.com:443 (Connection refused) at /var/www/html/custom_apps/spreed/lib/Service/CertificateService.php#107

In my opinion, there might be problems with the communication between the individual Docker containers, among other things. I also initially thought that the firewall might be the problem. However, the problems mentioned also occur, even though I have deactivated it.

The system

  • Ubuntu 24.04
  • PHP 8.2
  • Nextcloud 29.04 (Hub 8) - AIO installation with Docker → Installation according to official instructions at “https://github.com/nextcloud/all-in-one”
  • Database: PostgreSQL 16.3
  • curl 8.8.0

I have my own domain that points to the Nextcloud. The NC is also set to this domain. In the errors above, the actual domain is displayed and not “my.domain.com”. I have only blacked out my domain.

I really hope that you can help me.
Best regards

Hi, most likely does your router not support NAT loopback. You can work around this by following GitHub - nextcloud/all-in-one: 📦 The official Nextcloud installation method. Provides easy deployment and maintenance with most features included in this one Nextcloud instance.

I actually rented the server. It has its own public IPv4 and is located in a data center. :sweat_smile:

I see. Then probably a firewall blocks access to the domain…

Okay… - What can I do now? As already written, I have already deactivated the firewall (UFW). Before I had these ports open: 22/tcp, 80/tcp, 443/tcp, 8443/tcp, 3478/tcp+udp
Have I forgotten a port?

Does your hoster maybe offer a firewall that can be configured externally? Also do you use cloudflare?

Nope, neither nor

As already mentioned, the error could lie in the communication between the individual Docker containers. For example, I can reach my Collabora server (https://my.domain.com/hosting/discovery) from the outside. Within the Docker container, curl then shows me the error. Have I perhaps configured Docker incorrectly somehow?