vaultwarden/server:latest image with DOMAIN="https://vault.example.com", a ./vw-data volume and the port published on 127.0.0.1:8000. Put Nginx with a Let’s Encrypt certificate in front, because the web vault only works over HTTPS. Create your account, then set SIGNUPS_ALLOWED=false.
What is Vaultwarden?
Vaultwarden is an unofficial, lightweight server that implements the Bitwarden client API. The official Bitwarden apps, browser extensions and the bundled web vault work with it. It is not made or supported by Bitwarden, Inc.: the Vaultwarden project asks you to report problems to them, not to Bitwarden support.Before you start
- HTTPS is required. The web vault uses the browser’s Web Crypto API, which only works in a secure context. Over plain
http://it does not work. - Point a subdomain such as
vault.example.comat your server. See point a domain to your server. - Install Docker and Nginx. The commands use
sudo; leave it out if you areroot. - A password vault is a high-value target. Follow the Linux server security checklist first.
How to install Vaultwarden with Docker Compose
1
Create a project folder
2
Create compose.yaml
This is the official compose example with your domain filled in:
DOMAIN must be the exact https:// address you will use. 127.0.0.1:8000 means only Nginx on the same server can reach the container. SIGNUPS_ALLOWED is true for now so you can create your account.3
Start it
How to set up HTTPS for Vaultwarden with Nginx
1
Create the Nginx site
Create The
/etc/nginx/sites-available/vault.example.com (Ubuntu / Debian) or /etc/nginx/conf.d/vault.example.com.conf (AlmaLinux / Rocky). This is based on the Vaultwarden Nginx example:Upgrade headers let WebSocket notifications through, so clients sync changes straight away. If another site already defines a map $http_upgrade block, keep only one.2
Enable, test and reload
sudo setsebool -P httpd_can_network_connect 1 so SELinux lets Nginx reach the container.3
Get a certificate
How to create your account and disable sign-ups
1
Create your account
Open
https://vault.example.com, click Create account and choose a long master password. Vaultwarden cannot recover a lost master password.2
Turn off public registration
In Anyone who can reach your server could otherwise register.
compose.yaml, change SIGNUPS_ALLOWED: "true" to SIGNUPS_ALLOWED: "false", then recreate the container:3
Turn on two-step login
In the web vault, open your account’s security settings and set up two-step login, for example with an authenticator app.
How to check it worked
Up, and curl returns a 200 status line. Log in from a Bitwarden app: on the login screen, choose the self-hosted option and enter https://vault.example.com as the server URL.
How to back up Vaultwarden
All data is in./vw-data. The files that matter are db.sqlite3 (the database), the attachments folder, config.json (if you used the admin page) and the rsa_key* files. Make a consistent copy of the database with the built-in command:
vw-data folder off the server, ideally encrypted. See encrypted backups with restic and the official backup guide.
How to update Vaultwarden
Bitwarden apps update themselves, so keep Vaultwarden current to avoid client errors. Back up first, then:Frequently asked questions
Is Vaultwarden the same as Bitwarden?
No. Vaultwarden is a separate, community-built server that is compatible with the official Bitwarden clients. Bitwarden’s own self-hosted server is a different product.Why does the web vault show an error over HTTP?
The web vault needs a secure context for the Web Crypto API. Serve it over HTTPS with a valid certificate.How do I add family or team members after disabling sign-ups?
Create an organization and invite them, or enable the admin page and invite them there. WithSIGNUPS_ALLOWED=false, organization owners and admins can still invite users.
How much RAM does Vaultwarden need?
The project does not publish a minimum. It is written in Rust and is designed for self-hosting where the resource-heavy official Bitwarden server would not be ideal.Related guides
VPS and dedicated server guides
Every guide in this section.
Nginx reverse proxy
How proxying to a local port works.
Back up Docker volumes
Copy container data safely.
Secure Docker on a VPS
Keep container ports private.
Linux server security checklist
Harden the server first.
Checked against the official Vaultwarden README and wiki on 4 November 2026 (image
vaultwarden/server:latest); compose.yaml validated with docker compose config and the Nginx configuration syntax-tested on Ubuntu 24.04 LTS. Menu names in the Bitwarden clients can change between releases.Need Extra Help?
If you encounter any issues, our support team is ready to assist:- Live Chat: Quick assistance via our website.
- Support Ticket: Open a Ticket
- Discord: Join our Community
- Email: support@freakhosting.com
Last Updated: November 2026