Mail app missing in store

I am relatively new to Nextcloud. I have just installed Nextcloud on a NUC using docker-compose with a postgres DB. I am using Traefik2 as a reverse proxy (There are still some security warnings related with the proxy that I haven’t fixed yet). The installation went well and I haven’t encountered any major issues. I see the app store and can install apps. However, the mail app is for some reasons missing in the store and I can’t find a reason why. Other Nextcloud Apps like Calendar, Tasks, Contacts are installed. Do you have ideas?

Thanks for your help! The Mail app is actually the main reason why I started with Nextcloud.

Below some more detailed information:

Nextcloud version: 20.0.6
Operating system and version: Ubuntu 20.04 + docker compose on a NUC i5
Apache or nginx version: not quite sure, nginx not installed
PHP version: 7.4.14
DB:pgsql Version: PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1) on x86_64-pc-linux-gnu
DNS: 127.0.0.11

I have used the following docker-compose script. I tried to reinstall Nextcloud a couple of times but don’t see a difference.

Here is (the relevant lines) of my docker compose file

#NEXTCLOUD
  nextcloud:
    image: nextcloud
    container_name: nextcloud
    restart: always
    ports:
      - 8888:80
    networks:
      t2_proxy:
        ipv4_address: 192.168.90.20 # You can specify a static IP
    volumes:
      - $DOCKERDIR/Next:/var/www/html
    environment:
      - POSTGRES_HOST=postgres
      - POSTGRES_DB=nextcloud_db
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
      - NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password
      - NEXTCLOUD_ADMIN_USER=dennis
      - NEXTCLOUD_TRUSTED_DOMAINS= nuc 192.168.1.40 next.wilken.xyz
    labels:
      - "traefik.enable=true"
      ## HTTP Routers
      - "traefik.http.routers.nextcloutd-rtr.entrypoints=https"
      - "traefik.http.routers.nextcloud-rtr.rule=Host(`next.$DOMAINNAME`)"
      - "traefik.http.routers.nextcloud-rtr.tls=true"
      ## Middlewares
      - "traefik.http.routers.nextcloud-rtr.middlewares=chain-no-auth@file"
Authentication
      ## HTTP Services
      - "traefik.http.routers.nextcloud-rtr.service=nextcloud-svc"
      - "traefik.http.services.nextcloud-svc.loadbalancer.server.port=80"

    depends_on:
      - postgres
    secrets:
      - nextcloud_admin_password
      - postgres_password

#Postgres
  postgres:
    image: postgres
    container_name: postgres
    environment:
      - POSTGRES_DB=nextcloud_db
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
    networks:
      t2_proxy:
        ipv4_address: "192.168.90.10"
    ports:
      - 5432:5432
    restart: always
    secrets:
      - postgres_password
    volumes:
      - $DOCKERDIR/Post:/var/lib/postgresql/data

The output of your Nextcloud log in Admin > Logging:
I have two errors here:

