
Self-hosting Vaultwarden the easy way
Yulei ChenVaultwarden is a lightweight, open-source server implementation of the Bitwarden password manager, written in Rust. It's fully compatible with all official Bitwarden clients (browser extensions, mobile apps, desktop apps) but uses a fraction of the resources. If you're tired of paying for Bitwarden's premium plans or you just want full control over your passwords, self-hosting Vaultwarden is the way to go.
Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Vaultwarden up and running in minutes, complete with HTTPS, persistent storage, and no infrastructure to maintain.
Want to learn more about why self-hosting your password manager makes sense? Check out How I Self Host VaultWarden Without Dealing With Servers for a deeper look at the motivation and trade-offs.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server. If you just signed up you get a 48-hour free trial server
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's Vaultwarden preset. Here's what it includes:
- Alpine-based image (
vaultwarden/server:1.21.0-alpine) for a small footprint - Specific version tag for stability (check Docker Hub for newer versions)
- Persistent storage mounted to
/datafor your vault database and attachments DOMAINautomatically set to your Sliplane service URLADMIN_TOKENpre-generated for secure access to the admin panelSIGNUPS_ALLOWEDset totrueby default so you can create your first account
Next steps
Once Vaultwarden is running, access it using the domain Sliplane provided (e.g. vaultwarden-xxxx.sliplane.app).
Create your account
Vaultwarden has no default credentials. When you open the web vault for the first time, click Create Account to register your user. After creating your account, consider setting SIGNUPS_ALLOWED to false in your service's environment variables to prevent anyone else from registering.
Admin panel
The preset includes a pre-generated ADMIN_TOKEN. To access the admin panel, go to https://your-domain.sliplane.app/admin and enter the token. You can find and change it in your service's environment variables on Sliplane.
The admin panel lets you manage users, invite new ones, view diagnostics, and configure Vaultwarden settings without touching config files.
Environment variables
Here are some useful environment variables you might want to customize:
| Variable | Description | Default |
|---|---|---|
DOMAIN | The full URL of your instance | Set by preset |
SIGNUPS_ALLOWED | Allow new user registrations | true |
ADMIN_TOKEN | Token for the /admin panel | Generated |
PUSH_ENABLED | Enable push notifications for Bitwarden clients | false |
PUSH_INSTALLATION_ID | Bitwarden push relay installation ID | (empty) |
PUSH_INSTALLATION_KEY | Bitwarden push relay installation key | (empty) |
To enable push notifications, you need to get an installation ID and key from Bitwarden's hosting setup page. This is optional but improves sync speed across clients.
Logging
Vaultwarden logs to STDOUT by default, which works well with Sliplane's built-in log viewer. You can set the LOG_LEVEL environment variable to debug or warn to control verbosity. For general Docker log tips, check out our post on how to use Docker logs.
Backups
All Vaultwarden data (the SQLite database, attachments, and config) lives in the /data volume. Sliplane handles volume persistence, but you should also consider regular backups of your vault. Check out 4 Easy Ways to Backup Docker Volumes for strategies that work with Sliplane.
Cost comparison
Of course you can also self-host Vaultwarden with other cloud providers. Here is a pricing comparison for the most common ones:
| Provider | vCPU Cores | RAM | Disk | Estimated Monthly Cost | Notes |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 | charge per server |
| Render | 1 | 2 GB | 40 GB | ~$35-$45 | VM Small |
| Fly.io | 2 | 2 GB | 40 GB | ~$20-$25 | VM + volume |
| Railway | 2 | 2 GB | 40 GB | ~$15-$66 | Usage-based |
FAQ
What's the difference between Vaultwarden and Bitwarden?
Vaultwarden is an unofficial, lightweight reimplementation of the Bitwarden server API written in Rust. It's designed for self-hosting and uses significantly fewer resources than the official Bitwarden server (which requires MSSQL and several .NET services). All official Bitwarden clients work with Vaultwarden out of the box.
How do I connect the Bitwarden apps to my Vaultwarden instance?
In any Bitwarden client (browser extension, mobile app, desktop app), click the gear icon or go to settings before logging in. Set the Server URL to your Sliplane domain (e.g. https://vaultwarden-xxxx.sliplane.app). Then log in with the account you created.
How do I update Vaultwarden?
Change the image tag in your service settings on Sliplane and redeploy. Check Docker Hub for the latest stable version. The 1.21.0-alpine tag was current at the time of writing.
Can I use Vaultwarden with my own domain?
Yes. Sliplane supports custom domains with automatic HTTPS. Go to your service settings, add your domain, and point your DNS to the provided CNAME record.
Is Vaultwarden secure enough for production use?
Vaultwarden uses the same end-to-end encryption as Bitwarden. All encryption and decryption happens on the client side, so even if someone accessed your server, they couldn't read your data without your master password. That said, keep your instance updated, use a strong admin token, and disable signups once your users are registered. For more server hardening tips, check out 5 Easy Steps to Secure Your Server.