<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Tommi Kivistö</title>
    <description>The latest articles on Forem by Tommi Kivistö (@tommi_kivist_026107a9f7d).</description>
    <link>https://forem.com/tommi_kivist_026107a9f7d</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3922857%2F69434bc8-e07d-4799-854c-e908e510abf2.jpg</url>
      <title>Forem: Tommi Kivistö</title>
      <link>https://forem.com/tommi_kivist_026107a9f7d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tommi_kivist_026107a9f7d"/>
    <language>en</language>
    <item>
      <title>I Replaced My €4.99/Month Password Manager with a Self-Hosted One for €10/Year — Here's Exactly How</title>
      <dc:creator>Tommi Kivistö</dc:creator>
      <pubDate>Sun, 10 May 2026 05:50:02 +0000</pubDate>
      <link>https://forem.com/tommi_kivist_026107a9f7d/i-replaced-my-eu499month-password-manager-with-a-self-hosted-one-for-eu10year-heres-exactly-how-2c4l</link>
      <guid>https://forem.com/tommi_kivist_026107a9f7d/i-replaced-my-eu499month-password-manager-with-a-self-hosted-one-for-eu10year-heres-exactly-how-2c4l</guid>
      <description>&lt;p&gt;Password managers are essential in 2026. But why pay €35–€60 per year to store your most sensitive data on someone else's server?&lt;br&gt;
