Install Passbolt on Debian 12 (Bookworm)
Prerequisites
For this tutorial, you will need:
- A minimal Debian 12 server.
- A domain / host name pointing to your server, or at least being able to reach your server through a static IP address.
- A working SMTP server for email notifications
- A working NTP service to avoid GPG authentication issues
The recommended server requirements are:
- 2 cores
- 2GB of RAM
FAQ pages:
It is important that you use a vanilla server with no other services or tools already installed on it. The install scripts could potentially damage any existing data on your server.
If you are going to manually provision SSL certificates you may want to do that before beginning!
Package repository setup
For easier installation and update tasks Passbolt provides a package repository that you need to setup before you download Passbolt CE and install it.
Step 1. Download our dependencies installation script:
curl -LO https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh
Step 2. Download our SHA512SUM for the installation script:
curl -LO https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt
Step 3. Ensure that the script is valid and execute it:
sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh
Install passbolt official linux package
sudo apt install passbolt-ce-server
Configure mariadb
If you prefer installing passbolt with Postgres, you can follow our dedicated configuration guide.
If not instructed otherwise passbolt Debian package will install mariadb-server locally. This step will help you create an empty mariadb database for passbolt to use.

The configuration process will ask you for the credentials of the
mariadb admin user to create a new database. By default in most
installations the admin username would be root
and the password
would be empty.


Now we need to create a mariadb user with reduced permissions for passbolt to connect. These values will also be requested later on the webconfiguration tool of passbolt so please keep them in mind.


Lastly we need to create a database for passbolt to use, for that we need to name it:

Configure nginx for serving HTTPS
Depending on your needs there are two different options to setup nginx and TLS (SSL) using the package: