NextCloud Internal Server Error, normal fixes aren't fixing it

NethServer Version: NethServer 8 Core version 3.18.2
Module: NextCloud 1.6.0

I’m getting a black screen with white text that has the below error message when I try to access NextCloud:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
  • I’ve tried rebooting
  • I’ve tried finding the logs
  • I’ve tried the fix here: howto:nextcloud [NethServer & NethSecurity] and it says it can’t find php80-php-fpm.service and can’t find rh-mariadb105-mariadb@nextcloud.service
  • I tried this in the Podman pod for everything that’s on the server, and either it can’t find the module, or systmctl isn’t installed, and I can’t install it with apt, yum, pkg, etc
  • The NethServer dashboard confirms that the DB is not running

Nothing seems to have triggered this. I ignored both my NethServers for like three or four months. They got zero use during that time. No updates installed during that time.

Wanted to log in to both to install updates and do some work, and this NextCloud doesn’t work, whereas my other NextCloud works normally.

It’s baffling because over a year ago, I spun up two separate Debians servers, configured them exactly the (same except hostname, IP, MAC), installed NethServer on both. Installed Mail and NextCloud on both. Did this all simultaneously to make sure I did the same steps on both.

But one works and one doesn’t?

:’-(

Log output when I went to the logs and just searched MariaDB

scss
2026-03-22T11:31:16-04:00 [1::podman] 2026-03-22 11:31:16.244875132 -0400 EDT m=+0.053637463 container remove 82a9371ad23a3a1e78d16d49acde9ffc3e30c69fe1b85d0faa00208e704f1c43 (image=ghcr.io/nethserver/roundcubemail:2.1.1, name=charming_robinson, org.nethserver.authorizations=traefik@node:routeadm mail@any:mailadm cluster:accountconsumer, org.nethserver.images=docker.io/
<mark>maria</mark>db:10.11.16 docker.io/roundcube/roundcubemail:1.6.14-apache, org.nethserver.min-core=3.12.4-0, org.nethserver.rootfull=0, org.nethserver.tcp-ports-demand=1, io.buildah.version=1.33.7)
2026-03-22T11:31:26-04:00 \[1:roundcubemail1:<mark>maria</mark>db-app\] 2026-03-22 15:31:26 5 \[Warning\] Aborted connection 5 to db: 'unconnected' user: 'unauthenticated' host: '127.0.0.1' (This connection closed normally without authentication)

I appreciate any help. Even just pointing me in the right direction. It seems like I need to figure out why the DB is not working, and fix that. I thought I would start by going into the correct podman pod and doing systemctl -l status php80-php-fpm rh-mariadb105-mariadb@nextcloud.service but it doesn’t have systemctl installed somehow

Thanks

–Tony

To check the Nextcloud DB service status:

runagent -m nextcloud1 systemctl --user status -l nextcloud-db

You could try to restart the service and check the log for errors:

runagent -m nextcloud1 systemctl --user restart nextcloud-db

Maybe a full disk issue?

df -h / /home

This page is for NS7, the commands don’t work anymore as for example the service names have changed.

Thank you for those tips!

I tried all three, and the status window still says

nextcloud-redis failed inactive enabled

I tried this:

runagent -m nextcloud1 systemctl --user status -l nextcloud-db

and I got this:

   Loaded: loaded (/home/nextcloud1/.config/systemd/user/nextcloud-db.service; enabled; preset: enabled)
     Active: active (running) since Sun 2026-03-22 17:21:47 EDT; 16min ago
    Process: 755184 ExecStartPre=/bin/rm -f /run/user/1008/nextcloud-db.pid /run/user/1008/nextcloud-db.ctr-id (code=exited, status=0/SUCCESS)
    Process: 755186 ExecStartPre=/bin/mkdir -p /home/nextcloud1/.config/state/restore/ (code=exited, status=0/SUCCESS)
    Process: 755187 ExecStart=/usr/bin/podman run --conmon-pidfile /run/user/1008/nextcloud-db.pid --cidfile /run/user/1008/nextcloud-db.ctr-id --cgroups=no-conmon --pod-id-file /run/user/100>
   Main PID: 755203 (conmon)
      Tasks: 1 (limit: 9468)
     Memory: 449.7M
        CPU: 3.094s
     CGroup: /user.slice/user-1008.slice/user@1008.service/app.slice/nextcloud-db.service
             └─755203 /usr/bin/conmon --api-version 1 -c 3b4fd69bf844dad00ea318ad5dfd2eeb5f1f482b8d6f3363274efc43047ec7b5 -u 3b4fd69bf844dad00ea318ad5dfd2eeb5f1f482b8d6f3363274efc43047ec7b5 ->

Mar 22 17:21:47 node01 nextcloud-db[755203]: 2026-03-22 21:21:47 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Note] InnoDB: 10.6.24 started; log sequence number 9952228525; transaction id 41943010
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Note] Plugin 'FEEDBACK' is disabled.
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Note] Server socket created on IP: '0.0.0.0'.
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Note] Server socket created on IP: '::'.
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Note] mariadbd: ready for connections.
Mar 22 17:21:48 node01 nextcloud-db[755203]: Version: '10.6.24-MariaDB-ubu2204'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
Mar 22 17:21:48 node01 nextcloud-db[755203]: 2026-03-22 21:21:48 0 [Note] InnoDB: Buffer pool(s) load completed at 260322 21:21:48

