The story behind the repository setup scripts

Hello there,

Let me tell you the story behind the passbolt repository setup scripts.

This repository contains bash scripts to configure a vanilla Linux server in order to setup passbolt CE/PRO with Linux package.

When I worked at passbolt as support engineer, the main topic for me was to try to understand users issues and find a solution to fix them. For that, I had to reproduce users environments on my laptop.

I first created 3 virtual machines with CentOS, Debian and Ubuntu (the main used OS for passbolt at that time), installed passbolt following the documentation and tried to reproduce users issues.

It was not a good solution because I could have in the same day 3 Debian users with 3 different problems and I quickly understood than debugging issue from user #1 on my virtual machine could interfer the issue from user #2 and #3 and vice versa. And I was forced to reset my VM. Manage snapshots was a nightmare.

So to help users in the best way, I had to rebuild the environment from scratch each time.

It was very, very, very painful for me to do that, as I had to follow this heavy documentation.

I always made mistakes, or forgot some steps, that’s why I first wrote a bash script to perform the full passbolt PRO setup on Debian.

Since that time, I was able to quickly build passbolt pro on Debian. I just had to launch the script on a vanilla server and after one minute, I got the first admin url to setup my private key, as you can see in the below video animation:

I added the CE flavour of passbolt, then Ubuntu 20.04, then Debian 10 and 11 support, I made it customizable by adding some options… Max revealed me also how to inject demo data so I included this knowledge in the script.

Finally this script has grown and grown as I used it for my daily work at passbolt and is now compatible with all Linux distributions where you can install the passbolt package.

For the ones interested, you can find this script on this gitlab repository: AnatomicJC / passbolt-setup · GitLab

I told above I always made mistakes by following the installation instructions, and it was the same for users and customers. That’s why Max had the idea of replacing the steps from documentation with a script to be downloaded and launched on their server, to make passbolt easier to setup. Here is how repository setup scripts were born: I extracted some code from the passbolt-setup scripts to create them

I hope you enjoyed this story.

Take care of yourself.