Passbolt/passbolt docker container is crashing immediately with Synology Docker

Hello everybody,

After the LastPass security breach I decided to switch my password manager.
But I’m not able to install the official passbolt/passbolt Docker container on my Synology NAS. The container is crashing immediately after startup with the message “Docker container passbolt stopped unexpectedly”.

Checklist
I have read intro post: About the Installation Issues category
I have read the tutorials, help and searched for similar issues
I provide relevant information about my server (component names and versions, etc.)
Synology running DSM 7.1.1-42962 Update 1 with Docker 20.10.3-1308
I provide a copy of my logs and healthcheck

  Your entropy pool is low. This situation could lead GnuPG to not
  be able to create the gpg serverkey so the container start process will hang
  until enough entropy is obtained.
  Please consider installing rng-tools and/or virtio-rng on your host as the
  preferred method to generate random numbers using a TRNG.
  If rngd (rng-tools) does not provide enough or fast enough randomness you could
  consider installing haveged as a helper to speed up this process.
  Using haveged as a replacement for rngd is not recommended. You can read more
  about this topic here: https://lwn.net/Articles/525459/
==================================================================================
gpg: keybox '/var/lib/passbolt/.gnupg/pubring.kbx' created
gpg: /var/lib/passbolt/.gnupg/trustdb.gpg: trustdb created
gpg: key E3693E224B854864 marked as ultimately trusted
gpg: directory '/var/lib/passbolt/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/var/lib/passbolt/.gnupg/openpgp-revocs.d/EE5D2EDE34EE19E69663565AE3693E224B854864.rev'
gpg: key E3693E224B854864: "Passbolt default user <passbolt@yourdomain.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg: key E3693E224B854864: "Passbolt default user <passbolt@yourdomain.com>" not changed
gpg: key E3693E224B854864: secret key imported
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:  secret keys unchanged: 1
Generating a RSA private key
.......................++++
............++++
writing new private key to '/etc/ssl/certs/certificate.key'
-----
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
Installing passbolt
     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   
 Open source password manager for teams
-------------------------------------------------------------------------------
Running baseline checks, please wait...
Notice Error: Undefined index: message
In [/usr/share/php/passbolt/src/Utility/Healthchecks/DatabaseHealthchecks.php, line 72]
2023-01-08 08:41:25 notice: Notice (8): Undefined index: message in [/usr/share/php/passbolt/src/Utility/Healthchecks/DatabaseHealthchecks.php, line 72]
Exception: Connection to Mysql could not be established: SQLSTATE[HY000] [2002] No such file or directory
In [/usr/share/php/passbolt/vendor/cakephp/cakephp/src/Database/Driver.php, line 133]
Running migrations

I describe the steps I have taken to trouble shoot the problem
I have installed the mariaDB app to my Synology. Root password set.
Database variables added to passbolt Docker container:

{
   "CapAdd" : [],
   "CapDrop" : [],
   "cmd" : "/docker-entrypoint.sh",
   "cpu_priority" : 50,
   "enable_publish_all_ports" : false,
   "enable_restart_policy" : true,
   "enable_service_portal" : true,
   "enabled" : false,
   "env_variables" : [
      {
         "key" : "PATH",
         "value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      },
      {
         "key" : "PASSBOLT_PKG_KEY",
         "value" : "0xDE8B853FC155581D"
      },
      {
         "key" : "PHP_VERSION",
         "value" : "7.4"
      },
      {
         "key" : "GNUPGHOME",
         "value" : "/var/lib/passbolt/.gnupg"
      },
      {
         "key" : "PASSBOLT_FLAVOUR",
         "value" : "ce"
      },
      {
         "key" : "PASSBOLT_PKG",
         "value" : "passbolt-ce-server"
      },
      {
         "key" : "DATASOURCES_DEFAULT_PASSWORD",
         "value" : "mypass"
      },
      {
         "key" : "DATASOURCES_DEFAULT_PORT",
         "value" : "3306"
      },
      {
         "key" : "DATASOURCES_DEFAULT_HOST",
         "value" : "localhost"
      },
      {
         "key" : "DATASOURCES_DEFAULT_USERNAME",
         "value" : "root"
      },
      {
         "key" : "DATASOURCES_DEFAULT_DATABASE",
         "value" : "passbolt"
      }
   ],
   "exporting" : false,
   "id" : "c53b7ee66aa14d680b59f335de1cbd67585b83b9032a23cacc29e5b3de44f769",
   "image" : "passbolt/passbolt:latest",
   "is_ddsm" : false,
   "is_package" : false,
   "links" : [],
   "memory_limit" : 0,
   "name" : "passbolt",
   "network" : [
      {
         "driver" : "bridge",
         "name" : "bridge"
      }
   ],
   "network_mode" : "bridge",
   "port_bindings" : [],
   "privileged" : true,
   "service_portals" : [
      {
         "port" : "80",
         "protocol" : "http"
      }
   ],
   "services" : [
      {
         "display_name" : "Docker passbolt 80",
         "id" : "Docker-c53b7ee66aa14d680b59f335de1cbd67585b83b9032a23cacc29e5b3de44f769-80",
         "proxy_target" : "http://172.17.0.7:80",
         "service" : "Docker-c53b7ee66aa14d680b59f335de1cbd67585b83b9032a23cacc29e5b3de44f769-80",
         "type" : "reverse_proxy"
      }
   ],
   "shortcut" : {
      "enable_shortcut" : false,
      "enable_status_page" : false,
      "enable_web_page" : false,
      "web_page_url" : ""
   },
   "use_host_network" : false,
   "volume_bindings" : []
}

Container reseted.

I describe the steps on how to reproduce the issue
I would be happy to get some help from your side.
Thank you in advance!

Hi @Brovning Welcome to the forum!

A recent thread with the same error, maybe helpful: SQLSTATE[HY000] [2002] Connection timed out

1 Like

Hello @garrett ,

Thank you for the hint!
The solution was “DATASOURCES_DEFAULT_HOST”.
I have had to set DATASOURCES_DEFAULT_HOST=IP_of_my_Synology, because I’m using the MariaDB app of the Synology App-Store.

2 Likes