[no app in context] Error: OCP\AppFramework\QueryException: Could not resolve OCA\Files_Versions\Versions\IVersionManager! Class can not be instantiated at <<closure>>

 0. /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php line 126
    OC\AppFramework\Utility\SimpleContainer->resolve("OCA\\Files_Vers ... r")
 1. /var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php line 455
    OC\AppFramework\Utility\SimpleContainer->query("OCA\\Files_Vers ... r")
 2. /var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php line 427
    OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback("OCA\\Files_Vers ... r")
 3. /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php line 56
    OC\AppFramework\DependencyInjection\DIContainer->query("OCA\\Files_Vers ... r")
 4. /var/www/html/apps/files_versions/lib/AppInfo/Application.php line 119
    OC\AppFramework\Utility\SimpleContainer->get("OCA\\Files_Vers ... r")
 5. /var/www/html/apps/files_versions/lib/AppInfo/Application.php line 106
    OCA\Files_Versions\AppInfo\Application->loadBackend({@attributes: {f ... "}, OC\AppFramework\ ... {}, OC\AppFramework\Logger {})
 6. /var/www/html/lib/private/AppFramework/Bootstrap/FunctionInjector.php line 68
    OCA\Files_Versions\AppInfo\Application->registerVersionBackends(OC\AppFramework\ ... {}, OC\App\AppManager {}, OC\AppFramework\Logger {})
 7. /var/www/html/lib/private/AppFramework/Bootstrap/BootContext.php line 52
    OC\AppFramework\Bootstrap\FunctionInjector->injectFn(Closure {})
 8. /var/www/html/apps/files_versions/lib/AppInfo/Application.php line 91
    OC\AppFramework\Bootstrap\BootContext->injectFn(Closure {})
 9. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 168
    OCA\Files_Versions\AppInfo\Application->boot(OC\AppFramework\Bootstrap\BootContext {})
10. /var/www/html/lib/private/legacy/OC_App.php line 191
    OC\AppFramework\Bootstrap\Coordinator->bootApp("files_versions")
11. /var/www/html/lib/private/legacy/OC_App.php line 131
    OC_App::loadApp("files_versions")
12. /var/www/html/apps/dav/lib/AppInfo/Application.php line 113
    OC_App::loadApps(["dav"])
13. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 168
    OCA\DAV\AppInfo\Application->boot(OC\AppFramework\Bootstrap\BootContext {})
14. /var/www/html/lib/private/legacy/OC_App.php line 191
    OC\AppFramework\Bootstrap\Coordinator->bootApp("dav")
15. /var/www/html/lib/private/legacy/OC_App.php line 131
    OC_App::loadApp("dav")
16. /var/www/html/lib/private/legacy/OC_Util.php line 201
    OC_App::loadApps(["filesystem"])
17. /var/www/html/lib/private/User/Session.php line 554
    OC_Util::setupFS("*** sensitive parameter replaced ***")
18. /var/www/html/lib/private/User/Session.php line 415
    OC\User\Session->prepareUserLogin(true, "*** sensitive parameter replaced ***")
19. /var/www/html/lib/private/User/Session.php line 624
    OC\User\Session->completeLogin("*** sensitive parameters replaced ***")
20. /var/www/html/lib/private/User/Session.php line 367
    OC\User\Session->loginWithPassword("*** sensitive parameters replaced ***")
21. /var/www/html/lib/private/Setup.php line 436
    OC\User\Session->login("*** sensitive parameters replaced ***")
22. /var/www/html/core/Command/Maintenance/Install.php line 106
    OC\Setup->install("*** sensitive parameters replaced ***")
23. /var/www/html/3rdparty/symfony/console/Command/Command.php line 255
    OC\Core\Command\Maintenance\Install->execute(Symfony\Componen ... {}, Symfony\Componen ... {})
24. /var/www/html/3rdparty/symfony/console/Application.php line 1000
    Symfony\Component\Console\Command\Command->run(Symfony\Componen ... {}, Symfony\Componen ... {})
25. /var/www/html/3rdparty/symfony/console/Application.php line 271
    Symfony\Component\Console\Application->doRunCommand(OC\Core\Command\Maintenance\Install {}, Symfony\Componen ... {}, Symfony\Componen ... {})
26. /var/www/html/3rdparty/symfony/console/Application.php line 147
    Symfony\Component\Console\Application->doRun(Symfony\Componen ... {}, Symfony\Componen ... {})
27. /var/www/html/lib/private/Console/Application.php line 215
    Symfony\Component\Console\Application->run(Symfony\Componen ... {}, Symfony\Componen ... {})
28. /var/www/html/console.php line 100
    OC\Console\Application->run()
29. /var/www/html/occ line 11
    require_once("/var/www/html/console.php")

by dennis at 2021-02-05T22:44:17+00:00


[no app in context] Error: OCP\AppFramework\QueryException: Could not resolve trashManager! Class trashManager does not exist at <<closure>>

 0. /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php line 126
    OC\AppFramework\Utility\SimpleContainer->resolve("trashManager")
 1. /var/www/html/lib/private/ServerContainer.php line 156
    OC\AppFramework\Utility\SimpleContainer->query("trashManager", true)
 2. /var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php line 430
    OC\ServerContainer->query("trashManager", true)
 3. /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php line 56
    OC\AppFramework\DependencyInjection\DIContainer->query("trashManager")
 4. /var/www/html/lib/private/AppFramework/Bootstrap/FunctionInjector.php line 58
    OC\AppFramework\Utility\SimpleContainer->get("trashManager")
 5. <<closure>>
    OC\AppFramework\Bootstrap\FunctionInjector->OC\AppFramework\Bootstrap\{closure}("*** sensitive parameters replaced ***")
 6. /var/www/html/lib/private/AppFramework/Bootstrap/FunctionInjector.php line 68
    array_map(Closure {}, [ReflectionParam ... "])
 7. /var/www/html/lib/private/AppFramework/Bootstrap/BootContext.php line 52
    OC\AppFramework\Bootstrap\FunctionInjector->injectFn([OCA\Files_Trash ... "])
 8. /var/www/html/apps/files_trashbin/lib/AppInfo/Application.php line 57
    OC\AppFramework\Bootstrap\BootContext->injectFn([OCA\Files_Trash ... "])
 9. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 168
    OCA\Files_Trashbin\AppInfo\Application->boot(OC\AppFramework\Bootstrap\BootContext {})
10. /var/www/html/lib/private/legacy/OC_App.php line 191
    OC\AppFramework\Bootstrap\Coordinator->bootApp("files_trashbin")
11. /var/www/html/lib/private/legacy/OC_App.php line 131
    OC_App::loadApp("files_trashbin")
12. /var/www/html/apps/dav/lib/AppInfo/Application.php line 113
    OC_App::loadApps(["dav"])
13. /var/www/html/lib/private/AppFramework/Bootstrap/Coordinator.php line 168
    OCA\DAV\AppInfo\Application->boot(OC\AppFramework\Bootstrap\BootContext {})
14. /var/www/html/lib/private/legacy/OC_App.php line 191
    OC\AppFramework\Bootstrap\Coordinator->bootApp("dav")
15. /var/www/html/lib/private/legacy/OC_App.php line 131
    OC_App::loadApp("dav")
16. /var/www/html/lib/private/legacy/OC_Util.php line 201
    OC_App::loadApps(["filesystem"])
17. /var/www/html/lib/private/User/Session.php line 554
    OC_Util::setupFS("*** sensitive parameter replaced ***")
18. /var/www/html/lib/private/User/Session.php line 415
    OC\User\Session->prepareUserLogin(true, "*** sensitive parameter replaced ***")
19. /var/www/html/lib/private/User/Session.php line 624
    OC\User\Session->completeLogin("*** sensitive parameters replaced ***")
20. /var/www/html/lib/private/User/Session.php line 367
    OC\User\Session->loginWithPassword("*** sensitive parameters replaced ***")
21. /var/www/html/lib/private/Setup.php line 436
    OC\User\Session->login("*** sensitive parameters replaced ***")
22. /var/www/html/core/Command/Maintenance/Install.php line 106
    OC\Setup->install("*** sensitive parameters replaced ***")
23. /var/www/html/3rdparty/symfony/console/Command/Command.php line 255
    OC\Core\Command\Maintenance\Install->execute(Symfony\Componen ... {}, Symfony\Componen ... {})
24. /var/www/html/3rdparty/symfony/console/Application.php line 1000
    Symfony\Component\Console\Command\Command->run(Symfony\Componen ... {}, Symfony\Componen ... {})
25. /var/www/html/3rdparty/symfony/console/Application.php line 271
    Symfony\Component\Console\Application->doRunCommand(OC\Core\Command\Maintenance\Install {}, Symfony\Componen ... {}, Symfony\Componen ... {})
26. /var/www/html/3rdparty/symfony/console/Application.php line 147
    Symfony\Component\Console\Application->doRun(Symfony\Componen ... {}, Symfony\Componen ... {})
27. /var/www/html/lib/private/Console/Application.php line 215
    Symfony\Component\Console\Application->run(Symfony\Componen ... {}, Symfony\Componen ... {})
28. /var/www/html/console.php line 100
    OC\Console\Application->run()
29. /var/www/html/occ line 11
    require_once("/var/www/html/console.php")

by dennis at 2021-02-05T22:44:17+00:00

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'htaccess.RewriteBase' => '/',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/var/www/html/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/www/html/custom_apps',
      'url' => '/custom_apps',
      'writable' => true,
    ),
  ),
  'passwordsalt' => 'XXX',
  'secret' => 'XXXX',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'nuc',
    2 => '192.168.1.X',
    3 => 'next.X.X',
  ),
  'datadirectory' => '/var/www/html/data',
  'dbtype' => 'pgsql',
  'version' => '20.0.6.1',
  'overwrite.cli.url' => 'http://localhost',
  'dbname' => 'nextcloud_db',
  'dbhost' => 'postgres',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_X',
  'dbpassword' => 'X',
  'installed' => true,
  'instanceid' => 'X',
  'mail_smtpmode' => 'smtp',
  'mail_smtpsecure' => 'ssl',
  'mail_sendmailmode' => 'smtp',
  'mail_from_address' => 'nextcloud',
  'mail_domain' => 'X.X',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => 'smtp.X.X',
  'mail_smtpport' => '465',
  'mail_smtpname' => 'X@X.X',
  'mail_smtppassword' => 'XXX!',
);



The output of your Apache/nginx/system log in /var/log/____:
This folder is not mounted by docker and therefore a bit trickier to access. If necessary, I will look at the data for you.

That’s a bug with php version comparison. See: Mail app not available for installation · Issue #4383 · nextcloud/mail · GitHub

2 Likes