Nextcloud AIO Failing to Boot after Distro Upgrade - Outdated GuzzleHttp API?

Support intro

Sorry to hear you’re facing problems. :slightly_frowning_face:

The community help forum (help.nextcloud.com) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are volunteering their time to help you.

If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via portal.nextcloud.com where Nextcloud engineers can help ensure your business keeps running smoothly.

Getting help

In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.

Before clicking submit: Please check if your query is already addressed via the following resources:

(Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 2.35.1
  • Operating system and version (e.g., Ubuntu 24.04):
    • Kubuntu 25.04
  • Web server and version (e.g, Apache 2.4.25):
    • 2.4.65
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • nginx
  • PHP version (e.g, 8.3):
    • 8.3.26
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • After distribution upgrade
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • AIO
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

After Distribution upgrade from 24.04 to 25.04, the entirety of the AIO stack seems to fail to boot due to the master container using an improper and outdated version of GuzzleHttp.

  • The nextcloud-aio-nextcloud container is stuck looping on “Waiting for OnlyOffice to become available” (despite OnlyOffice’s container being active.)

  • nextcloud-aio-apache is stuck looping on “Waiting for Nextcloud to start”

  • The nextcloud-aio-mastercontainer fails multiple times on a GuzzleHttp exception stating the client version 1.41 is too old and that the minimum supported Api version is 1.44.

  • Logging in to (or attempting to do so) at FQDN:8080 yields a Slim Application Error on Login and yields the API version mismatch error.

Steps to replicate it (hint: details matter!):

  1. Have latest NextCloud in a docker container on ubuntu 24.04.

  2. Do a distro upgrade to 25.04.

  3. Observe after reboot.

Log entries

Nextcloud

 Tips: To display error details in HTTP response set "displayErrorDetails" to true in the ErrorHandler constructor.
 

 NOTICE: PHP message: Slim Application Error
 

 Type: GuzzleHttp\Exception\ClientException
 

 Code: 400
 

 Message: Client error: `GET http://127.0.0.1/v1.41/containers/nextcloud-aio-apache/json` resulted in a `400 Bad Request` response:
 

 {"message":"client version 1.41 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer (truncated...)
 

 File: /var/www/docker-aio/php/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
 

 Line: 111
 

 Trace: #0 /var/www/docker-aio/php/vendor/guzzlehttp/guzzle/src/Middleware.php(72): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response), NULL, Array, NULL)
 

 #1 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/Promise.php(209): GuzzleHttp\Middleware::{closure:{closure:{closure:GuzzleHttp\Middleware::httpErrors():60}:61}:67}(Object(GuzzleHttp\Psr7\Response))
 

 #2 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL)
 

 #3 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::{closure:GuzzleHttp\Promise\Promise::settle():156}()
 

 #4 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Promise\TaskQueue->run(true)
 

 #5 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
 

 #6 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
 

 #7 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
 

 #8 /var/www/docker-aio/php/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
 

 #9 /var/www/docker-aio/php/vendor/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\Promise\Promise->wait()
 

 #10 /var/www/docker-aio/php/vendor/guzzlehttp/guzzle/src/ClientTrait.php(44): GuzzleHttp\Client->request('GET', 'http://127.0.0....', Array)
 

 #11 /var/www/docker-aio/php/src/Docker/DockerActionManager.php(42): GuzzleHttp\Client->get('http://127.0.0....')
 

 #12 /var/www/docker-aio/php/src/Docker/DockerActionManager.php(103): AIO\Docker\DockerActionManager->GetContainerRunningState(Object(AIO\Container\Container))
 

 #13 /var/www/docker-aio/php/src/Docker/DockerActionManager.php(952): AIO\Docker\DockerActionManager->GetContainerStartingState(Object(AIO\Container\Container))
 

 #14 /var/www/docker-aio/php/public/index.php(148): AIO\Docker\DockerActionManager->isLoginAllowed()
 

 #15 /var/www/docker-aio/php/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(39): Closure->{closure:/var/www/docker-aio/php/public/index.php:143}(Object(GuzzleHttp\Psr7\ServerRequest), Object(GuzzleHttp\Psr7\Response), Array)
 

 #16 /var/www/docker-aio/php/vendor/slim/slim/Slim/Routing/Route.php(362): Slim\Handlers\Strategies\RequestResponse->__invoke(Object(Closure), Object(GuzzleHttp\Psr7\ServerRequest), Object(GuzzleHttp\Psr7\Response), Array)
 

 #17 /var/www/docker-aio/php/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Slim\Routing\Route->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #18 /var/www/docker-aio/php/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Slim\MiddlewareDispatcher->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #19 /var/www/docker-aio/php/vendor/slim/slim/Slim/Routing/Route.php(321): Slim\MiddlewareDispatcher->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #20 /var/www/docker-aio/php/vendor/slim/slim/Slim/Routing/RouteRunner.php(74): Slim\Routing\Route->run(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #21 /var/www/docker-aio/php/vendor/slim/csrf/src/Guard.php(482): Slim\Routing\RouteRunner->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #22 /var/www/docker-aio/php/vendor/slim/slim/Slim/MiddlewareDispatcher.php(178): Slim\Csrf\Guard->process(Object(GuzzleHttp\Psr7\ServerRequest), Object(Slim\Routing\RouteRunner))
 

 #23 /var/www/docker-aio/php/vendor/slim/twig-view/src/TwigMiddleware.php(117): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #24 /var/www/docker-aio/php/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Views\TwigMiddleware->process(Object(GuzzleHttp\Psr7\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
 

 #25 /var/www/docker-aio/php/src/Middleware/AuthMiddleware.php(36): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #26 /var/www/docker-aio/php/vendor/slim/slim/Slim/MiddlewareDispatcher.php(283): AIO\Middleware\AuthMiddleware->__invoke(Object(GuzzleHttp\Psr7\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
 

 #27 /var/www/docker-aio/php/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(77): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #28 /var/www/docker-aio/php/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Middleware\ErrorMiddleware->process(Object(GuzzleHttp\Psr7\ServerRequest), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
 

 #29 /var/www/docker-aio/php/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #30 /var/www/docker-aio/php/vendor/slim/slim/Slim/App.php(209): Slim\MiddlewareDispatcher->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #31 /var/www/docker-aio/php/vendor/slim/slim/Slim/App.php(193): Slim\App->handle(Object(GuzzleHttp\Psr7\ServerRequest))
 

 #32 /var/www/docker-aio/php/public/index.php(198): Slim\App->run()
 

Web server / Reverse Proxy

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

<Public IP> -  [12/Nov/2025:20:52:16 -0500] "GET /index.php/204 HTTP/1.1" 502 150 "-" "Mozilla/5.0 (Linux) mirall/4.0.1 (build 34593) (Nextcloud, ubuntu-6.17.0-6-generic ClientArchitecture: x86_64 OsArchitecture: x86_64)"
<Public IP> - - [12/Nov/2025:20:52:28 -0500] "GET / HTTP/2.0" 502 150 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:145.0) Gecko/20100101 Firefox/145.0"

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

Is this supposed to be my config.json??

it seems to be related to this problem - AIO NC does no longer start: Slim Application Error

1 Like

This is now fixed with v12.0.0 Beta. Testing and feedback is welcome! See https://github.com/nextcloud/all-in-one#how-to-switch-the-channel

3 Likes

Much appreciated, and thank you and the team for the work you do for Nextcloud. I’ll keep a close eye out for the next release.

1 Like