Building a $200 home server for Vaultwarden and a few other services

A home server for self-hosted services does not have to be expensive. A used mini-PC plus reasonable accessories can be assembled for under $200 and runs Vaultwarden plus several other services comfortably for years.

This is the practical guide to building one.

What you actually need

Vaultwarden’s resource requirements are modest: 256 MB RAM, less than 1 percent CPU on any modern hardware, a few GB of disk for the vault file plus backups. Adding adjacent services (Tailscale, Pi-hole, AdGuard Home, a small file share) brings total resource usage to maybe 1-2 GB RAM and 5 percent CPU.

This is well within the capabilities of any mini-PC released in the past decade.

The hardware shopping list

Mini-PC base: a used Lenovo ThinkCentre M720q, M920q, or HP EliteDesk 800 G3 Mini in the 8th-10th generation Intel Core i5 era. About $100-150 on eBay or other secondary markets. Look for models with 8-16 GB RAM included, 256 GB SSD, and Intel CPUs (which have hardware video acceleration if you ever want to run media servers later).

UPS: a small APC Back-UPS 600VA. About $80. Protects the server from brief power outages. Optional but recommended; without UPS, you will eventually have an SD-card-style failure mode where unexpected shutdowns corrupt data.

Ethernet cable: gigabit Cat 6, 6-10 feet. About $8.

Total: about $190-240 for the mini-PC and UPS. Without the UPS: about $110-160.

For under-$200 total, you want the mini-PC plus a basic UPS. Save the rest for software (none required; everything is free open source) and your time investment.

What to install

Operating system: Ubuntu Server 24.04 LTS. Stable, long-term support, well-documented for self-hosting use cases.

Docker. Most modern self-hosted services run as Docker containers.

Tailscale. Your access path. Install on the home server and on every device you want to access it from.

Vaultwarden via Docker Compose. Single container, lightweight.

Caddy or Traefik for reverse proxy with SSL. Caddy is simpler.

UptimeRobot account (free) for external monitoring.

Off-site backup destination. Backblaze B2 free tier (10 GB) is enough for Vaultwarden vault backups.

The setup process

Day 1, hardware setup:

  1. Unbox the mini-PC. Connect monitor, keyboard, ethernet, power. Boot to BIOS, verify hardware specs match what you expected.

  2. Boot from a USB drive with Ubuntu Server 24.04 installer. Install Ubuntu, choose minimal install, set static IP via your router’s DHCP reservation, enable SSH.

  3. After install, disconnect monitor and keyboard. SSH to the server from your laptop.

  4. Update everything: apt update && apt upgrade.

  5. Install Docker per the official instructions.

  6. Install Tailscale via the official install script. Authenticate to your tailnet.

Day 2, services setup:

  1. Create /opt/vaultwarden directory. Create docker-compose.yml with Vaultwarden and Caddy configuration (we have a separate detailed guide).

  2. Generate strong admin token, add to compose file.

  3. Start the stack: docker compose up -d.

  4. Verify Vaultwarden is reachable via your Tailscale hostname over HTTPS.

  5. Sign up your account in Vaultwarden web vault. Disable signups after.

  6. Install Bitwarden client apps on your devices. Configure self-hosted server URL.

Day 3, backup and monitoring:

  1. Set up rclone with Backblaze B2 credentials.

  2. Add cron job for daily backup of Vaultwarden data to B2.

  3. Set up UptimeRobot to ping your server’s Tailscale IP every 5 minutes.

  4. Test the full backup-restore cycle on a fresh test container to verify backups actually work.

Total active time investment: about 6-10 hours over the three days.

What this server can also run

The same hardware comfortably hosts additional services:

Pi-hole or AdGuard Home for network DNS filtering.

Heimdall or Homepage for a service dashboard.

Linkding or Wallabag for bookmark management.

Syncthing for file sync between your devices.

Nextcloud (lightweight install) for personal cloud storage.

Home Assistant for smart home integration.

A small Tailscale exit node setup so you can route traffic through your home network when traveling.

A personal git server (Gitea) for private code hosting.

For a typical home self-hoster, the same $200 mini-PC runs 5-10 services with plenty of headroom.

What this server cannot do well

Heavy media transcoding (Plex, Jellyfin with hardware transcoding). The integrated graphics are weaker than purpose-built media servers.

GPU-intensive AI workloads. No discrete GPU.

Heavy database workloads. The SSDs are small; not suitable for substantial database hosting.

Cluster work. This is a single-node setup; no redundancy.

For these use cases, you need different hardware. For typical home self-hosting needs, this setup is sufficient.

Why this approach versus the alternatives

Versus a Raspberry Pi: more capable, more reliable, similar cost, larger storage, better long-term durability.

Versus a Synology NAS: cheaper if you do not need RAID storage, more flexible, more operational learning, less polished.

Versus a cloud VPS: the home server has no monthly cost; the VPS is roughly $5-10/month. Over 3-5 years, the home server is cheaper. The VPS is more reliable and has better internet bandwidth.

Versus a custom-built server: cheaper than building, less flexible, faster to deploy.

For users wanting cheap reliable self-hosting that they fully control: a used mini-PC is the right call.

The five-year cost

Hardware: $200-240 upfront.
Electricity: $25-50/year (mini-PC plus UPS at low power consumption).
Services (Tailscale free tier, B2 free tier, UptimeRobot free tier): $0/year.
Maintenance time: 30-60 minutes per quarter, ongoing.

Total five-year cost: about $325-450. Compared to Bitwarden Premium at $10/year ($50 over five years) or 1Password Individual at $36/year ($180 over five years), the home server is more expensive in raw dollars.

The reasons to do it anyway:

You learn operational skills that translate to other domains.

You control infrastructure that holds your most sensitive data.

You can run multiple services on the same hardware (the cost amortizes across all the services you run, not just the password manager).

You like the project.

For users who do not value these things: pay for hosted services and skip the home server.

For users who do value them: the home server pays back in non-financial ways.

A specific recommendation

For users wanting a home server for self-hosting Vaultwarden plus a few other services: used Lenovo ThinkCentre M720q with 16 GB RAM and 256 GB SSD on eBay, plus APC Back-UPS 600VA, plus an ethernet cable. About $200-240 total.

For users only running Vaultwarden and not interested in expanding: a Raspberry Pi 5 with USB SSD is cheaper at about $150 total.

For users with no patience for hardware setup: pay for Bitwarden Premium at $10/year or self-host on a $5/month Hetzner CX11 VPS.

Lenovo ThinkCentre on eBay | Vaultwarden GitHub | Tailscale

Related: Bitwarden setup walkthrough on a five dollar VPS, Vaultwarden complete setup with Caddy and Tailscale, Setting up your first homelab