Server unable to send emails other than the test email

I have the latest version of passbolt-ce running in docker. I’m able to send test emails, but no other emails seem to be going through. I’m not seeing any activity in the docker logs when the registration emails are requested, and nothing is being dropped in my firewall. I’m really not sure why it can send the test emails to any address, but it’s unable to send any of the other emails. It displays the page saying the emails were sent, and they aren’t going to spam.

Based on the healthcheck, it seems to be a gpg error:

# su -s /bin/bash -c "./bin/cake passbolt healthcheck" www-data

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

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell
-------------------------------------------------------------------------------

 Environment

 [PASS] PHP version 7.4.33.
 [PASS] PCRE compiled with unicode support.
 [PASS] The temporary directory and its content are writable and not executable.
 [PASS] The logs directory and its content are writable.
 [PASS] GD or Imagick extension is installed.
 [PASS] Intl extension is installed.
 [PASS] Mbstring extension is installed.

 Config files

 [PASS] The application config file is present
 [WARN] The passbolt config file is missing in /etc/passbolt/
 [HELP] Copy /etc/passbolt/passbolt.default.php to /etc/passbolt/passbolt.php
 [HELP] The passbolt config file is not required if passbolt is configured with environment variables

 Core config

 [PASS] Debug mode is off.
 [PASS] Cache is working.
 [PASS] Unique value set for security.salt
 [PASS] Full base url is set to https://passbolt.local
 [PASS] App.fullBaseUrl validation OK.
 [FAIL] Could not reach the /healthcheck/status with the url specified in App.fullBaseUrl
 [HELP] Check that the domain name is correct in config/passbolt.php
 [HELP] Check the network settings

 SSL Certificate

 [FAIL] SSL peer certificate does not validate
 [FAIL] Hostname does not match when validating certificates.
 [WARN] Using a self-signed certificate
 [HELP] Check https://help.passbolt.com/faq/hosting/troubleshoot-ssl
 [HELP] fopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known
