Password manager
Vaultwarden VPS requirements: the smallest server that works
Vaultwarden is an unofficial, Bitwarden-compatible password manager server written in Rust. It works with the official Bitwarden apps and browser extensions, and it is built for self-hosters who don't want to run the official, much heavier Bitwarden server. The project publishes no minimum hardware spec. Reported idle RAM is tens of megabytes, so the cheapest VPS plan is usually enough. The things that actually go wrong on small servers are building from source, a backup bug in some older releases, and security mistakes.
Sizing guide
Our recommendations, derived from the sourced figures below. Not measurements.
| Scenario | RAM | vCPU | Why |
|---|---|---|---|
| Personal or family vault, Vaultwarden on its own | 1 GB (the smallest plan we track) | 1 | Reported idle use is 30–58 MB in a container, and one user ran 2 people for years on a 1 GB VPS. The OS, Docker and a reverse proxy use more than Vaultwarden does. One Reddit user says it runs in a 256 MB container, but we track no plans under 1 GB. |
| Family or small team, maintainer's comfortable spec | 1 GB | 2 | The maintainer's suggestion for a family VPS. A second vCPU helps logins, which run 600,000 server-side hashing iterations by default, and keeps the vault responsive while the OS or other containers are busy. |
| Vaultwarden next to other apps | Budget about 0.5 GB for it | Whatever the other apps need | Vaultwarden is rarely what sizes the server. Size for the heavy apps (see related pages) and add a small allowance. Very large vaults are the exception: one 6,000-item vault was reported at 1 GB. |
Official requirements
| Item | What the project says | Source |
|---|---|---|
| Hardware requirements | None published. The README describes Vaultwarden as "perfect for self-hosted deployment where running the official resource-heavy service might not be ideal" | Vaultwarden README checked Oct 24, 2026 |
| Running RAM vs building RAM | "Building the Vault needs ~1.5GB of RAM" (the web vault, when you build from source); "running vaultwarden with vault needs only about 10MB of RAM". On 1 GB machines, enable swap or build elsewhere | Vaultwarden wiki: Building binary checked Oct 24, 2026 |
| Database | One image supports SQLite, MySQL and PostgreSQL. "The SQLite backend is the most widely used/tested, and recommended for most users". With SQLite there is no separate database server to run | Vaultwarden wiki: Which container image to use checked Oct 24, 2026 |
| CPU architectures | Multi-arch image; the wiki's compatibility table lists x86_64 servers, Raspberry Pi Zero/1 (armv6) through Pi 5 (arm64), Synology, QNAP and Oracle Cloud Ampere (arm64) | Vaultwarden wiki: Which container image to use checked Oct 24, 2026 |
| HTTPS | The web vault needs HTTPS (a secure context for the Web Crypto API); the project recommends a reverse proxy rather than Rocket's built-in TLS | Vaultwarden README checked Oct 24, 2026 |
| Workers | Vaultwarden spawns 2 × CPU cores request workers by default; the Docker image raises this to 10. Change it with ROCKET_WORKERS | Vaultwarden wiki: Changing the number of workers checked Oct 24, 2026 |
| Server-side password hashing | PASSWORD_ITERATIONS defaults to 600000 server-side hashing iterations for new users, run at login; DATABASE_MAX_CONNS defaults to 10; API requests are capped at 10 MB by default | Vaultwarden .env.template checked Oct 24, 2026 |
| What's on disk | Everything lives in the data folder: db.sqlite3 (plus -wal/-shm), attachments/, sends/, config.json, rsa_key.* and icon_cache/. Attachments are separate files, so they are what grows | Vaultwarden wiki: Backing up your vault checked Oct 24, 2026 |
| Official Bitwarden standard server | Minimum x64 1.4 GHz, 2 GB RAM, 12 GB storage; recommended x64 2 GHz dual core, 4 GB RAM, 25 GB storage. Ships with an MSSQL Express container | Bitwarden help: Linux Standard Deployment checked Oct 24, 2026 |
| Official Bitwarden lite | At least 200 MB RAM and 1 GB storage, single Docker image, for personal use and home labs (renamed from Bitwarden Unified in December 2025) | Bitwarden help: Lite Deployment checked Oct 24, 2026 |
What people report in practice
Individual reports, not controlled tests. Versions, hardware and settings differ, so treat these as data points, not guarantees.
-
A Vaultwarden maintainer suggested 2 vCPUs and 1 GB RAM for a family VPS, adding: "In theory Vaultwarden can do with less then 100MB by it self." More CPU and storage are the only upgrades likely to help
Answer by maintainer BlackDex to a question about a family instance, Jan 2024
Forum Vaultwarden forum: Hardware requirements · checked Oct 24, 2026
-
Idle: Vaultwarden 42 MB RAM and almost zero CPU, image about 168 MB. The same data on Bitwarden lite plus MariaDB idled at about 850 MB (771 MB app + 95 MB database), with images totalling about 2.08 GB
vaultwarden/server:1.35.4-alpine with SQLite, single container; the author's own before-and-after migration
Blog Ananta Fatur: Bitwarden vs Vaultwarden resource comparison · checked Oct 24, 2026
-
Idle on Ubuntu 24.04 with one user and a small vault: Vaultwarden (SQLite) 58 MB in 1 container, Bitwarden lite + MariaDB 470 MB in 2, Bitwarden standard (MSSQL) about 2,400 MB in 12
docker stats --no-stream on a 4 GB box; a hosting company's article, so the comparison is theirs, not ours
Blog SSD Nodes: Vaultwarden vs Bitwarden self-hosted server · checked Oct 24, 2026
-
30 MiB RAM and 0.00% CPU on a server with 473.6 MiB of memory available
vaultwarden/server:latest behind Caddy; one docker stats sample in a setup write-up
Blog Stanislav Myachenkov: Selfhosting Vaultwarden Password Manager · checked Oct 24, 2026
-
Replies to "is 4 GB enough?": one user ran Vaultwarden "for a few years" on a cheap 1 GB VPS for 2 users; another saw about 35 MB in an LXC container; another runs it with six other services on a 1 GB Raspberry Pi 3B+ at 65% memory use
r/selfhosted thread, Mar 2026; individual reports, no versions given
Reddit Reddit r/selfhosted: Vaultwarden - 4gb of RAM · checked Oct 24, 2026
-
With about 6,000 stored passwords, the Vaultwarden process used 1 GB and sometimes more. The maintainer replied that large vaults, favicon downloads and database connections could contribute, and suggested the Alpine image, which uses a different memory allocator
GitHub discussion, Sep 2024, Docker vaultwarden/server:latest on a 4 vCPU / 4 GB VPS; no root cause posted
GitHub GitHub dani-garcia/vaultwarden discussion #4981: High memory usage on a 4 vCPU 4 GB VPS · checked Oct 24, 2026
-
Building Vaultwarden from source (cargo build --release) needed at least 7 GB RAM, so updates failed on 8 GB home-lab machines. Reported runtime afterwards: about 400 MB as a Debian 13 native build, about 15 MB as Alpine native, about 65 MB in Docker Alpine
Proxmox community-scripts maintainers, Sep 2025; their install script compiles from source
GitHub GitHub dani-garcia/vaultwarden #6314: Excessive RAM requirements for builds · checked Oct 24, 2026
-
The built-in SQLite backup switched to a method that "loads the whole DB into RAM", which the contributor linked to more OOM errors on small deployments with 256 MB RAM. Reverted to VACUUM INTO (merged 5 Apr 2026)
Affected 1.35.0 (Dec 2025) through 1.35.4; the fix shipped in 1.35.5 (12 Apr 2026). Latest release on the check date: 1.37.4 (5 Oct 2026)
GitHub GitHub dani-garcia/vaultwarden PR #6989: Change SQLite backup to use VACUUM INTO · checked Oct 24, 2026
Our measurements: coming soon
We haven't measured Vaultwarden yet, so there are no VPSfit lab numbers on this page. When we do, they'll show the app version, the plan it ran on, the date, and the raw data. Here's what we'll record:
- Idle RAM of the latest vaultwarden/server and -alpine images on a fresh 1 GB plan, behind Caddy
- RAM and CPU during login and a full sync with a generated 100-item and 5,000-item test vault
- Peak RAM of the built-in /vaultwarden backup on the 5,000-item vault
- Login time on 1 vCPU vs 2 vCPU plans at the default 600,000 password iterations
What drives Vaultwarden's RAM use
Barely anything at idle
Vaultwarden is one Rust process with SQLite in the same container, so there's no separate database server or language runtime using memory. That is the main difference from the official Bitwarden server, whose standard deployment runs about a dozen containers including MSSQL. The reports above put Vaultwarden at tens of megabytes against hundreds of megabytes (Bitwarden lite) or gigabytes (Bitwarden standard).
Vault size, icons and connections
The maintainer named three things that can push RAM up: large vaults, website icon downloads, and database connections (discussion #4981). Icons are fetched and cached by the server unless you turn that off with DISABLE_ICON_DOWNLOAD or point ICON_SERVICE elsewhere (.env.template). If a small instance grows, try the -alpine image tag, which the maintainer says uses a different memory allocator.
Building is not running
Compiling Rust is far heavier than running the result. The wiki says building the web vault needs about 1.5 GB, and a script that compiles Vaultwarden itself reported 7 GB or more. Pull the prebuilt vaultwarden/server image (or a binary extracted from the Alpine image) and a 1 GB VPS never sees that load.
Disk is attachments
The SQLite database holds passwords, notes and metadata, and is small. File attachments and Send files are stored as separate files and are what grows. You can cap them per user or per organization with USER_ATTACHMENT_LIMIT and ORG_ATTACHMENT_LIMIT (in KB). The prebuilt Alpine image was about 168 MB in one report.
Gotchas on a VPS
- Update promptly. Bitwarden's mobile apps and browser extensions update themselves, and upstream sometimes makes changes that break older servers. The wiki warns that falling behind on Vaultwarden releases can cause "sudden breakage" (container image docs). Releases also carry security fixes; 1.35.5 fixed three advisories.
- Use 1.35.5 or newer on small plans. Built-in SQLite backups in 1.35.0–1.35.4 loaded the whole database into RAM, which was linked to out-of-memory errors on 256 MB deployments (PR #6989). Current releases stream the backup.
- Back up more than the database. Back up
db.sqlite3with SQLite's.backupcommand (not a raw copy while it's in use), plusattachments/,sends/,config.jsonand thersa_key.*files (backup guide). Store copies off the VPS: if the server is lost, so is the vault. - Don't put SQLite on a network share. CIFS/Samba volumes without file locking cause problems with the SQLite database (the wiki's example is Azure Web Apps, FAQs). Keep the data folder on the VPS's local disk.
- Close sign-ups and protect /admin.
SIGNUPS_ALLOWEDdefaults to true, so anyone who finds your URL can create an account until you turn it off. Coolify's one-click Vaultwarden template also defaults it to true (template). If you enable the admin page, storeADMIN_TOKENas an Argon2id hash (admin page docs). - HTTPS and WebSockets through the proxy. The web vault only works over HTTPS. Since 1.29.0, live sync notifications run on the main port, so a reverse proxy must pass the WebSocket
UpgradeandConnectionheaders. Mobile apps use push notifications instead, which need separate credentials from Bitwarden (WebSocket docs). - Don't report bugs to Bitwarden. Vaultwarden is not affiliated with Bitwarden, Inc. The project asks users to report bugs to Vaultwarden, not to official Bitwarden support, whichever client they use.
Cheapest plans that fit
Vaultwarden on its own (SQLite, prebuilt image): 1 GB RAM and 1+ vCPU
Threshold: VPSfit budget of 512 MB for Vaultwarden and its reverse proxy, from reported idle use of 30–58 MB; the smallest plans we track have 1 GB (source). Only plans with at least 1 vCPU are listed.
| Provider & plan | RAM | vCPU | Disk | Price / month | Terms | Source |
|---|---|---|---|---|---|---|
| Contabo Cloud VPS 4 | 8 GB | 4 shared | 100 GB SSD | €4.40 excl. VAT · ≈ $4.93 |
24-month term (effective monthly rate) | contabo.com checked Oct 21, 2026 |
| Vultr Cloud Compute Regular 1 GB | 1 GB | 1 shared, previous-gen Intel | 25 GB SSD | $5.00 before tax |
Monthly price, hourly billing | vultr.com checked Oct 21, 2026 |
| DigitalOcean Basic 1 GiB | 1 GB | 1 shared | 25 GB SSD | $6.00 before tax |
Monthly cap, per-second billing | digitalocean.com checked Oct 21, 2026 |
| Contabo Cloud VPS 6 | 12 GB | 6 shared | 200 GB SSD (or 100 GB NVMe) | €6.00 excl. VAT · ≈ $6.73 |
24-month term (effective monthly rate) | contabo.com checked Oct 21, 2026 |
Vaultwarden, maintainer's suggested spec: 1 GB RAM and 2+ vCPU
Threshold: Maintainer suggestion: 2 vCPUs and 1 GB RAM, plus storage for attachments (source). Only plans with at least 2 vCPUs are listed.
| Provider & plan | RAM | vCPU | Disk | Price / month | Terms | Source |
|---|---|---|---|---|---|---|
| Contabo Cloud VPS 4 | 8 GB | 4 shared | 100 GB SSD | €4.40 excl. VAT · ≈ $4.93 |
24-month term (effective monthly rate) | contabo.com checked Oct 21, 2026 |
| Contabo Cloud VPS 6 | 12 GB | 6 shared | 200 GB SSD (or 100 GB NVMe) | €6.00 excl. VAT · ≈ $6.73 |
24-month term (effective monthly rate) | contabo.com checked Oct 21, 2026 |
| Contabo Cloud VPS 8 | 24 GB | 8 shared | 300 GB SSD (or 150 GB NVMe) | €11.20 excl. VAT · ≈ $12.56 |
24-month term (effective monthly rate) | contabo.com checked Oct 21, 2026 |
| Hostinger KVM 2 | 8 GB | 2 AMD EPYC | 100 GB NVMe | $14.99 intro $8.79 before tax |
Prepaid intro rate; renews at $14.99/mo | hostinger.com checked Oct 21, 2026 |
Prices checked Oct 21, 2026 on each provider's official pricing page. EUR prices converted at the ECB rate of Oct 20, 2026 (1 € = $1.1215) only for ranking. See all plans on the cheapest 4 GB VPS page.