I run Vaultwarden on a Raspberry Pi 4 with Home Assistant. Total cost: ~€10/year for the domain. Everything else is free forever.&lt;br&gt;
Here's the full setup.&lt;br&gt;
What You Need&lt;br&gt;
Hardware:&lt;br&gt;
Raspberry Pi 4 (2GB+ RAM) — Pi 5 also works&lt;br&gt;
SSD recommended for reliability&lt;br&gt;
Stable internet connection&lt;br&gt;
Free accounts:&lt;br&gt;
Cloudflare — for domain, tunnel and email routing&lt;br&gt;
Tailscale — optional backup access&lt;br&gt;
Free software:&lt;br&gt;
Home Assistant OS running on your Pi&lt;br&gt;
Bitwarden app (Android, iOS, Windows, Mac, Linux)&lt;br&gt;
Bitwarden browser extension (Chrome, Firefox, Edge, Safari)&lt;br&gt;
What You'll Build&lt;br&gt;
By the end of this guide you'll have:&lt;br&gt;
✅ Vaultwarden running privately on your Pi&lt;br&gt;
✅ Accessible from anywhere via vault.yourdomain.com&lt;br&gt;
✅ HTTPS encryption — no open ports on your router&lt;br&gt;
✅ Free email aliases as a bonus&lt;br&gt;
✅ All official Bitwarden clients working normally&lt;br&gt;
Chapter 1 — Install Vaultwarden on Home Assistant&lt;br&gt;
Vaultwarden is a lightweight open-source reimplementation of the Bitwarden server. It uses the official Bitwarden apps — so your phone and browser extensions work exactly as normal — but your data stays on your own hardware.&lt;br&gt;
Add the Community Repository&lt;br&gt;
Vaultwarden isn't in the default HA app store. Add the community repository first.&lt;br&gt;
Go to Settings → Apps → App Store&lt;br&gt;
Click the menu (top right) → Repositories&lt;br&gt;
Paste and add: &lt;a href="https://github.com/hassio-addons/repository" rel="noopener noreferrer"&gt;https://github.com/hassio-addons/repository&lt;/a&gt;&lt;br&gt;
Refresh the page and search for Vaultwarden&lt;br&gt;
Click Install (takes 1–2 minutes)&lt;br&gt;
Configure Vaultwarden&lt;br&gt;
Go to the Configuration tab and set:&lt;br&gt;
Yaml&lt;br&gt;
Cloudflare will handle HTTPS for us — this setting is critical. Without it, Vaultwarden crashes.&lt;br&gt;
Enable Start on boot, Watchdog and Auto update, then click Start.&lt;br&gt;
Save Your Admin Token&lt;br&gt;
Go to the Log tab — you'll see a long random string. This is your admin token. Copy it now — you'll need it later.&lt;br&gt;
Verify It's Running&lt;br&gt;
Open your browser and go to:&lt;br&gt;
Code&lt;br&gt;
Replace xxx with your Pi's IP. You should see the Vaultwarden login page.&lt;br&gt;
⚠️ You can't create an account yet — we need HTTPS first.&lt;br&gt;
Chapter 2 — Register a Domain with Cloudflare&lt;br&gt;
A domain lets you access Vaultwarden via vault.yourdomain.com from anywhere. Cloudflare Registrar offers at-cost pricing — a .com domain costs around €10/year.&lt;br&gt;
Go to cloudflare.com and create a free account&lt;br&gt;
Go to Domain Registration → Register Domains&lt;br&gt;
Search for your domain (e.g. yourname.com) and complete the purchase&lt;br&gt;
Your domain shows as Active within a few minutes.&lt;br&gt;
Chapter 3 — Set Up Cloudflare Tunnel&lt;br&gt;
A Cloudflare Tunnel creates an encrypted connection between your Pi and Cloudflare's network. No open ports on your router — much more secure than traditional port forwarding.&lt;br&gt;
Create the Tunnel&lt;br&gt;
Go to dash.cloudflare.com → Zero Trust → Networks → Tunnels&lt;br&gt;
Click Create a tunnel → choose Cloudflared&lt;br&gt;
Name it homeassistant → click Save tunnel&lt;br&gt;
Select Linux as OS and arm64 as architecture&lt;br&gt;
Copy the long token from the install command&lt;br&gt;
Add Vaultwarden as a Public Hostname&lt;br&gt;
In tunnel settings → Public Hostname → Add a public hostname:&lt;br&gt;
Field&lt;br&gt;
Value&lt;br&gt;
Subdomain&lt;br&gt;
vault&lt;br&gt;
Domain&lt;br&gt;
yourdomain.com&lt;br&gt;
Type&lt;br&gt;
HTTP&lt;br&gt;
URL&lt;br&gt;
&lt;a href="http://192.168.1.xxx:7277" rel="noopener noreferrer"&gt;http://192.168.1.xxx:7277&lt;/a&gt;&lt;br&gt;
Install Cloudflared in Home Assistant&lt;br&gt;
In HA App Store → Repositories → add: &lt;a href="https://github.com/brenner-tobias/ha-addons" rel="noopener noreferrer"&gt;https://github.com/brenner-tobias/ha-addons&lt;/a&gt;&lt;br&gt;
Search for Cloudflared and install&lt;br&gt;
In Configuration tab, paste your tunnel token&lt;br&gt;
Enable Start on boot and Watchdog → Save → Start&lt;br&gt;
Verify&lt;br&gt;
Open &lt;a href="https://vault.yourdomain.com" rel="noopener noreferrer"&gt;https://vault.yourdomain.com&lt;/a&gt; — you should see the Vaultwarden login page with a valid HTTPS certificate. 🎉&lt;br&gt;
⚠️ 502 error? Check that the tunnel hostname URL uses http:// (not https://) pointing to your Pi's local IP.&lt;br&gt;
Chapter 4 — Connect Your Devices&lt;br&gt;
Create Your Account&lt;br&gt;
Go to &lt;a href="https://vault.yourdomain.com" rel="noopener noreferrer"&gt;https://vault.yourdomain.com&lt;/a&gt; → Create Account&lt;br&gt;
Choose a strong master password&lt;br&gt;
🔴 Critical: Write your master password on paper and store it safely. If you lose it, your vault cannot be recovered.&lt;br&gt;
Disable Public Registration&lt;br&gt;
Go to &lt;a href="https://vault.yourdomain.com/admin" rel="noopener noreferrer"&gt;https://vault.yourdomain.com/admin&lt;/a&gt; and enter your admin token. Under General Settings, disable Allow new signups. This prevents anyone else from creating an account on your server.&lt;br&gt;
Browser Extension&lt;br&gt;
Install Bitwarden from your browser's extension store. Before logging in, click the gear icon and set Server URL to:&lt;br&gt;
Code&lt;br&gt;
Android &amp;amp; iPhone&lt;br&gt;
Install Bitwarden from Google Play or App Store. Tap the gear icon before logging in and set the same server URL.&lt;br&gt;
Enable autofill:&lt;br&gt;
Android: Settings → General Management → Passwords and Autofill → Bitwarden&lt;br&gt;
iPhone: Settings → Passwords → Password Options → Bitwarden&lt;br&gt;
Chapter 5 — Free Email Aliases (Bonus)&lt;br&gt;
With your Cloudflare domain you get free email routing — unlimited aliases that forward to your real email.&lt;br&gt;
In Cloudflare dashboard → your domain → Email → Email Routing&lt;br&gt;
Add your real email as destination and verify it&lt;br&gt;
Create aliases like:&lt;br&gt;
&lt;a href="mailto:vault@yourdomain.com"&gt;vault@yourdomain.com&lt;/a&gt; — for your Vaultwarden account&lt;br&gt;
&lt;a href="mailto:shopping@yourdomain.com"&gt;shopping@yourdomain.com&lt;/a&gt; — for online stores&lt;br&gt;
&lt;a href="mailto:banking@yourdomain.com"&gt;banking@yourdomain.com&lt;/a&gt; — for financial services&lt;br&gt;
If any service leaks your email and you start getting spam, you know exactly who leaked it — and you can disable that alias.&lt;br&gt;
The Trickiest Parts (Lessons Learned)&lt;br&gt;
These are the mistakes I made so you don't have to:&lt;br&gt;
ssl: false in Vaultwarden config — without this it crashes. Cloudflare handles HTTPS so Vaultwarden doesn't need to.&lt;br&gt;
Tunnel URL must use http:// — the public hostname pointing to your Pi must use http:// not https://.&lt;br&gt;
Admin token — copy it from the log immediately on first start. Easy to miss.&lt;br&gt;
Set server URL in Bitwarden clients — tap the gear icon before logging in, otherwise it tries to connect to Bitwarden's servers.&lt;br&gt;
Cost Comparison&lt;br&gt;
Solution&lt;br&gt;
Annual Cost&lt;br&gt;
Your Data&lt;br&gt;
1Password&lt;br&gt;
€36/year&lt;br&gt;
Their servers&lt;br&gt;
Bitwarden Premium&lt;br&gt;
€10/year&lt;br&gt;
Their servers&lt;br&gt;
Proton Pass&lt;br&gt;
€35/year&lt;br&gt;
Their servers&lt;br&gt;
This guide&lt;br&gt;
~€10/year&lt;br&gt;
Your Pi&lt;br&gt;
Monthly Maintenance (15 minutes)&lt;br&gt;
✓ Confirm &lt;a href="https://vault.yourdomain.com" rel="noopener noreferrer"&gt;https://vault.yourdomain.com&lt;/a&gt; loads&lt;br&gt;
✓ Check HA → Apps — Vaultwarden and Cloudflared both Running&lt;br&gt;
✓ Export vault backup: Tools → Export vault → save safely&lt;br&gt;
✓ Check Cloudflare domain auto-renewal is set up&lt;br&gt;
Is This For You?&lt;br&gt;
Self-hosting is great if:&lt;br&gt;
You want full control of your data&lt;br&gt;
You already have a Pi running 24/7&lt;br&gt;
You're comfortable with occasional maintenance&lt;br&gt;
Bitwarden's hosted service is better if:&lt;br&gt;
You need guaranteed uptime&lt;br&gt;
You're not comfortable managing updates&lt;br&gt;
You travel frequently without home access&lt;br&gt;
Both are valid choices. Bitwarden's zero-knowledge encryption means even their hosted service is trustworthy — self-hosting is about control, not just security.&lt;br&gt;
Want the Complete Guide?&lt;br&gt;
This article covers the full setup. If you want a PDF with screenshots, troubleshooting reference and quick-reference card for your specific setup, I wrote it up here: payhip.com/b/dMpns&lt;br&gt;
Happy to answer questions in the comments!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>privacy</category>
      <category>security</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
