Vaultwarden: Unofficial Bitwarden compatible server written in Rust
Vaultwarden is a Rust-based self-hosted alternative to Bitwarden, offering features like organization support and various authentication methods. Installation via Docker is easy, and HTTPS is recommended for security.
Read original articleVaultwarden is an alternative implementation of the Bitwarden server API, developed in Rust for self-hosted deployments. It is particularly suited for users seeking a less resource-intensive option compared to the official Bitwarden service. Vaultwarden fully implements the Bitwarden API, offering features such as support for organizations, attachments, the Vault API, static file serving, website icons API, and authentication methods including U2F, YubiKey, and Duo. It also includes an emergency access feature. Installation can be done easily via Docker with specific commands to ensure persistent data storage. It is recommended to access the web vault through HTTPS to comply with modern web browser security standards, and users can configure HTTPS within Vaultwarden or utilize a third-party reverse proxy. For further configuration and usage details, users can consult the Vaultwarden wiki or seek support through GitHub Discussions or Matrix chat. It is important to note that Vaultwarden operates independently and is not affiliated with the official Bitwarden project or Bitwarden, Inc.
- Vaultwarden is a Rust-based alternative to the Bitwarden server API for self-hosting.
- It includes comprehensive features like organization support, attachments, and various authentication methods.
- Installation is straightforward using Docker, with a focus on data persistence.
- HTTPS access is recommended for security compliance with modern browsers.
- Vaultwarden is not associated with the official Bitwarden project.
Related
Integrating Email Aliases with Bitwarden
The Bitwarden blog details using the forwarded email alias generator to create private email aliases for forwarding messages without revealing personal information. Users can safeguard their email address from misuse.
Bitwarden (the SDK and mobile app) is not FOSS
Bitwarden password manager faces licensing challenges due to its non-FOSS SDK, limiting its availability on platforms like F-Droid. Community forums discuss implications and hurdles for FOSS compatibility.
Wretch: A tiny wrapper built around fetch with an intuitive syntax
The GitHub URL for the "Wretch" library provides detailed information on features, installation, compatibility, usage, API, addons, limitations, migration, and license. It serves as a valuable guide for users.
Launch HN: Stack Auth (YC S24) – An Open-Source Auth0/Clerk Alternative
Stack Auth is an open-source user authentication solution for developers, offering quick setup, self-hosting, and features like OAuth support, user dashboards, and role-based access control, promoting community contributions.
WireGuard-rs – Official Rust implementation of WireGuard
wireguard-rs is a Rust implementation of the WireGuard VPN protocol, featuring updates for performance, sticky sockets for Linux, and ongoing maintenance, with the code available under the MIT license.
Eventually, I ended up using Pass though, since I prefer terminal. Pass doesn’t have any database to break: it’s just gpg and git. With Yubikey, every password needs a touch.
I'd really love to try Vaultwarden as Bitwarden is pretty heavy on the little server it runs on
Genuine question, in what scenario is the self hosting setup and maintenance worth it?
I think Rust is a great language, but I think it shines in contexts where you'd previously have used C or C++. Web apps aren't really one of those contexts, unless they're microservices with extreme performance requirements, and this isn't the case here. Why would one choose to write something like this in Rust over easier-to-write languages like Go?
Last I checked the local cache is gone after so many days, leaving you without your credentials.
A combination of local password manager and a file sync service of your preference seems a good option as well.
- Create threat models that identify weaknesses in the design of your self-hosted setup.
- Harden the OS with things like MAC, and harden the container with dropped privs, read-only root filesystem, and outbound network filtering.
- Deploy an intrusion detection system to know if you've been compromised.
- Perform all OS and app patching automatically, or regularly without fail.
- Follow CVE feeds in case a zero day needs to be fixed before the next patch window.
- Arrange for an expert to perform regular penetration tests.
- Deploy a tool that detects and alerts on things like firewall misconfigurations.
- Regularly test your backup and recovery methods, since if you also store 2FA codes and backup codes in there, you could be permanently locked out of your accounts.
I used it in conjunction with Vaultwarden for a year with the idea that I'd evaluate it as a family-wide replacement for 1P.
In the end I went back to 1P.
1P does some things amazingly well. Here's the shortlist:
- It loads quickly. This wasn't the reason I went back to 1P, but it loads an order of magnitude more quickly than any of Bitwarden's clients: Windows, Linux, iOS, Mac. Bitwarden is slow, slow, slow. I was willing to put up with it for freedom. I wanted Electron 1P to be awful. It's not. Electron Bitwarden kinda is...
- The (I can't believe I'm saying this) killer feature: being able to sort passwords by date (or well - being able to sort at all). If you use a password manager long enough, you'll have a lot of passwords. Sometimes you need to find one manually. Bitwarden made this far more difficult than it needs to be. There's no way to sort the passwords. You have to use the (lackluster) search.
- 1P can put your most recent passwords, secrets and make them easily accessible by default. Yep, more sorting issues. This is particularly helpful in my work related to software and infra development. There are often a lot of secrets, especially during spikes. It's nice to not have to hunt for them too much.
- Shared vaults are better with 1P. Easy to move secrets, easy to de-dupe. Etc. etc.
Everything about Bitwarden is fine for a single, technical user, but it's not for sharing secrets with non-technical family members at any scale. It's just too clumsy with too many sharp edges.
I really, really wanted to leave 1P behind. But I came back to it. And I don't regret it.
Related
Integrating Email Aliases with Bitwarden
The Bitwarden blog details using the forwarded email alias generator to create private email aliases for forwarding messages without revealing personal information. Users can safeguard their email address from misuse.
Bitwarden (the SDK and mobile app) is not FOSS
Bitwarden password manager faces licensing challenges due to its non-FOSS SDK, limiting its availability on platforms like F-Droid. Community forums discuss implications and hurdles for FOSS compatibility.
Wretch: A tiny wrapper built around fetch with an intuitive syntax
The GitHub URL for the "Wretch" library provides detailed information on features, installation, compatibility, usage, API, addons, limitations, migration, and license. It serves as a valuable guide for users.
Launch HN: Stack Auth (YC S24) – An Open-Source Auth0/Clerk Alternative
Stack Auth is an open-source user authentication solution for developers, offering quick setup, self-hosting, and features like OAuth support, user dashboards, and role-based access control, promoting community contributions.
WireGuard-rs – Official Rust implementation of WireGuard
wireguard-rs is a Rust implementation of the WireGuard VPN protocol, featuring updates for performance, sticky sockets for Linux, and ongoing maintenance, with the code available under the MIT license.