Bitwarden setup guide

Bitwarden registration

Get Bitwarden id and key at: https://bitwarden.com/host/

Save id and key somewhere

Create smtp e-mail account

Write down:

e-mail address

username(if required)

password

smtp server hostname

smtp port

SSL required?

Cloud setup

Create VPS/Instance

Set up DNS (create A record)

Install updates

sudo apt update && sudo apt upgrade

Firewall rules

Allow firewall rules (can be through cloud if provider allows. Ex. AWS, Azure)

sudo ufw allow 22

sudo ufw allow 80

sudo ufw allow 443

Installing Bitwarden

Install docker, docker compose

sudo apt update

sudo apt install ca-certificates curl gnupg lsb-release

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Create user for Bitwarden and set password

sudo adduser bitwarden

sudo passwd bitwarden

Create docker group if it doesn't exist yet, and add Bitwarden user to docker group

sudo groupadd docker

sudo usermod -aG docker bitwarden

sudo usermod -aG sudo bitwarden

Create Bitwarden directory

sudo mkdir /opt/bitwarden

Set permissions on directory

sudo chown -R bitwarden:bitwarden /opt/bitwarden

sudo chmod -R 700 /opt/bitwarden

Install Bitwarden

sudo su bitwarden

cd /opt/bitwarden

sudo curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && sudo chmod 700 bitwarden.sh

sudo ./bitwarden.sh install

Run through setup

Enter domain name created

Use Let's Encrypt? Yes, unless other certificate should be used.

Enter installation ID

Enter installation key

SSL cert to use? (Only prompted when no Let's Encrypt)

Generate cert? (Only prompted when no Let's Encrypt)

Set-up e-mail

sudo vim bwdata/env/global.override.env

globalSettings__mail__smtp__host=x.y.z

globalSettings__mail__smtp__port=587

globalSettings__mail__smtp__ssl=true

globalSettings__mail__smtp__username=xxxxx

globalSettings__mail__smtp__password=xxxxx

globalSettings__mail__replyToEmail=xxxxx

Last updated