Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing External Apps page in Admin Interface after updating to NC AIO 30 #390

Open
anolting opened this issue Sep 19, 2024 · 17 comments
Open
Labels
aio bug Something isn't working

Comments

@anolting
Copy link

anolting commented Sep 19, 2024

Describe the bug

After a successful update to NC AIO 30 and logging in as Admin the External App page is missing.
In NC AIO 29 I had installed Assistant, AppAPI and Context Chat Backend. The proxy mentioned in https://github.com/cloud-py-api/docker-socket-proxy#readme were also installed.

Steps/Code to Reproduce

  1. Stopped all containers using mastercontainer Nextcloud AIO Interface
  2. Stopped mastercontainer using docker down
  3. Updated Nextcloud AIO 29 mastercontainer to 30 using docker pull
  4. Updated Nextcloud AIO 29 to 30 using mastercontainer
  5. After a successful update and logging in as Admin the External App page is missing and also the context chat

Expected Results

Context Chat still available and External Apps Page for Admin Users available.

Actual Results

The Menubar does not show a Context Chat or Assistant entry.
The containers Context Chat Backend and Nextcloud Proxy are there where the backend ended with a failure.
External Apps Page while logged in as Admin not shown. See screen shot below.

grafik

Setup configuration

The app_api version is 3.2.0, the conext chat backend is 2.2.1.

The Nextcloud AIO Interface says Nextcloud AIO v9.5.1 / Nextcloud 30
The Nextcloud Admin Dashboard says Version Nextcloud Hub 8 (29.0.6)

Host OS: Ubuntu 22.04

Docker Info:

Client: Docker Engine - Community
 Version:    27.2.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.16.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.29.2
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 22
  Running: 19
  Paused: 0
  Stopped: 3
 Images: 48
 Server Version: 27.2.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
 runc version: v1.1.14-0-g2c9f560
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.8.0-40-generic
 Operating System: Ubuntu 22.04.5 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 62.58GiB
 Name: my-hostname
 ID: RJNP:VCFL:MIUC:O225:PZYX:LGO3:R2VV:BEMS:STJJ:MPPA:Z6OO:GYAQ
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: true
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

The docker compose file looks like this:

  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer # This line is not allowed to be changed

services:
  nextcloud:
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed
      - /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'DOCKER_SOCKET_PATH'!
    ports:
      - 8080:8080
    environment: # Is needed when using any of the options below
      - APACHE_PORT=11000 # Is needed when running behind a reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      # - APACHE_IP_BINDING=0.0.0.0 # Should be set when running behind a reverse proxy that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      # - COLLABORA_SECCOMP_DISABLED=false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
      # - DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var>
      # - DISABLE_BACKUP_SECTION=false # Setting this to true allows to hide the backup section in the AIO interface.
      # - NEXTCLOUD_DATADIR=/mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
      # - NEXTCLOUD_MOUNT=/mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
      # - NEXTCLOUD_UPLOAD_LIMIT=10G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
      # - NEXTCLOUD_MAX_TIME=3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
      # - NEXTCLOUD_MEMORY_LIMIT=4096M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
      # - NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nexcloud container (Useful e.g. for LDAPS) See See https://github.com/nextcloud/all-in-one#how-to-trust-use>
      # - NEXTCLOUD_STARTUP_APPS=deck twofactor_totp tasks calendar contacts # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextclou>
      - NEXTCLOUD_ADDITIONAL_APKS=imagemagick libpq-dev # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextc>
      - NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick pgsql # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/n>
      # - NEXTCLOUD_ENABLE_DRI_DEVICE=true # This allows to enable the /dev/dri device in the Nextcloud container. See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud
      # - TALK_PORT=3478 # This allows to adjust the port that the talk container is using.
      - SKIP_DOMAIN_VALIDATION=true
    image: nextcloud/all-in-one:latest # Must be changed to 'nextcloud/all-in-one:latest-arm64' when used with an arm64 CPU
    restart: unless-stopped
    container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.nextcloud.entrypoints=websecure"
      - "traefik.http.routers.nextcloud.rule=(Host(`nextcloud.your-host.tld`))"
      - "traefik.http.routers.nextcloud.tls=true"
      - "traefik.http.routers.nextcloud.tls.certresolver=http_resolver"
      - "traefik.http.routers.nextcloud.service=nextcloud@file"
      - "traefik.http.services.nextcloud.loadbalancer.server.port=443"
      - "traefik.docker.network=proxy"
      - "traefik.http.routers.nextcloud.middlewares=default@file"
    networks:
      - proxy