fopen(https://passbolt.local/healthcheck/status.json): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known

 Database

 [PASS] The application is able to connect to the database
 [PASS] 26 tables found
 [PASS] Some default content is present
 [PASS] The database schema up to date.

 GPG Configuration

 [PASS] PHP GPG Module is installed and loaded.
 [PASS] The environment variable GNUPGHOME is set to /var/lib/passbolt/.gnupg.
 [PASS] The directory /var/lib/passbolt/.gnupg containing the keyring is writable by the webserver user.
 [FAIL] The server OpenPGP key is not set
 [HELP] Create a key, export it and add the fingerprint to config/passbolt.php
 [HELP] See. https://www.passbolt.com/help/tech/install#toc_gpg
 [PASS] The public key file is defined in config/passbolt.php and readable.
 [PASS] The private key file is defined in config/passbolt.php and readable.
 [FAIL] The server key fingerprint doesn't match the one defined in config/passbolt.php.
 [HELP] Double check the key fingerprint, example:
 [HELP] sudo su -s /bin/bash -c "gpg --list-keys --fingerprint --home /var/lib/passbolt/.gnupg" www-data | grep -i -B 2 'SERVER_KEY_EMAIL'
 [HELP] SERVER_KEY_EMAIL: The email you used when you generated the server key.
 [HELP] See. https://www.passbolt.com/help/tech/install#toc_gpg
 [FAIL] The server public key defined in the config/passbolt.php (or environment variables) is not in the keyring
 [HELP] Import the private server key in the keyring of the webserver user.
 [HELP] you can try:
 [HELP] sudo su -s /bin/bash -c "gpg --home /var/lib/passbolt/.gnupg --import /etc/passbolt/gpg/serverkey_private.asc" www-data
 [FAIL] The server key does not have a valid email id.
 [HELP] Edit or generate another key with a valid email id.

 Application configuration

 [FAIL] Could not connect to passbolt repository to check versions It is not possible check if your version is up to date.
 [HELP] Check the network configuration to allow this script to check for updates.
 [PASS] Passbolt is configured to force SSL use.
 [PASS] App.fullBaseUrl is set to HTTPS.
 [PASS] Selenium API endpoints are disabled.
 [PASS] Search engine robots are told not to index content.
 [PASS] Registration is closed, only administrators can add users.
 [PASS] Serving the compiled version of the javascript app
 [PASS] All email notifications will be sent.

 JWT Authentication

 [PASS] The JWT Authentication plugin is enabled
 [PASS] The /etc/passbolt/jwt/ directory is not writable.
 [PASS] A valid JWT key pair was found

 SMTP Settings

 [PASS] The SMTP Settings plugin is enabled.
 [FAIL] SMTP Setting errors: The OpenPGP server key cannot be used to decrypt the SMTP settings stored in database. To fix this problem, you need to configure the SMTP server again. Argument 1 passed to App\Utility\OpenPGP\Backends\Gnupg::setDecryptKeyFromFingerprint() must be of the type string, null given, called in /usr/share/php/passbolt/plugins/PassboltCe/SmtpSettings/src/Service/SmtpSettingsGetSettingsInDbService.php on line 107
 [PASS] The SMTP Settings source is: database.

 [FAIL] 9 error(s) found. Hang in there!

How would I go about correcting this?

Here are the relevant portions of the gpg keyring:

# gpg -k
gpg: WARNING: unsafe ownership on homedir '/var/lib/passbolt/.gnupg'
/var/lib/passbolt/.gnupg/pubring.kbx
------------------------------------
pub   rsa3072 2022-11-29 [SC]
      69411B4D2ED457DCA7CE63CEF1B34DE257FFD598
uid           [ unknown] Passbolt default user <passbolt@yourdomain.com>
sub   rsa3072 2022-11-29 [E]

I generated new keys, and then replaced the ones the server was using, and added the fingerprint to the environment variables. I’m still getting the same smtp error:


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

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell
-------------------------------------------------------------------------------

 Environment

 [PASS] PHP version 7.4.33.
 [PASS] PCRE compiled with unicode support.
 [PASS] The temporary directory and its content are writable and not executable.
 [PASS] The logs directory and its content are writable.
 [PASS] GD or Imagick extension is installed.
 [PASS] Intl extension is installed.
 [PASS] Mbstring extension is installed.

 Config files

 [PASS] The application config file is present
 [WARN] The passbolt config file is missing in /etc/passbolt/
 [HELP] Copy /etc/passbolt/passbolt.default.php to /etc/passbolt/passbolt.php
 [HELP] The passbolt config file is not required if passbolt is configured with environment variables

 Core config

 [PASS] Debug mode is off.
 [PASS] Cache is working.
 [PASS] Unique value set for security.salt
 [PASS] Full base url is set to https://passbolt.local
 [PASS] App.fullBaseUrl validation OK.
 [FAIL] Could not reach the /healthcheck/status with the url specified in App.fullBaseUrl
 [HELP] Check that the domain name is correct in config/passbolt.php
 [HELP] Check the network settings

 SSL Certificate

 [FAIL] SSL peer certificate does not validate
 [FAIL] Hostname does not match when validating certificates.
 [WARN] Using a self-signed certificate
 [HELP] Check https://help.passbolt.com/faq/hosting/troubleshoot-ssl
 [HELP] fopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known
fopen(https://passbolt.local/healthcheck/status.json): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known

 Database

 [PASS] The application is able to connect to the database
 [PASS] 26 tables found
 [PASS] Some default content is present
 [PASS] The database schema up to date.

 GPG Configuration

 [PASS] PHP GPG Module is installed and loaded.
 [PASS] The environment variable GNUPGHOME is set to /var/lib/passbolt/.gnupg.
 [PASS] The directory /var/lib/passbolt/.gnupg containing the keyring is writable by the webserver user.
 [PASS] The server OpenPGP key is not the default one
 [PASS] The public key file is defined in config/passbolt.php and readable.
 [PASS] The private key file is defined in config/passbolt.php and readable.
 [PASS] The server key fingerprint matches the one defined in config/passbolt.php.
 [PASS] The server public key defined in the config/passbolt.php (or environment variables) is in the keyring.
 [PASS] There is a valid email id defined for the server key.
 [PASS] The public key can be used to encrypt a message.
 [PASS] The private key can be used to sign a message.
 [PASS] The public and private keys can be used to encrypt and sign a message.
 [PASS] The private key can be used to decrypt a message.
 [PASS] The private key can be used to decrypt and verify a message.
 [PASS] The public key can be used to verify a signature.
 [PASS] The server public key format is Gopengpg compatible.
 [PASS] The server private key format is Gopengpg compatible.

 Application configuration

 [FAIL] Could not connect to passbolt repository to check versions It is not possible check if your version is up to date.
 [HELP] Check the network configuration to allow this script to check for updates.
 [PASS] Passbolt is configured to force SSL use.
 [PASS] App.fullBaseUrl is set to HTTPS.
 [PASS] Selenium API endpoints are disabled.
 [PASS] Search engine robots are told not to index content.
 [PASS] Registration is closed, only administrators can add users.
 [PASS] Serving the compiled version of the javascript app
 [PASS] All email notifications will be sent.

 JWT Authentication

 [PASS] The JWT Authentication plugin is enabled
 [PASS] The /etc/passbolt/jwt/ directory is not writable.
 [PASS] A valid JWT key pair was found

 SMTP Settings

 [PASS] The SMTP Settings plugin is enabled.
 [FAIL] SMTP Setting errors: The OpenPGP server key cannot be used to decrypt the SMTP settings stored in database. To fix this problem, you need to configure the SMTP server again. Decryption failed.
 [PASS] The SMTP Settings source is: database.

 [FAIL] 5 error(s) found. Hang in there!

I’ve tried adding the mail credentials again using the web console, but it’s saying this:

The OpenPGP server key cannot be used to decrypt the SMTP settings stored in database. To fix this problem, you need to configure the SMTP server again. Decryption failed.

I restarted the database and main container, I’m now able to send test emails again, but registration emails aren’t going through, and I’m not able to log into another browser using my password because of this


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

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell
-------------------------------------------------------------------------------

 Environment

 [PASS] PHP version 7.4.33.
 [PASS] PCRE compiled with unicode support.
 [PASS] The temporary directory and its content are writable and not executable.
 [PASS] The logs directory and its content are writable.
 [PASS] GD or Imagick extension is installed.
 [PASS] Intl extension is installed.
 [PASS] Mbstring extension is installed.

 Config files

 [PASS] The application config file is present
 [WARN] The passbolt config file is missing in /etc/passbolt/
 [HELP] Copy /etc/passbolt/passbolt.default.php to /etc/passbolt/passbolt.php
 [HELP] The passbolt config file is not required if passbolt is configured with environment variables

 Core config

 [PASS] Debug mode is off.
 [PASS] Cache is working.
 [PASS] Unique value set for security.salt
 [PASS] Full base url is set to https://passbolt.local
 [PASS] App.fullBaseUrl validation OK.
 [PASS] /healthcheck/status is reachable.

 SSL Certificate

 [FAIL] SSL peer certificate does not validate
 [FAIL] Hostname does not match when validating certificates.
 [WARN] Using a self-signed certificate
 [HELP] Check https://help.passbolt.com/faq/hosting/troubleshoot-ssl
 [HELP] fopen(): Peer certificate CN=`www.passbolt.local' did not match expected CN=`passbolt.local'
fopen(): Failed to enable crypto
fopen(https://passbolt.local/healthcheck/status.json): failed to open stream: operation failed

 Database

 [PASS] The application is able to connect to the database
 [PASS] 26 tables found
 [PASS] Some default content is present
 [PASS] The database schema up to date.

 GPG Configuration

 [PASS] PHP GPG Module is installed and loaded.
 [PASS] The environment variable GNUPGHOME is set to /var/lib/passbolt/.gnupg.
 [PASS] The directory /var/lib/passbolt/.gnupg containing the keyring is writable by the webserver user.
 [PASS] The server OpenPGP key is not the default one
 [PASS] The public key file is defined in config/passbolt.php and readable.
 [PASS] The private key file is defined in config/passbolt.php and readable.
 [PASS] The server key fingerprint matches the one defined in config/passbolt.php.
 [PASS] The server public key defined in the config/passbolt.php (or environment variables) is in the keyring.
 [PASS] There is a valid email id defined for the server key.
 [PASS] The public key can be used to encrypt a message.
 [PASS] The private key can be used to sign a message.
 [PASS] The public and private keys can be used to encrypt and sign a message.
 [PASS] The private key can be used to decrypt a message.
 [PASS] The private key can be used to decrypt and verify a message.
 [PASS] The public key can be used to verify a signature.
 [PASS] The server public key format is Gopengpg compatible.
 [PASS] The server private key format is Gopengpg compatible.

 Application configuration

 [FAIL] Could not connect to passbolt repository to check versions It is not possible check if your version is up to date.
 [HELP] Check the network configuration to allow this script to check for updates.
 [PASS] Passbolt is configured to force SSL use.
 [PASS] App.fullBaseUrl is set to HTTPS.
 [PASS] Selenium API endpoints are disabled.
 [PASS] Search engine robots are told not to index content.
 [PASS] Registration is closed, only administrators can add users.
 [PASS] Serving the compiled version of the javascript app
 [PASS] All email notifications will be sent.

 JWT Authentication

 [PASS] The JWT Authentication plugin is enabled
 [PASS] The /etc/passbolt/jwt/ directory is not writable.
 [PASS] A valid JWT key pair was found

 SMTP Settings

 [PASS] The SMTP Settings plugin is enabled.
 [PASS] SMTP Settings coherent. You may send a test email to validate them.
 [PASS] The SMTP Settings source is: database.

 [FAIL] 3 error(s) found. Hang in there!

Running tcpdump and looking for activity to that mail server, I can see activity instantly when I send a test email, but never see anything for the other emails.

I’m using VyOS for the container environment, is there a chance it’s not interfacing with cron correctly?
I’m seeing this in dmesg:

[4928196.739915] audit: type=1326 audit(1669745282.000:4456): auid=1003 uid=0 gid=0 ses=2046 pid=1102262 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928196.739920] audit: type=1326 audit(1669745282.000:4457): auid=1003 uid=0 gid=0 ses=2046 pid=1102261 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928196.741192] audit: type=1326 audit(1669745282.001:4458): auid=1003 uid=0 gid=0 ses=2046 pid=1102261 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928196.741206] audit: type=1326 audit(1669745282.001:4459): auid=1003 uid=0 gid=0 ses=2046 pid=1102262 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928196.741212] audit: type=1326 audit(1669745282.001:4460): auid=1003 uid=0 gid=0 ses=2046 pid=1102261 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928196.741218] audit: type=1326 audit(1669745282.001:4461): auid=1003 uid=0 gid=0 ses=2046 pid=1102262 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928231.326076] device eth0 entered promiscuous mode
[4928255.743698] audit: type=1326 audit(1669745341.006:4463): auid=1003 uid=0 gid=0 ses=2046 pid=1102288 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.743712] audit: type=1326 audit(1669745341.006:4462): auid=1003 uid=0 gid=0 ses=2046 pid=1102287 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.743720] audit: type=1326 audit(1669745341.006:4464): auid=1003 uid=0 gid=0 ses=2046 pid=1102289 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.743726] audit: type=1326 audit(1669745341.006:4465): auid=1003 uid=0 gid=0 ses=2046 pid=1102288 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.743732] audit: type=1326 audit(1669745341.006:4466): auid=1003 uid=0 gid=0 ses=2046 pid=1102287 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.743739] audit: type=1326 audit(1669745341.006:4467): auid=1003 uid=0 gid=0 ses=2046 pid=1102289 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.744983] audit: type=1326 audit(1669745341.007:4468): auid=1003 uid=0 gid=0 ses=2046 pid=1102287 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.744997] audit: type=1326 audit(1669745341.007:4469): auid=1003 uid=0 gid=0 ses=2046 pid=1102288 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.745004] audit: type=1326 audit(1669745341.007:4470): auid=1003 uid=0 gid=0 ses=2046 pid=1102289 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928255.745010] audit: type=1326 audit(1669745341.007:4471): auid=1003 uid=0 gid=0 ses=2046 pid=1102289 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.747401] kauditd_printk_skb: 2 callbacks suppressed
[4928315.747408] audit: type=1326 audit(1669745401.011:4474): auid=1003 uid=0 gid=0 ses=2046 pid=1102326 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.747418] audit: type=1326 audit(1669745401.011:4475): auid=1003 uid=0 gid=0 ses=2046 pid=1102325 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.747426] audit: type=1326 audit(1669745401.011:4476): auid=1003 uid=0 gid=0 ses=2046 pid=1102326 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.747432] audit: type=1326 audit(1669745401.011:4477): auid=1003 uid=0 gid=0 ses=2046 pid=1102325 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.748714] audit: type=1326 audit(1669745401.013:4478): auid=1003 uid=0 gid=0 ses=2046 pid=1102326 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.748728] audit: type=1326 audit(1669745401.013:4479): auid=1003 uid=0 gid=0 ses=2046 pid=1102325 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.748735] audit: type=1326 audit(1669745401.013:4480): auid=1003 uid=0 gid=0 ses=2046 pid=1102325 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928315.748741] audit: type=1326 audit(1669745401.013:4481): auid=1003 uid=0 gid=0 ses=2046 pid=1102326 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.751242] audit: type=1326 audit(1669745461.017:4483): auid=1003 uid=0 gid=0 ses=2046 pid=1102327 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.751256] audit: type=1326 audit(1669745461.017:4482): auid=1003 uid=0 gid=0 ses=2046 pid=1102328 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.751264] audit: type=1326 audit(1669745461.017:4484): auid=1003 uid=0 gid=0 ses=2046 pid=1102328 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.751270] audit: type=1326 audit(1669745461.017:4485): auid=1003 uid=0 gid=0 ses=2046 pid=1102327 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.752497] audit: type=1326 audit(1669745461.018:4486): auid=1003 uid=0 gid=0 ses=2046 pid=1102328 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.752511] audit: type=1326 audit(1669745461.018:4487): auid=1003 uid=0 gid=0 ses=2046 pid=1102327 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.752518] audit: type=1326 audit(1669745461.018:4488): auid=1003 uid=0 gid=0 ses=2046 pid=1102328 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928375.752524] audit: type=1326 audit(1669745461.018:4489): auid=1003 uid=0 gid=0 ses=2046 pid=1102327 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.754611] audit: type=1326 audit(1669745521.022:4491): auid=1003 uid=0 gid=0 ses=2046 pid=1102329 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.754625] audit: type=1326 audit(1669745521.022:4490): auid=1003 uid=0 gid=0 ses=2046 pid=1102330 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.754632] audit: type=1326 audit(1669745521.022:4492): auid=1003 uid=0 gid=0 ses=2046 pid=1102330 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.754639] audit: type=1326 audit(1669745521.022:4493): auid=1003 uid=0 gid=0 ses=2046 pid=1102329 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.755829] audit: type=1326 audit(1669745521.023:4494): auid=1003 uid=0 gid=0 ses=2046 pid=1102330 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.755844] audit: type=1326 audit(1669745521.023:4495): auid=1003 uid=0 gid=0 ses=2046 pid=1102329 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.755851] audit: type=1326 audit(1669745521.023:4496): auid=1003 uid=0 gid=0 ses=2046 pid=1102329 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000
[4928435.755857] audit: type=1326 audit(1669745521.023:4497): auid=1003 uid=0 gid=0 ses=2046 pid=1102330 comm="cron" exe="/usr/sbin/cron" sig=0 arch=c000003e syscall=41 compat=0 ip=0x7faef34db0b7 code=0x50000

