How to Self-Host Vaultwarden on a VPS (2026)
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% offWhy 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
- A VPS running Ubuntu 24.04 (1GB RAM is plenty)
- Docker installed
- A domain name pointed at your VPS (Vaultwarden requires HTTPS)
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