Self-Hosting & Automation

Self-Hosted Vaultwarden (Password Manager)

Built & Deployed2026
Self-hosted, Bitwarden-compatible
Enforced HTTPS behind a trusted cert
Hardened: least-privilege, restricted signup, admin protected

Passwords are the highest-value credential an attacker wants. This project is a self-hosted, Bitwarden-compatible password manager โ€” and a demonstration of security-first ops.

What I did

  • Deployed Vaultwarden in Docker on the LAN with TLS enforced (clients refuse plain HTTP and untrusted certs).
  • Issued a trusted certificate via a private local CA โ€” the right pattern for LAN-only services with no public domain.
  • Hardened it: signups disabled after account creation, admin endpoint protected by a token, and a least-privilege container that keeps only the capabilities it needs to bind port 443.

Why it matters

  • Full control and ownership of credentials โ€” no third-party sync, no vendor lock-in.
  • Demonstrates real security engineering: matching least-privilege to actual file ownership, TLS enforcement, and CA/key management.

Outcomes

  • Deployed a working self-hosted password manager with secure HTTPS transport enforced.
  • Hardened configuration: signup disabled after account creation, protected admin endpoint, least-privilege container settings.
  • Used a private local CA pattern to issue trusted certificates for LAN-only services with no public domain.

Stack & tools

VaultwardenDocker ComposeRocket TLSPrivate local CALinux