I’m not too familiar with this container environment, but it seems cron is running:

root@d37b33edd86e:/usr/share/php/passbolt# supervisorctl
cron                             RUNNING   pid 132, uptime 1:09:53
nginx                            RUNNING   pid 131, uptime 1:09:53
php-fpm                          RUNNING   pid 130, uptime 1:09:53
supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail
avail  fg        pid   remove  shutdown  status  update
clear  maintail  quit  reread  signal    stop    version

supervisor> status cron
cron                             RUNNING   pid 132, uptime 1:10:02
supervisor> fg cron
==> Press Ctrl-C to exit <==
Exiting foreground
supervisor>

I have same issue on
[FAIL] SMTP Setting errors: Argument 1 passed to App\Utility\OpenPGP\Backends\Gnupg::setDecryptKeyFromFingerprint() must be of the type string, null given, called in /usr/share/php/passbolt/plugins/PassboltCe/SmtpSettings/src/Service/SmtpSettingsGetSettingsInDbService.php on line 109

Solved by add this
PASSBOLT_GPG_SERVER_KEY_FINGERPRINT
environment variable

you can get from

su -c "gpg --homedir $GNUPGHOME --list-keys --with-colons ${PASSBOLT_KEY_EMAIL:-passbolt@yourdomain.com} |grep fpr |head -1| cut -f10 -d:" -ls /bin/bash www-data"
or

$ export PASSBOLT_GPG_SERVER_KEY_FINGERPRINT="$(su -c "gpg --homedir $GNUPGHOME --list-keys --with-colons ${PASSBOLT_KEY_EMAIL:-passbolt@yourdomain.com} |grep fpr |head -1| cut -f10 -d:" -ls /bin/bash www-data)"

But from your error you need setup SMTP configuration first

Hi !

I’m not familiar at all with VyOS. Though it seems you configuration is set properly according to your health check output. So, maybe cron is not running as you said.

I know the command that needs to be run for the email in the cron jobs is the following (assuming your Passbolt server is installed in the default folder).

/usr/share/php/passbolt/bin/cron

You can try to add it in your scheduled tasks or may try to run it manually as well and see what’s going on.