df shows (what I think is) enough space:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       9.4G  7.3G  1.7G  82% /
/dev/sda8        80G   41G   35G  55% /home

I tried this:

runagent -m nextcloud1 systemctl --user restart nextcloud-db

and I got this in the logs:

2026-03-22T17:40:22-04:00 [1:nextcloud1:nextcloud-db] 2026-03-22 21:40:22 0 [Warning] mariadbd: io_uring_queue_init() failed with ENOSYS: check seccomp filters, and the kernel version (newer than 5.1 required)
2026-03-22T17:40:22-04:00 [1:nextcloud1:nextcloud-db] 2026-03-22 21:40:22 0 [Note] mariadbd: ready for connections.
2026-03-22T17:40:22-04:00 [1:nextcloud1:nextcloud-db] Version: '10.6.24-MariaDB-ubu2204'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution

FYI

uname -r

give me this:

6.1.0-43-amd64

I checked it since the log message said it needs to be newer than 5.1

OK so it seems the mariadb is ok but redis isn’t working.

Let’s check which containers are running:

runagent -m nextcloud1 podman ps -a

Let’s try to restart redis…

runagent -m nextcloud1 systemctl --user restart nextcloud-redis

…and check status/logs:

runagent -m nextcloud1 systemctl --user status -l nextcloud-redis

If redis doesn’t start you could try to remove the volume.

Stop nextcloud-redis:

runagent -m nextcloud1 systemctl --user stop nextcloud-redis

Remove volume:

runagent -m nextcloud1 podman volume rm nextcloud-redis-data

Start nextcloud-redis again:

runagent -m nextcloud1 systemctl --user start nextcloud-redis

Thanks for the reply!

Here’s what I did:

CONTAINER ID  IMAGE                                   COMMAND               CREATED       STATUS           PORTS                    NAMES
8962a2151bc3  localhost/podman-pause:4.3.1-0                                5 weeks ago   Up 5 weeks ago   127.0.0.1:20000->80/tcp  0440deb53674-infra
5c5d5d9f51e6  ghcr.io/nethserver/nextcloud-app:1.6.0  /usr/bin/supervis...  5 weeks ago   Up 5 weeks ago   127.0.0.1:20000->80/tcp  nextcloud-app
2adbc342008d  docker.io/library/nginx:1.29.2-alpine   nginx -g daemon o...  5 weeks ago   Up 5 weeks ago   127.0.0.1:20000->80/tcp  nextcloud-nginx
cfdcbfe38e7f  docker.io/library/mariadb:10.6.24       mariadbd              40 hours ago  Up 40 hours ago  127.0.0.1:20000->80/tcp  nextcloud-db

Let’s try to restart redis…

runagent -m nextcloud1 systemctl --user restart nextcloud-redis

…and check status/logs:

runagent -m nextcloud1 systemctl --user status -l nextcloud-redis
t@node01:/var/lib/nethserver/cluster/state# runagent -m nextcloud1 systemctl --user status -l nextcloud-redis
× nextcloud-redis.service - Podman nextcloud-redis.service
     Loaded: loaded (/home/nextcloud1/.config/systemd/user/nextcloud-redis.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Tue 2026-03-24 09:59:25 EDT; 58s ago
   Duration: 1.118s
    Process: 981495 ExecStartPre=/bin/rm -f /run/user/1008/nextcloud-redis.pid /run/user/1008/nextcloud-redis.ctr-id (code=exited, status=0/SUCCESS)
    Process: 981496 ExecStart=/usr/bin/podman run --conmon-pidfile /run/user/1008/nextcloud-redis.pid --cidfile /run/user/1008/nextcloud-redis.ctr-id --cgroups=no-conmon --pod-id-file /run/us>
    Process: 981540 ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile /run/user/1008/nextcloud-redis.ctr-id (code=exited, status=0/SUCCESS)
   Main PID: 981509 (code=exited, status=1/FAILURE)
        CPU: 638ms

Mar 24 09:59:25 node01 systemd[24217]: nextcloud-redis.service: Scheduled restart job, restart counter is at 5.
Mar 24 09:59:25 node01 systemd[24217]: Stopped nextcloud-redis.service - Podman nextcloud-redis.service.
Mar 24 09:59:25 node01 systemd[24217]: nextcloud-redis.service: Start request repeated too quickly.
Mar 24 09:59:25 node01 systemd[24217]: nextcloud-redis.service: Failed with result 'exit-code'.
Mar 24 09:59:25 node01 systemd[24217]: Failed to start nextcloud-redis.service - Podman nextcloud-redis.service.

So it looks like it failed to start, so let me remove the volume…

That worked! HOORAY!

Now I see this:

Update needed
Please use the command line updater because updating via browser is disabled in your config.php.

For help, see the documentation.

So I did this:

 runagent -m nextcloud1 podman exec -ti 5c5d5d9f51e6 /bin/sh

and then

 /var/www/html/occ app:update --all

gives me this:

:’-(

Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
PHP Fatal error: Class OCA\GroupFolders\Versions\VersionsBackend contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (OCA\Files_Versions\Versions\IVersionBackend::getRevision) in /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php on line 40
[nextcloud][PHP][3] {“reqId”:“OwnxNXKbC4w9JhqNZ3FP”,“level”:3,“time”:“2026-03-24T16:11:42+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“PHP”,“method”:“”,“url”:“–”,“message”:“Class OCA\GroupFolders\Versions\VersionsBackend contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (OCA\Files_Versions\Versions\IVersionBackend::getRevision) at /var/www/html/custom_apps/groupfolders/lib/Versions/VersionsBackend.php#40”,“userAgent”:“–”,“version”:“30.0.10.1”,“data”:{“app”:“PHP”}}

And then I realized it didn’t say “update” it said “upgrade”, so I did this:

 /var/www/html/occ upgrade 

and it gave me this:

Setting log level to debug
[nextcloud][core][0] {“reqId”:“uFJaFy469BTwLbw0fOvP”,“level”:0,“time”:“2026-03-24T16:16:06+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“core”,“method”:“”,“url”:“–”,“message”:“starting upgrade from 30.0.10.1 to 32.0.1.2”,“userAgent”:“–”,“version”:“30.0.10.1”,“data”:{“app”:“core”}}
[nextcloud][no app in context][3] {“reqId”:“uFJaFy469BTwLbw0fOvP”,“level”:3,“time”:“2026-03-24T16:16:06+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“no app in context”,“method”:“”,“url”:“–”,“message”:“{“Exception”:“Exception”,“Message”:“Updates between multiple major versions and downgrades are unsupported.”,“Code”:0,“Trace”:[{“file”:“/var/www/html/lib/private/Updater.php”,“line”:100,“function”:“doUpgrade”,“class”:“OC\\Updater”,“type”:" → “,“args”:[“32.0.1.2”,“30.0.10.1”]},{“file”:”/var/www/html/core/Command/Upgrade.php",“line”:193,“function”:“upgrade”,“class”:“OC\\Updater”,“type”:" → “,“args”:},{“file”:”/var/www/html/3rdparty/symfony/console/Command/Command.php",“line”:326,“function”:“execute”,“class”:“OC\\Core\\Command\\Upgrade”,“type”:" → “,“args”:[{“class”:“Symfony\\Component\\Console\\Input\\ArgvInput”},{“class”:“Symfony\\Component\\Console\\Output\\ConsoleOutput”}]},{“file”:”/var/www/html/3rdparty/symfony/console/Application.php",“line”:1078,“function”:“run”,“class”:“Symfony\\Component\\Console\\Command\\Command”,“type”:" → “,“args”:[{“class”:“Symfony\\Component\\Console\\Input\\ArgvInput”},{“class”:“Symfony\\Component\\Console\\Output\\ConsoleOutput”}]},{“file”:”/var/www/html/3rdparty/symfony/console/Application.php",“line”:324,“function”:“doRunCommand”,“class”:“Symfony\\Component\\Console\\Application”,“type”:" → “,“args”:[{“class”:“OC\\Core\\Command\\Upgrade”},{“class”:“Symfony\\Component\\Console\\Input\\ArgvInput”},{“class”:“Symfony\\Component\\Console\\Output\\ConsoleOutput”}]},{“file”:”/var/www/html/3rdparty/symfony/console/Application.php",“line”:175,“function”:“doRun”,“class”:“Symfony\\Component\\Console\\Application”,“type”:" → “,“args”:[{“class”:“Symfony\\Component\\Console\\Input\\ArgvInput”},{“class”:“Symfony\\Component\\Console\\Output\\ConsoleOutput”}]},{“file”:”/var/www/html/lib/private/Console/Application.php",“line”:187,“function”:“run”,“class”:“Symfony\\Component\\Console\\Application”,“type”:" → “,“args”:[{“class”:“Symfony\\Component\\Console\\Input\\ArgvInput”},{“class”:“Symfony\\Component\\Console\\Output\\ConsoleOutput”}]},{“file”:”/var/www/html/console.php",“line”:90,“function”:“run”,“class”:“OC\\Console\\Application”,“type”:" → “,“args”:[{“class”:“Symfony\\Component\\Console\\Input\\ArgvInput”}]},{“file”:”/var/www/html/occ",“line”:33,“args”:[“/var/www/html/console.php”],“function”:“require_once”}],“File”:“/var/www/html/lib/private/Updater.php”,“Line”:201,“message”:“Updates between multiple major versions and downgrades are unsupported.”,“exception”:{},“CustomMessage”:“Updates between multiple major versions and downgrades are unsupported.”}”,“userAgent”:“–”,“version”:“30.0.10.1”}
Exception: Updates between multiple major versions and downgrades are unsupported.
[nextcloud][updater][3] {“reqId”:“uFJaFy469BTwLbw0fOvP”,“level”:3,“time”:“2026-03-24T16:16:06+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“updater”,“method”:“”,“url”:“–”,“message”:“\OC\Updater::failure: Exception: Updates between multiple major versions and downgrades are unsupported.”,“userAgent”:“–”,“version”:“30.0.10.1”,“data”:{“app”:“updater”}}
Update failed
[nextcloud][updater][3] {“reqId”:“uFJaFy469BTwLbw0fOvP”,“level”:3,“time”:“2026-03-24T16:16:06+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“updater”,“method”:“”,“url”:“–”,“message”:“\OC\Updater::updateEnd: Update failed”,“userAgent”:“–”,“version”:“30.0.10.1”,“data”:{“app”:“updater”}}
Maintenance mode is kept active
[nextcloud][updater][1] {“reqId”:“uFJaFy469BTwLbw0fOvP”,“level”:1,“time”:“2026-03-24T16:16:06+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“updater”,“method”:“”,“url”:“–”,“message”:“\OC\Updater::maintenanceActive: Maintenance mode is kept active”,“userAgent”:“–”,“version”:“30.0.10.1”,“data”:{“app”:“updater”}}
Resetting log level
[nextcloud][updater][1] {“reqId”:“uFJaFy469BTwLbw0fOvP”,“level”:1,“time”:“2026-03-24T16:16:06+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“updater”,“method”:“”,“url”:“–”,“message”:“\OC\Updater::resetLogLevel: Reset log level to Warning(2)”,“userAgent”:“–”,“version”:“30.0.10.1”,“data”:{“app”:“updater”}}

and the WebGUI changes to this:

Maintenance mode
This Nextcloud instance is currently in maintenance mode, which may take a while. This page will refresh itself when the instance is available again.

Contact your system administrator if this message persists or appeared unexpectedly.

which matches what the terminal output said.

Then I rebooted just for the heck of it. systemctl stays that redis is still running. I still get the maintenance mode message in the WebGUI.

I guess because redis wasn’t working, Nextcloud couldn’t finish the upgrade from 30 to 31 and it’s not possible to upgrade from 30 to 32.

You could try to downgrade from 32 to 31 so the upgrade from 30 should be possible. In this case the force option is used, which shouldn’t be used for normal upgrades.

api-cli run update-module --data '{"module_url":"ghcr.io/nethserver/nextcloud:1.5.2","instances":["nextcloud1"],"force":true}'

Check the logs, the upgrade should work now. No need for a manual “occ upgrade”.

okay!

I did that, and am showing version 32.0.6 now

/var/www/html # /var/www/html/occ --version
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Nextcloud 32.0.6

I’m now getting the maintenance mode message again.

tried turning mx mode off with the OCC command and it stopped serving the webpage. turned mx mode back on, and back to the mx mode message

Rebooted to see if that would help, and still getting the maintenance mode message

I feel like it’s almost all better and working again.

After downgrading to version 31 it shouldn’t show 32.0.6 or did you upgrade again?

Let’s check the version in config.php:

runagent -m nextcloud1
podman unshare grep version $(podman volume inspect nextcloud-app-data --format={{.Mountpoint}})/config/config.php
exit

Maybe it helps to set the version as explained here.

You can run occ like this, see GitHub - NethServer/ns8-nextcloud: Nextcloud module for NS8 · GitHub

runagent -m nextcloud1 occ <args>

Maybe related issue:

Yes, because I thought you were telling me to downgrade via OCC and then upgrade via WebGUI in order to go from 32 to 30 to 31 to 32

I just tried downgrading again using the command you shared, and then, after reading the other post that you linked, attempted to use OCC to check the status, which didn’t work, upgraded via WebGUI, Nextcloud web shows maintenance mode and OCC works again, downgraded again, OCC not working and WebGUI shows bad gateway, wanted to know why OCC isn’t working, kept trying different OCC commands, see something like “no container called nextcloud1”

so then I looked at podman ps -a and it shows the nextcloud-app container’s uptime as less than 1 second, and then I check it again, and it has the same uptime, so I feel like the container keeps crashing

I found this in the logs:

2026-03-27T10:28:33-04:00 [1:nextcloud1:nextcloud-app] Can't start Nextcloud because the version of the data (32.0.6.1) is higher than the docker image version (31.0.7.1) and downgrading is not supported. Are you sure you have pulled the newest image version?

Is it fixable? Or should I delete Nextcloud and reinstall it?

If there’s no important data in Nextcloud, reinstalling is the simplest and quickest solution.

If you need to fix it:

  • Downgrade to 1.5.2 / NC 31 by using the api-cli command
  • Check if occ upgrade is working
  • Check if NC is working
  • Upgrade to 1.6.1 / NC 32 via Software Center

got it

i think that’s what I’ll do

can I just do that through the software center?

Yes, uninstall and reinstall can be done in Software Center.

1 Like

Today I encountered the same error message from Nextcloud. The root problem was quickly found and fixed: no more free space on the /home partition. :face_with_peeking_eye:

But after freeing up space and rebooting the problem with Nextcloud still existed. With the help of this thread I found out that redis was the problem. After deleting the nextcloud-redis volume I could bring nextcloud to life again.

So thanks for this very helpfull thread! :+1:

Wijnand

2 Likes