Errors registering first user "Table 'passbolt.users' doesn't exist"

Checklist
[x ] I have read intro post: https://community.passbolt.com/t/about-the-installation-issues-category/12
[ x] I have read the tutorials, help and searched for similar issues
[ x] I provide relevant information about my server (component names and versions, etc.)
[ x] I provide a copy of my logs and healthcheck
[ x] I describe the steps I have taken to trouble shoot the problem
[ x] I describe the steps on how to reproduce the issue

Been on the stuggle bus getting passbolt up and running securely. I am running in rootless podman containers, so I selected the passbolt:4.11.1-1-ce-non-root image.

How to reproduce, I began by creating a pod, then adding the mariadb instance and the passbolt instance:

podman pod create --publish 4430:4433 --publish 8000:80 --name passbolt
# database
podman run --detach --name passbolt-db \
--env-file .env.db \
--pod passbolt \
-v database_volume:/var/lib/mysql \
docker.io/library/mariadb:11
# passbolt
podman run --detach --name passbolt-app \
--requires passbolt-db \
--env-file .env.passbolt \
--env-file .env.passbolt_smtp \
--env-file .env.mailalerts \
--pod passbolt \
-v gpg_volume:/etc/passbolt/gpg \
-v jwt_volume:/etc/passbolt/jwt \
docker.io/passbolt/passbolt:4.11.1-1-ce-non-root

Containers launch and then I enter in the command to register the first user:

podman exec passbolt-app ./bin/cake passbolt register_user -u myemail@example.tld -f First -l Last -r admin

Here is the output:
2025-02-22 18:39:35 error: [Cake\Database\Exception\DatabaseException] SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘passbolt.users’ doesn’t exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/Collection.php on line 160
Caused by: [PDOException] SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘passbolt.users’ doesn’t exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php on line 39
2025-02-22 18:39:35 error: [Cake\Database\Exception\DatabaseException] SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘passbolt.users’ doesn’t exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/Collection.php on line 160

So I ran a healthcheck for fun:

www-data@passbolt:/usr/share/php/passbolt$ ./bin/cake passbolt healthcheck

     ____                  __          ____
    / __ \____  _____ ____/ /_  ____  / / /_
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /
 /_/    \__,_/____/____/_.___/\____/_/\__/

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell................................................2025-02-22 18:52:55 error: [Cake\Database\Exception\DatabaseException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passbolt.organization_settings' doesn't exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/Collection.php on line 160
Caused by: [PDOException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passbolt.organization_settings' doesn't exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php on line 39
2025-02-22 18:52:55 error: [Cake\Database\Exception\DatabaseException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passbolt.organization_settings' doesn't exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/Collection.php on line 160
Caused by: [PDOException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passbolt.organization_settings' doesn't exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php on line 39

Also tried mapping the trusted cert files into the container and that seemed to cause more issues. So just trying to get it working with the self-signed cert for now. Eventually I plan to run passbolt behind an nginx reverse proxy. For now running it as: APP_FULL_BASE_URL=https://www.passbolt.local:4430

I have run podman logs passbolt-app and I see similar errors about missing tables:

2025-02-22 18:34:16 error: [Cake\Database\Exception\DatabaseException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passbolt.actions' doesn't exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Schema/Collection.php on line 160
Caused by: [PDOException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'passbolt.actions' doesn't exist in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php on line 39

I’m sure I missed a step, when I tested everything as the rootful image (passbolt:4.4.2-1-ce) I did not have this error. But before I went too far down the rabbit hole setting it up, I assume I need to run the non-root image since the containers are not running as root. But this seems to change the commands a bit, and the guides I found are all for docker as root.

If anyone has found a setup guide for non-root containers, please share, or if anyone can spot what I am missing. Will keep at it, combing the logs, and look at the db setup.
Thank you

I think this may be my issue, no tables in the database for some reason…?

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| passbolt           |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.001 sec)

MariaDB [(none)]> use passbolt;
Database changed
MariaDB [passbolt]> show tables;
Empty set (0.000 sec)

Ok, apparently I just needed to add a 10 second delay in between bringing up the db container and the passbolt-app container, to allow the database to build. Once restarting the pod with a delay I am able to register users fine.

1 Like