
This is our second monthly deep dive, and we’re tackling something with the highest stakes in the entire series: your passwords.
A password manager holds the keys to everything — email, banking, your line-of-credit portal, your payroll system, your customers’ systems. Vaultwarden is a lightweight, open-source server that’s fully compatible with the Bitwarden apps and browser extensions your team already knows, letting you host your company’s entire password vault on a server you own instead of a vendor’s cloud.
The appeal for the data-sovereignty crowd is obvious: the single most sensitive database in your company, on hardware in your building. We’ll show you exactly how it’s done — and exactly why this is the one where getting the details wrong is most dangerous. If any post in this series argues for professional involvement by simply being honest, it’s this one.
Step 1: Understand what you’re protecting
Before a single command, internalize the stakes. This server will hold every password your business uses. That means two failure modes, both catastrophic:
- If it’s breached, an attacker potentially gets everything at once.
- If it’s lost — dead drive, no backup — your team is locked out of every account simultaneously, with no vendor to call.
Vaultwarden encrypts the vault, so a stolen database file is not instantly readable. But that safety depends entirely on strong master passwords and correct configuration. This is not the system to “set up quickly and tidy up later.”
Step 2: The host and Docker
Vaultwarden almost always runs in a Docker container on a Linux server. So first you need a properly maintained host (same hardware and redundancy discipline from our Nextcloud walkthrough — UPS, mirrored storage), then Docker:
sudo apt update && sudo apt install -y docker.io docker-compose sudo systemctl enable --now docker
Decision already in front of you: Docker is its own maintenance surface — the engine itself needs updating, and you now own container management on top of everything else.
Step 3: The Vaultwarden container
A minimal docker-compose.yml looks deceptively simple:
version: "3"
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
DOMAIN: "https://vault.yourcompany.com"
SIGNUPS_ALLOWED: "false"
ADMIN_TOKEN: "paste-a-long-random-token-here"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"
Then docker-compose up -d and it’s running. If that were the job, this would be a 200-word post. Notice what’s already happening: SIGNUPS_ALLOWED: false (so the entire internet can’t create accounts on your vault — a default people miss), an admin token that must be long and secret, and binding to localhost only so the container isn’t directly exposed. Every one of those is a security decision with real consequences.
Step 4: TLS is mandatory, not optional
The Bitwarden apps flatly refuse to talk to a server over unencrypted HTTP — and rightly so. You’ll put a reverse proxy (Nginx or Caddy) in front of Vaultwarden with a valid TLS certificate:
sudo apt install -y nginx certbot python3-certbot-nginx sudo certbot --nginx -d vault.yourcompany.com
Which brings back every requirement from the Nextcloud post — you own the domain, control the DNS, and have auto-renewal working — with even higher stakes. If this certificate silently expires, your entire team loses access to every password at once, on a random Tuesday.
Step 5: Lock it down hard
This is where a password server differs from everything else you’d self-host: the security bar is the highest in your building. At minimum:
- Do not expose it openly to the internet if you can avoid it — ideally it’s reachable only over your VPN (WireGuard, covered later in this series), so the vault isn’t even visible to the public internet.
- Protect the admin panel — the
/admininterface is a master key; lock it down or disable it after setup. - Enforce two-factor authentication for every single user, no exceptions.
- Add fail2ban to block brute-force attempts against logins.
- Keep the image updated —
vaultwarden/server:latestmeans you must actually pull new versions to get security fixes; “latest” in the file doesn’t update a running container by itself.
Step 6: Backups, with the highest stakes of all
If you lose this data and have no backup, your business is locked out of everything. So the backup discipline here is non-negotiable:
- Back up the entire
vw-datadirectory (the encrypted vault, attachments, and keys) on an automated schedule. - Store it encrypted, off-box and offsite — Houston flood logic applies doubly here.
- Test-restore it. Stand the backup up on a separate machine and confirm you can actually log in. An untested backup of your password vault is the riskiest false comfort in your whole operation.
- Guard the backups themselves carefully — they contain your encrypted vault, so they’re as sensitive as the server.
Step 7: Maintenance, forever, on the most critical system you run
Everything from our “hidden jobs” post applies here with the volume turned up: patch the host, update Docker and the Vaultwarden image promptly when security fixes land, monitor that it’s up and that backups are succeeding, watch for failed-login storms, and keep that TLS certificate alive. A neglected file server is a problem. A neglected password server is a five-alarm risk.
Should you run your own password vault?
Self-hosting your password manager is absolutely achievable, and for a business that wants its most sensitive data in-house, it’s a compelling, legitimate goal. But of everything in this series, this is the one where “good enough” isn’t good enough. The consequences of a misconfiguration, a missed update, an expired certificate, or an untested backup are uniquely severe, because this single system can lock you out of — or expose — everything else at once.
If you read this walkthrough and feel fully confident handling localhost binds, reverse-proxy TLS, VPN-only exposure, and tested encrypted backups, you may be a good candidate to run it — and we’re glad to review and harden your setup. If you read it and thought “I want my passwords in my own building, but I am not the right person to be the last line of defense on it” — that is the wise reaction, and it’s exactly what we’re here for.
We deploy and maintain Vaultwarden and other open-source systems for Houston small businesses with the security, backups, and monitoring this kind of system demands — and it ties directly into our broader security services. This is high-stakes, professional work at professional rates, with no corners cut, because on a password server there are no safe corners to cut. To do it right, book a free discovery call.
Aspendora Technologies provides cybersecurity, managed IT, and expert on-premise & open-source solutions to Houston-area small businesses since 2010.
