# Running Passbolt in Docker on Ubuntu Server

## Installing Docker

1. Log into the Linux host and run the following commands in a terminal window
   # update software respositories
   sudo apt update
   # install available software updates
   sudo apt upgrade -y
   # install prerequisites
   sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
   # add docker gpg key
   curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
   # add docker apt repository
   sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
   # install docker
   sudo apt install docker-ce docker-compose containerd.io -y
   # add the current user to the docker group
   sudo usermod -aG docker $USER
   # reauthenticate for the new group membership to take effect
   su - $USER

## Running Passbolt Container

1. Continue with the following commands in a terminal window
   # create working directories
   mkdir /home/$USER/docker/passbolt -p && mkdir /home/$USER/docker/mariadb -p
   # set owner of working directories
   sudo chown "$USER":"$USER" /home/"$USER"/docker -R
   # run the mariadb docker container
   docker run --name mariadb -e MYSQL_ROOT_PASSWORD=r00tp@$$ -e MYSQL_USER=passbolt_rw -e MYSQL_PASSWORD=p@$$b0lt -e MYSQL_DATABASE=passbolt -v /home/$USER/docker/mariadb:/var/lib/mysql -p 3306:3306 -d mariadb
   # run the passbolt docker container, replace 10.10.27.11 with your docker host IP address
   docker run --name passbolt -p 8081:80 -e DATASOURCES_DEFAULT_HOST=10.10.27.11 -e DATASOURCES_DEFAULT_PASSWORD=p@$$b0lt -e DATASOURCES_DEFAULT_USERNAME=passbolt_rw -e DATASOURCES_DEFAULT_DATABASE=passbolt -d passbolt/passbolt
   # create an admin user account
   docker exec passbolt su -m -c "bin/cake passbolt register_user -u i12bretro@i12bretro.local -f i12bretro -l
   i12bretro -r admin" -s /bin/sh www-data
2. Copy the registration link generated
3. Open a web browser and navigate to http://DNSorIP:8081/<registration link copied above>
4. The Passbolt setup screen should be displayed
5. Enter a passphrase
6. Click the download button to download the key and store it in a safe place > Click the Next button
7. Set a color and 3 letter security token > Click the Next button
8. Follow the steps to install the Passbolt browser extension
9. Click the link to refresh after installing the extension
10. Welcome to Passbolt Password Vault running in a Docker container

Source: https://help.passbolt.com/hosting/install/ce/docker, https://hub.docker.com/r/passbolt/passbolt