← Back to Blog

How to Self-Host Vaultwarden on a VPS (2026)

Published May 4, 2026  ·  6 min read  ·  Galaxy Cloud Solutions

Vaultwarden is an unofficial Bitwarden server written in Rust. It is lightweight, compatible with all official Bitwarden apps, and runs on hardware that a full Bitwarden server would struggle with. The result is a fully functional password manager — browser extensions, mobile apps, sharing, and all — running on your own server for the cost of a $5 VPS.

⚡ Deploy a VPS from $5/mo — Use code LAUNCH2026 for 50% off

Why Self-Host a Password Manager?

The obvious answer is privacy — your passwords never leave your infrastructure. But there is a practical angle too. 1Password costs $36 a year per person. Bitwarden's hosted plan is $10 a year per person. Self-hosted Vaultwarden is free after the VPS cost, and a $5 VPS can serve a small team or family indefinitely.

What You Need

Step 1: Install Docker

curl -fsSL https://get.docker.com | bash
sudo systemctl enable --now docker

Step 2: Run Vaultwarden

docker run -d --name vaultwarden   -v /opt/vaultwarden:/data   -p 8080:80   --restart unless-stopped   vaultwarden/server:latest

Step 3: Set Up a Reverse Proxy With SSL

Vaultwarden requires HTTPS. Install Nginx and Certbot:

sudo apt install -y nginx certbot python3-certbot-nginx

Create an Nginx config:

sudo tee /etc/nginx/sites-available/vaultwarden << 'EOF'
server {
    listen 80;
    server_name vault.yourdomain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF
sudo ln -s /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d vault.yourdomain.com

Step 4: Create Your Account

Open https://vault.yourdomain.com in your browser and create an account. By default, Vaultwarden allows new registrations. Once you have created your admin account, disable registration so nobody else can sign up:

docker stop vaultwarden
docker run -d --name vaultwarden   -v /opt/vaultwarden:/data   -p 8080:80   -e SIGNUPS_ALLOWED=false   --restart unless-stopped   vaultwarden/server:latest

Step 5: Set Up the Bitwarden Apps

Download the official Bitwarden browser extension or mobile app. During login, click the settings icon and change the server URL to https://vault.yourdomain.com. Log in with the account you just created. Everything works exactly like the hosted Bitwarden service.

Keeping It Updated

docker pull vaultwarden/server:latest
docker stop vaultwarden && docker rm vaultwarden
# Run the same docker run command as above

One-click Vaultwarden installer included

Galaxy Cloud Solutions VPS plans include a one-click Vaultwarden installer in the dashboard. Deploy a VPS, click install, and your password manager is running. Plans from $5/mo — use code LAUNCH2026 for 50% off.

Get Started