networks:
  proxy:
    external: true```
@andrey18106
Copy link
Collaborator

@anolting Hello, is there any error log entries related? It might be related to this: #391.

@andrey18106 andrey18106 added bug Something isn't working aio labels Sep 19, 2024
@anolting
Copy link
Author

@anolting Hello, is there any error log entries related? It might be related to this: #391.

Can you please tell me which log you mean? The Nextcloud Protocol Log contain only messages since the start of the instance. And update logs no more available, at least if there are some stored somewhere I don't know where to find them after bringing up the instance again.

@kyteinsky
Copy link
Collaborator

kyteinsky commented Nov 12, 2024

Faced the same issue, here's the relevant log:

{"reqId":"NQom9dxjO1PKA6TUDiu9","level":3,"time":"2024-11-11T22:21:47+00:00","remoteAddr":"192.168.21.6","user":"admin","app":"index","method":"GET","url":"/index.php/apps/app_api/apps/office","message":"Method OCA\\AppAPI\\Controller\\ExAppsPageController::viewApps() does not exist","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36","version":"31.0.0.4","exception":{"Exception":"ReflectionException","Message":"Method OCA\\AppAPI\\Controller\\ExAppsPageController::viewApps() does not exist","Code":0,"Trace":[{"file":"/var/www/html/lib/private/AppFramework/Utility/ControllerMethodReflector.php","line":27,"function":"__construct","class":"ReflectionMethod","type":"->","args":[{"__class__":"OCA\\AppAPI\\Controller\\ExAppsPageController"},"viewApps"]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":104,"function":"reflect","class":"OC\\AppFramework\\Utility\\ControllerMethodReflector","type":"->","args":[{"__class__":"OCA\\AppAPI\\Controller\\ExAppsPageController"},"viewApps"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\AppAPI\\Controller\\ExAppsPageController"},"viewApps"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":306,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\AppAPI\\Controller\\ExAppsPageController","viewApps",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"category":"office","id":"","_route":"app_api.exappspage.viewapps"}]},{"file":"/var/www/html/lib/base.php","line":1010,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/app_api/apps/office"]},{"file":"/var/www/html/index.php","line":24,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/lib/private/AppFramework/Utility/ControllerMethodReflector.php","Line":27,"message":"Method OCA\\AppAPI\\Controller\\ExAppsPageController::viewApps() does not exist","exception":{},"CustomMessage":"Method OCA\\AppAPI\\Controller\\ExAppsPageController::viewApps() does not exist"}}

It seems to be independent of AIO.

@JosefAschauer
Copy link

same here. Nextcloud 30.0.2 running in NC AIO HUB 9.8.0

@andrey18106
Copy link
Collaborator

same here. Nextcloud 30.0.2 running in NC AIO HUB 9.8.0

ExApps management is merged into default Apps management page since NC 30.0.2.

@kyteinsky
Copy link
Collaborator

ExApps management is merged into default Apps management page since NC 30.0.2.

Ahh. Thanks Andrey!

@anolting
Copy link
Author

anolting commented Nov 13, 2024

I've checked if Assistant and Context Chat is available via Apps management and unfortunately I cannot find any.
The reason why i've opened this issue was, that with disappearing External Apps management I've also lost Assistant and Context Chat.
And unfortunately I cannot find any information what has happened to them and if this is an issue or intentionally and if so do they return.
Does someone know more?

@kyteinsky
Copy link
Collaborator

Hi, Assistant and Context Chat (not backend) are php apps. Have you using the search in the top bar to look for them? If you've installed them, "Your apps" section should show them.

@anolting
Copy link
Author

anolting commented Nov 13, 2024

Thanks you Anupam.
But as said, searching for them does not bring up any hit. And the containers where there, ini part running, but the integration into NC were gone. And as with the latest version they still not available.
I'll wait for an answer from the devs or mgmt.

@kyteinsky
Copy link
Collaborator

kyteinsky commented Nov 13, 2024

Can you provide the outputs to these commands?

occ app:list --enabled | grep -E 'context_chat|assistant'
occ app_api:app:list

I'm one of the context chat devs.

@anolting
Copy link
Author

Hi Anupam.
I can confirm that AppApi is installed along with Assistant and Nextcloud Assistant Context Chat, but as you can see, these apps are only found if I'm searching for them specifically and on the second screen shot there region where the red arrow points to is empty - there should be the Assistant icon found.

  1. screen shot
    Image

  2. screen shot
    Image

@kyteinsky
Copy link
Collaborator

Hi, can you confirm if the "Top-right assistant" box is ticked in both admin and personal settings inside (Artificial Intelligence -> Asistant) section?

@Serjaf
Copy link

Serjaf commented Nov 14, 2024

Fresh install of 30.0.2

AppAPI, Nextcloud Assistant, and Nextcloud Assistant Context Chat, are all installed.
I have my docker proxy setup and working. Connection tests works and test deploy works.

I have the assistant sparkles in the top right.

The External Apps menu does not exist and there does not seem to be a way to install the external apps from the main Apps menu. Context Chat Backend does not come up in search, nor does AIImageGeneratorBot or any of the usual ones.

occ app_api:app:list
ExApps:

occ app:list --enabled | grep -E 'context_chat|assistant'

  • assistant: 2.1.1
  • context_chat: 3.1.0

@kyteinsky
Copy link
Collaborator

Hello @Serjaf, see if "Office & text" category has the app "Context Chat Backend". Other method to install it could be

occ app_api:app:register context_chat_backend

Let's take it to CC backend's repository for further analysis.

@anolting
Copy link
Author

Hi, can you confirm if the "Top-right assistant" box is ticked in both admin and personal settings inside (Artificial Intelligence -> Asistant) section?

Can you provide me screen shot where this option should be found exactly?
Logged in as admin I have the following in admin settings - Artificial Intelligence:

Image

and in personal setting I only see all of the field describing me peronally, so like fullname, email address, etc...

@kyteinsky
Copy link
Collaborator

kyteinsky commented Nov 14, 2024

@anolting There should be a section called "Nextcloud Assistant" in the page. If it's not there then assistant is not installed.
Looks like this:
Image

Would you mind if we move this discussion to Asisstant's github repo so it doesn't clutter this issue and might help others if its there?

@anolting
Copy link
Author

anolting commented Nov 14, 2024

Would you mind if we move this discussion to Asisstant's github repo so it doesn't clutter this issue and might help others if its there?

sure, we can move this conversation.

Update: searching for the apps (as they don't appear in Active Apps), deaktivating and reactivating them, brought back the Assistant icon. Now I'm checking if the Assistant is working. The Artifical Intelligence entry under Personal Setting re-appeared as well.
Context Chat task failed. Error in Log AppApi not installed, while screen shots show it as installed. I deactivated it, uninstalled it and now I get again this error:

  | RuntimeException Error during request to ExApp (context_chat_backend): cURL error 6: Could not resolve host: context_chat_backend (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://context_chat_backend:23000/query LanguageModel call using provider Nextcloud Assistant Context Chat Provider failed -- | --

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aio bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants