How to Host Your Own Password Manager with Bitwarden on a VPS

Leave a comment on How to Host Your Own Password Manager with Bitwarden on a VPS

Managing passwords securely is one of the most important responsibilities in today’s digital world. While cloud-based password managers are convenient, some users prefer full control over their data, especially when handling business or sensitive personal credentials.

How to Host Your Own Password Manager with Bitwarden on a VPS

Bitwarden, one of the most trusted open-source password managers, offers an excellent self-hosted edition that you can deploy on your own Virtual Private Server (VPS). This gives you complete ownership of your vault, zero external reliance, and the freedom to customize the environment as needed.

Why Self-Host Bitwarden?

Hosting Bitwarden on your own VPS provides several benefits:

  • Full control over your data.
  • No third-party cloud dependency.
  • Ability to harden and customize security settings.
  • Lower long-term costs compared to paid cloud subscriptions.
  • Ideal for businesses with compliance requirements.

If you are privacy-conscious or simply enjoy managing your own infrastructure, this approach is perfect.

Step 1: Update Your System

Start by ensuring your server is up to date:

apt update && apt upgrade -y

Step 2: Install Docker and Docker Compose

Bitwarden uses Docker to run its services, so install Docker and Compose:

apt install docker.io docker-compose -y
systemctl enable docker

Verify the installation:

docker --version
docker-compose --version

Terminal Output Example:

root@racknerd-ed0eec2:~# docker --version
Docker version 28.2.2, build 28.2.2-0ubuntu1~22.04.1
root@racknerd-ed0eec2:~# docker-compose --version
docker-compose version 1.29.2, build unknown
root@racknerd-ed0eec2:~#

Step 3: Install Bitwarden Self-Hosted

Bitwarden provides an official installer script that automates the setup. Download the installation script:

curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux"
chmod +x bitwarden.sh

Now start the installation:

./bitwarden.sh install

You will be prompted to configure:

  • Domain Name: Enter the domain pointing to your VPS.
  • SSL Setup: Do you want to use Let’s Encrypt? (y/n) y

It will also prompt for an INSTALLATION ID and INSTALLATION KEY. You can obtain these by visiting https://bitwarden.com/host/ and adding your email address and preferred region.

Terminal Output Example:

Installation complete

If you need to make additional configuration changes, you can modify
the settings in ./bwdata/config.yml and then run:
`./bitwarden.sh rebuild` or `./bitwarden.sh update`

Next steps, run:
`./bitwarden.sh start`
root@racknerd-ed0eec2:~#

Step 4: Start Your Bitwarden Server

After installation, start the services:

./bitwarden.sh start

You can check that all containers are running:

docker ps

Terminal Output Example:

root@racknerd-ed0eec2:~# docker ps
CONTAINER ID   IMAGE                                      COMMAND            CREATED          STATUS                            PORTS                                                                    NAMES
154348b4d59d   ghcr.io/bitwarden/nginx:2025.11.0          "/entrypoint.sh"   54 seconds ago   Up 52 seconds (healthy)           80/tcp, 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp                     bitwarden-nginx
f4197d0cfb73   ghcr.io/bitwarden/admin:2025.11.0          "/entrypoint.sh"   About a minute ago   Up 58 seconds (health: starting)   5000/tcp                                                                 bitwarden-admin
7e30021ff7c6   ghcr.io/bitwarden/icons:2025.11.0          "/entrypoint.sh"   About a minute ago   Up About a minute (health: starting) 5000/tcp                                                                 bitwarden-icons
92fab5584a3d   ghcr.io/bitwarden/identity:2025.11.0       "/entrypoint.sh"   About a minute ago   Up About a minute (health: starting) 5000/tcp                                                                 bitwarden-identity
e42aaa200ffb   ghcr.io/bitwarden/web:2025.11.1            "/entrypoint.sh"   About a minute ago   Up About a minute (healthy)                                                                                 bitwarden-web
2d341048b51f   ghcr.io/bitwarden/mssql:2025.11.0          "/entrypoint.sh"   About a minute ago   Up About a minute (health: starting)                                                                        bitwarden-mssql
874513b30f37   ghcr.io/bitwarden/notifications:2025.11.0  "/entrypoint.sh"   About a minute ago   Up About a minute (health: starting) 5000/tcp                                                                 bitwarden-notifications
953c855bac16   ghcr.io/bitwarden/api:2025.11.0            "/entrypoint.sh"   About a minute ago   Up About a minute (health: starting) 5000/tcp                                                                 bitwarden-api
a33565543e0a   ghcr.io/bitwarden/sso:2025.11.0            "/entrypoint.sh"   About a minute ago   Up About a minute (health: starting) 5000/tcp                                                                 bitwarden-sso
b17439cddda5   ghcr.io/bitwarden/events:2025.11.0         "/entrypoint.sh"   About a minute ago   Up About a minute (health: starting) 5000/tcp                                                                 bitwarden-events
7de77cbed4cb   ghcr.io/bitwarden/attachments:2025.11.0    "/entrypoint.sh"   About a minute ago   Up About a minute (healthy)                                                                                 bitwarden-attachments
root@racknerd-ed0eec2:~#

If everything looks good, open your browser and visit: https://yourdomainname.tld. You should now see the Bitwarden web interface.

Step 5: Create an Admin Account

Click Create Account and set up your first user. Once logged in, go to the admin panel at:

https://yourdomainname.tld/admin

You will be prompted to enter your email address to log in and receive a secure login link.

Step 6: Install Clients

Bitwarden supports:

  • Browser extensions (Chrome, Firefox, Edge, etc.)
  • Desktop apps (Linux, macOS, Windows)
  • Mobile apps (Android, iOS)
  • Terminal CLI

When logging into any client, click the settings gear icon and under “Environment”, select Self-hosted environment and enter your server URL. You now have a fully private password manager synced across all devices!

Conclusion

By hosting Bitwarden on your own VPS, you gain total sovereignty over your password vault, the ability to scale as needed, and a secure private solution that rivals top commercial services. With Docker and Bitwarden’s streamlined installation script, deployment takes less than 30 minutes even for beginners.


📺 Watch the Video Tutorial on RackNerdTV

If you enjoy self-hosting privacy-focused applications, check out our tutorial on setting up OpenClaw, a private AI assistant server, via the RackNerdTV YouTube channel:

At RackNerd, you can deploy a Linux VPS with the flexibility and root-level access needed to host your own secure password manager and manage your environment seamlessly. If you prefer standard website hosting for public-facing sites, check out our shared web hosting plans.

👉 Visit https://racknerd.com to learn more about our hosting solutions.

Server Hosting Solutions by RackNerd:

Shared Hosting
cPanel Web Hosting in US, Europe, and Asia datacenters
Logo
Reseller Hosting
Create your new income stream today with a reseller account
Logo
VPS (Virtual Private Server)
Fast and Affordable VPS services - Instantly Deployed
Logo
Dedicated Servers
Bare-metal servers, ideal for the performance-demanding use case.
Logo

Leave a comment

Your email address will not be published. Required fields are marked *