Broken install after update to v30

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 30.0.4
  • Operating system and version (e.g., Ubuntu 24.04):
    • Docker (30-apache) via Fedora 40 server edition
  • Web server and version (e.g, Apache 2.4.25):
    • 2.4.62 (Debian)
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • caddy v2.8.4
  • PHP version (e.g, 8.3):
    • 8.2.27
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • after updating the docker image version to 30-apache
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • docker compose
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • cloudflare reverse proxy & DNS management

Summary of the issue you are facing:

The docker containers in my stack start successfully but the container logs show messages, and the server is not accessible. When running php occ it states that nextcloud is not installed??

Log entries

Container

Conf remoteip disabled.

To activate the new configuration, you need to run:

  service apache2 reload

=> Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/before-starting

[Sun Dec 29 20:13:34.890444 2024] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.62 (Debian) PHP/8.2.27 configured -- resuming normal operations

[Sun Dec 29 20:13:34.890502 2024] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

Nextcloud

Cannot access web interface & nextcloud.log has not been edited since update.

Configuration

Docker Compose Stack

services:
  nextcloudapp:
    image: nextcloud:30-apache
    restart: unless-stopped
    container_name: nextcloudapp
    hostname: *****
    volumes:
      - data_new:/var/www/html
      - /media/nextcloud:/media/carrotmanmatt_nas_files
    environment:
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=*****
      - MYSQL_HOST=nextclouddb
      - REDISHOST=nextcloudredis
      - APACHE_DISABLE_REWRITE_IP=1
      - APACHE_BODY_LIMIT=0
      - NEXTCLOUD_DATA_DIR=/media/carrotmanmatt_nas_files/data
    depends_on: 
      - nextclouddb
      - nextcloudredis
    networks:
      - frontend
      - backend

  nextclouddb:
    image: mariadb
    container_name: nextclouddb
    hostname: nextclouddb
    restart: unless-stopped
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=*****
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=*****
      - MYSQL_DATABASE=nextcloud
    volumes:
      - db_new:/var/lib/mysql
    networks:
      - backend
      
  nextcloudredis:
    image: redis:alpine
    container_name: nextcloudredis
    hostname: nextcloudredis
    restart: unless-stopped
    networks:
      - backend
      
  nextcloudcron:
    image: nextcloud:30-apache
    container_name: nextcloudcron
    restart: unless-stopped
    volumes:
      - data_new:/var/www/html
      - /media/nextcloud:/media/carrotmanmatt_nas_files
    environment:
      - NEXTCLOUD_DATA_DIR=/media/carrotmanmatt_nas_files/data
    entrypoint: /cron.sh
    depends_on:
      - nextclouddb
      - nextcloudredis
    networks:
      - backend

volumes:
  data_new:
  db_new:

networks:
  frontend:
    name: proxy-apps
    external: true
  backend:

Nextcloud

Cannot run occ config:list system. Cannot find config.php in docker container data directory.

Apps

The output of occ app:list: not possible.

How, specifically, did you upgrade? And was it from v29?

To assist you we’ll need more of the container log output.

Cannot run occ config:list system. Cannot find config.php in docker container data directory.

Are you running the command in the container? It won’t work on your host.

See Docker: Running OCC

Many thanks for the quick reply. I did indeed run the occ command from within the container. Here’s the output:

www-data@files:~/html$ php occ
Nextcloud is not installed - only a limited number of commands are available
Nextcloud 30.0.4

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display help for the given command. When no command is given display help for the list command
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --no-warnings     Skip global warnings, show command output only
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  check                 check dependencies of the server environment
  completion            Dump the shell completion script
  help                  Display help for a command
  list                  List commands
  status                show some status information
 integrity
  integrity:check-app   Check integrity of an app using a signature.
  integrity:check-core  Check integrity of core code using a signature.
  integrity:sign-app    Signs an app using a private key.
  integrity:sign-core   Sign core using a private key.
 l10n
  l10n:createjs         Create javascript translation files for a given app
 maintenance
  maintenance:install   install Nextcloud

yet the output of ls shows files available:

www-data@files:~/html$ ls -l
total 1276
drwxr-xr-x. 42 www-data www-data    4096 Dec 29 18:21 3rdparty
-rw-r--r--.  1 www-data www-data   26314 Dec 29 18:21 AUTHORS
-rw-r--r--.  1 www-data www-data   34520 Dec 29 18:21 COPYING
drwxr-xr-x.  2 www-data www-data    4096 Dec 29 18:21 LICENSES
drwxr-xr-x. 54 www-data www-data    4096 Dec 29 18:21 apps
-rw-r--r--.  1 www-data www-data    2079 Dec 29 18:21 composer.json
-rw-r--r--.  1 www-data www-data    3400 Dec 29 18:21 composer.lock
drwxr-xr-x.  2 www-data www-data    4096 Dec 29 18:25 config
-rw-r--r--.  1 www-data www-data    3810 Dec 29 18:21 console.php
drwxr-xr-x. 24 www-data www-data    4096 Dec 29 18:21 core
-rw-r--r--.  1 www-data www-data    7550 Dec 29 18:21 cron.php
drwxr-xr-x.  2 www-data www-data       6 Dec 29 18:21 custom_apps
drwxr-xr-x.  2 www-data www-data   20480 Dec 29 18:21 dist
-rw-r--r--.  1 www-data www-data     331 Dec 29 18:21 index.html
-rw-r--r--.  1 www-data www-data    3485 Dec 29 18:21 index.php
drwxr-xr-x.  6 www-data www-data     125 Dec 29 18:21 lib
-rw-r--r--.  1 root     root           0 Dec 29 20:47 nextcloud-init-sync.lock
-rwxr-xr-x.  1 www-data www-data     308 Dec 29 18:21 occ
drwxr-xr-x.  2 www-data www-data      55 Dec 29 18:21 ocs
drwxr-xr-x.  2 www-data www-data      23 Dec 29 18:21 ocs-provider
-rw-r--r--.  1 www-data www-data 1129564 Dec 29 18:21 package-lock.json
-rw-r--r--.  1 www-data www-data    7228 Dec 29 18:21 package.json
-rw-r--r--.  1 www-data www-data    2821 Dec 29 18:21 public.php
-rw-r--r--.  1 www-data www-data    4435 Dec 29 18:21 remote.php
drwxr-xr-x.  4 www-data www-data     161 Dec 29 18:21 resources
-rw-r--r--.  1 www-data www-data      26 Dec 29 18:21 robots.txt
-rw-r--r--.  1 www-data www-data    1327 Dec 29 18:21 status.php
drwxr-xr-x.  3 www-data www-data      35 Dec 29 18:21 themes
-rw-r--r--.  1 www-data www-data     383 Dec 29 18:21 version.php

I can’t say for certain whether i was on v29 before i updated or a version before. That was my mistake for not properly performing checks & backups to understand whether i needed to incrementally update as I have read online about problems ocurring when updating skipping major versions.

I am currently planning to migrate to the AIO setup, however the first step of that migration is to convert the current database (which as you can see is mysql) to postgres. However I cannot do this as the occ db:convert command does not work due to the whole “not installed” issue. If you have an a workaround to enable me to migrate to AIO that would be appreciated if I cannot get this problem solved.

I did not solve this issue. Instead I rolled back to a stored backup of the virtual machine that my docker host was running on and will stay on that major version for the foreseeable future to prevent these issues

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.