4-Bitwarden - Selfhost Password Manager

Source

Today I will show you guys how to install and configure a selfhost password manager.
I choose to Bitwarden since it is pretty popular and it’s free but you can search for other alternative
I use the sources below as reference

Requirement

https://bitwarden.com/help/install-on-premise-linux/

Install Bitwarden

Pre-config

  • Run system update
apt update
  • Set System Domain Name
hostnamectl set-hostname <domainname>(thhoang.com)

Install Docker CE

  • Install Require packet
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  • Install Docker repository GPG signing key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • Install Docker repository
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker-ce.list
  • Update package cache
apt update
  • Install Docker CE and other tools
apt install docker-ce docker-ce-cli containerd.io
  • Check Docker version
docker version

Install Docker Compose

  • Install Docker Compose
sudo apt install docker-compose
  • Check Docker Compose version
docker-compose version

Install Bitwarden

  • Download Bitwarden Installation Script
apt install curl
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh
  • Make the Script executable
chmod +x bitwarden.sh
  • Install Bitwarden password manager
./bitwarden.sh install
  • Enter domain and database name

  • Enter your email in https://bitwarden.com/host/ to get the ID and Key

  • Copy your installation ID and Key

  • Do you have a SSL Certificate to use : n

  • Do you want to generate a self-signed SSL certificate : y

  • Run Bitwarden Manager. It may take a while to complete

./bitwarden.sh start

  • Check Bitwarden container
docker ps

Using Bitwarden on Browser

  • Access Bitwarden Using Web interface.

  • Register

  • Log in sucessful

Using Bitwarden Extension

  • Install Bitwarden extension

  • Set up IP of selfhost server

  • Log In using credential