Skip to content

Commit 2f20ad8

Browse files
BlackDexipitiodotlambdayonasrushi-k12
authored
Update README (dani-garcia#5153)
Updating the Readme to be more modern and more clear. Added and moved several shields/badges and changed some default colors to have a better contrast. Added a Disclaimer section. Closes dani-garcia#4901 Closes dani-garcia#4930 Closes dani-garcia#4931 Closes dani-garcia#5024 Co-authored-by: ipitio <[email protected]> Co-authored-by: Robert Schütz <[email protected]> Co-authored-by: Yonas Yanfa <[email protected]> Co-authored-by: KUSUMA RUSHIKESH <[email protected]>
1 parent 33bae5f commit 2f20ad8

File tree

2 files changed

+197
-77
lines changed

2 files changed

+197
-77
lines changed

README.md

+119-77
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,144 @@
1-
### Alternative implementation of the Bitwarden server API written in Rust and compatible with [upstream Bitwarden clients](https://bitwarden.com/download/)*, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.
1+
![Vaultwarden Logo](./resources/vaultwarden-logo-auto.svg)
22

3-
📢 Note: This project was known as Bitwarden_RS and has been renamed to separate itself from the official Bitwarden server in the hopes of avoiding confusion and trademark/branding issues. Please see [#1642](https://github.com/dani-garcia/vaultwarden/discussions/1642) for more explanation.
3+
An alternative server implementation of the Bitwarden Client API, written in Rust and compatible with [official Bitwarden clients](https://bitwarden.com/download/) [[disclaimer](#disclaimer)], perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.
44

55
---
6-
[![Build](https://github.com/dani-garcia/vaultwarden/actions/workflows/build.yml/badge.svg)](https://github.com/dani-garcia/vaultwarden/actions/workflows/build.yml)
7-
[![ghcr.io](https://img.shields.io/badge/ghcr.io-download-blue)](https://github.com/dani-garcia/vaultwarden/pkgs/container/vaultwarden)
8-
[![Docker Pulls](https://img.shields.io/docker/pulls/vaultwarden/server.svg)](https://hub.docker.com/r/vaultwarden/server)
9-
[![Quay.io](https://img.shields.io/badge/Quay.io-download-blue)](https://quay.io/repository/vaultwarden/server)
10-
[![Dependency Status](https://deps.rs/repo/github/dani-garcia/vaultwarden/status.svg)](https://deps.rs/repo/github/dani-garcia/vaultwarden)
11-
[![GitHub Release](https://img.shields.io/github/release/dani-garcia/vaultwarden.svg)](https://github.com/dani-garcia/vaultwarden/releases/latest)
12-
[![AGPL-3.0 Licensed](https://img.shields.io/github/license/dani-garcia/vaultwarden.svg)](https://github.com/dani-garcia/vaultwarden/blob/main/LICENSE.txt)
13-
[![Matrix Chat](https://img.shields.io/matrix/vaultwarden:matrix.org.svg?logo=matrix)](https://matrix.to/#/#vaultwarden:matrix.org)
146

15-
Image is based on [Rust implementation of Bitwarden API](https://github.com/dani-garcia/vaultwarden).
7+
[![GitHub Release](https://img.shields.io/github/release/dani-garcia/vaultwarden.svg?style=for-the-badge&logo=vaultwarden&color=005AA4)](https://github.com/dani-garcia/vaultwarden/releases/latest)
8+
[![ghcr.io Pulls](https://img.shields.io/badge/dynamic/json?style=for-the-badge&logo=github&logoColor=fff&color=005AA4&url=https%3A%2F%2Fipitio.github.io%2Fbackage%2Fdani-garcia%2Fvaultwarden%2Fvaultwarden.json&query=%24.downloads&label=ghcr.io%20pulls&cacheSeconds=14400)](https://github.com/dani-garcia/vaultwarden/pkgs/container/vaultwarden)
9+
[![Docker Pulls](https://img.shields.io/docker/pulls/vaultwarden/server.svg?style=for-the-badge&logo=docker&logoColor=fff&color=005AA4&label=docker.io%20pulls)](https://hub.docker.com/r/vaultwarden/server)
10+
[![Quay.io](https://img.shields.io/badge/quay.io-download-005AA4?style=for-the-badge&logo=redhat&cacheSeconds=14400)](https://quay.io/repository/vaultwarden/server) <br>
11+
[![Contributors](https://img.shields.io/github/contributors-anon/dani-garcia/vaultwarden.svg?style=flat-square&logo=vaultwarden&color=005AA4)](https://github.com/dani-garcia/vaultwarden/graphs/contributors)
12+
[![Forks](https://img.shields.io/github/forks/dani-garcia/vaultwarden.svg?style=flat-square&logo=github&logoColor=fff&color=005AA4)](https://github.com/dani-garcia/vaultwarden/network/members)
13+
[![Stars](https://img.shields.io/github/stars/dani-garcia/vaultwarden.svg?style=flat-square&logo=github&logoColor=fff&color=005AA4)](https://github.com/dani-garcia/vaultwarden/stargazers)
14+
[![Issues Open](https://img.shields.io/github/issues/dani-garcia/vaultwarden.svg?style=flat-square&logo=github&logoColor=fff&color=005AA4&cacheSeconds=300)](https://github.com/dani-garcia/vaultwarden/issues)
15+
[![Issues Closed](https://img.shields.io/github/issues-closed/dani-garcia/vaultwarden.svg?style=flat-square&logo=github&logoColor=fff&color=005AA4&cacheSeconds=300)](https://github.com/dani-garcia/vaultwarden/issues?q=is%3Aissue+is%3Aclosed)
16+
[![AGPL-3.0 Licensed](https://img.shields.io/github/license/dani-garcia/vaultwarden.svg?style=flat-square&logo=vaultwarden&color=944000&cacheSeconds=14400)](https://github.com/dani-garcia/vaultwarden/blob/main/LICENSE.txt) <br>
17+
[![Dependency Status](https://img.shields.io/badge/dynamic/xml?url=https%3A%2F%2Fdeps.rs%2Frepo%2Fgithub%2Fdani-garcia%2Fvaultwarden%2Fstatus.svg&query=%2F*%5Blocal-name()%3D'svg'%5D%2F*%5Blocal-name()%3D'g'%5D%5B2%5D%2F*%5Blocal-name()%3D'text'%5D%5B4%5D&style=flat-square&logo=rust&label=dependencies&color=005AA4)](https://deps.rs/repo/github/dani-garcia/vaultwarden)
18+
[![GHA Release](https://img.shields.io/github/actions/workflow/status/dani-garcia/vaultwarden/release.yml?style=flat-square&logo=github&logoColor=fff&label=Release%20Workflow)](https://github.com/dani-garcia/vaultwarden/actions/workflows/release.yml)
19+
[![GHA Build](https://img.shields.io/github/actions/workflow/status/dani-garcia/vaultwarden/build.yml?style=flat-square&logo=github&logoColor=fff&label=Build%20Workflow)](https://github.com/dani-garcia/vaultwarden/actions/workflows/build.yml) <br>
20+
[![Matrix Chat](https://img.shields.io/matrix/vaultwarden:matrix.org.svg?style=flat-square&logo=matrix&logoColor=fff&color=953B00&cacheSeconds=14400)](https://matrix.to/#/#vaultwarden:matrix.org)
21+
[![GitHub Discussions](https://img.shields.io/github/discussions/dani-garcia/vaultwarden?style=flat-square&logo=github&logoColor=fff&color=953B00&cacheSeconds=300)](https://github.com/dani-garcia/vaultwarden/discussions)
22+
[![Discourse Discussions](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fvaultwarden.discourse.group%2F&style=flat-square&logo=discourse&color=953B00)](https://vaultwarden.discourse.group/)
23+
24+
> [!IMPORTANT]
25+
> **When using this server, please report any bugs or suggestions directly to us (see [Get in touch](#get-in-touch)), regardless of whatever clients you are using (mobile, desktop, browser...). DO NOT use the official Bitwarden support channels.**
26+
27+
<br>
1628

17-
**This project is not associated with the [Bitwarden](https://bitwarden.com/) project nor Bitwarden, Inc.**
29+
## Features
1830

19-
#### ⚠️**IMPORTANT**⚠️: When using this server, please report any bugs or suggestions to us directly (look at the bottom of this page for ways to get in touch), regardless of whatever clients you are using (mobile, desktop, browser...). DO NOT use the official support channels.
31+
A nearly complete implementation of the Bitwarden Client API is provided, including:
32+
33+
* [Personal Vault](https://bitwarden.com/help/managing-items/)
34+
* [Send](https://bitwarden.com/help/about-send/)
35+
* [Attachments](https://bitwarden.com/help/attachments/)
36+
* [Website icons](https://bitwarden.com/help/website-icons/)
37+
* [Personal API Key](https://bitwarden.com/help/personal-api-key/)
38+
* [Organizations](https://bitwarden.com/help/getting-started-organizations/)
39+
- [Collections](https://bitwarden.com/help/about-collections/),
40+
[Password Sharing](https://bitwarden.com/help/sharing/),
41+
[Member Roles](https://bitwarden.com/help/user-types-access-control/),
42+
[Groups](https://bitwarden.com/help/about-groups/),
43+
[Event Logs](https://bitwarden.com/help/event-logs/),
44+
[Admin Password Reset](https://bitwarden.com/help/admin-reset/),
45+
[Directory Connector](https://bitwarden.com/help/directory-sync/),
46+
[Policies](https://bitwarden.com/help/policies/)
47+
* [Multi/Two Factor Authentication](https://bitwarden.com/help/bitwarden-field-guide-two-step-login/)
48+
- [Authenticator](https://bitwarden.com/help/setup-two-step-login-authenticator/),
49+
[Email](https://bitwarden.com/help/setup-two-step-login-email/),
50+
[FIDO2 WebAuthn](https://bitwarden.com/help/setup-two-step-login-fido/),
51+
[YubiKey](https://bitwarden.com/help/setup-two-step-login-yubikey/),
52+
[Duo](https://bitwarden.com/help/setup-two-step-login-duo/)
53+
* [Emergency Access](https://bitwarden.com/help/emergency-access/)
54+
* [Vaultwarden Admin Backend](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page)
55+
* [Modified Web Vault client](https://github.com/dani-garcia/bw_web_builds) (Bundled within our containers)
56+
57+
<br>
2058

21-
---
59+
## Usage
2260

23-
## Features
61+
> [!IMPORTANT]
62+
> Most modern web browsers disallow the use of Web Crypto APIs in insecure contexts. In this case, you might get an error like `Cannot read property 'importKey'`. To solve this problem, you need to access the web vault via HTTPS or localhost.
63+
>
64+
>This can be configured in [Vaultwarden directly](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-HTTPS) or using a third-party reverse proxy ([some examples](https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples)).
65+
>
66+
>If you have an available domain name, you can get HTTPS certificates with [Let's Encrypt](https://letsencrypt.org/), or you can generate self-signed certificates with utilities like [mkcert](https://github.com/FiloSottile/mkcert). Some proxies automatically do this step, like Caddy or Traefik (see examples linked above).
67+
68+
> [!TIP]
69+
>**For more detailed examples on how to install, use and configure Vaultwarden you can check our [Wiki](https://github.com/dani-garcia/vaultwarden/wiki).**
2470
25-
Basically full implementation of Bitwarden API is provided including:
71+
The main way to use Vaultwarden is via our container images which are published to [ghcr.io](https://github.com/dani-garcia/vaultwarden/pkgs/container/vaultwarden), [docker.io](https://hub.docker.com/r/vaultwarden/server) and [quay.io](https://quay.io/repository/vaultwarden/server).
2672

27-
* Organizations support
28-
* Attachments and Send
29-
* Vault API support
30-
* Serving the static files for Vault interface
31-
* Website icons API
32-
* Authenticator and U2F support
33-
* YubiKey and Duo support
34-
* Emergency Access
73+
There are also [community driven packages](https://github.com/dani-garcia/vaultwarden/wiki/Third-party-packages) which can be used, but those might be lagging behind the latest version or might deviate in the way Vaultwarden is configured, as described in our [Wiki](https://github.com/dani-garcia/vaultwarden/wiki).
3574

36-
## Installation
37-
Pull the docker image and mount a volume from the host for persistent storage:
75+
### Docker/Podman CLI
3876

39-
```sh
77+
Pull the container image and mount a volume from the host for persistent storage.<br>
78+
You can replace `docker` with `podman` if you prefer to use podman.
79+
80+
```shell
4081
docker pull vaultwarden/server:latest
41-
docker run -d --name vaultwarden -v /vw-data/:/data/ --restart unless-stopped -p 80:80 vaultwarden/server:latest
82+
docker run --detach --name vaultwarden \
83+
--env DOMAIN="https://vw.domain.tld" \
84+
--volume /vw-data/:/data/ \
85+
--restart unless-stopped \
86+
--publish 80:80 \
87+
vaultwarden/server:latest
4288
```
43-
This will preserve any persistent data under /vw-data/, you can adapt the path to whatever suits you.
4489

45-
**IMPORTANT**: Most modern web browsers disallow the use of Web Crypto APIs in insecure contexts. In this case, you might get an error like `Cannot read property 'importKey'`. To solve this problem, you need to access the web vault via HTTPS or localhost.
90+
This will preserve any persistent data under `/vw-data/`, you can adapt the path to whatever suits you.
4691

47-
This can be configured in [vaultwarden directly](https://github.com/dani-garcia/vaultwarden/wiki/Enabling-HTTPS) or using a third-party reverse proxy ([some examples](https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples)).
92+
### Docker Compose
4893

49-
If you have an available domain name, you can get HTTPS certificates with [Let's Encrypt](https://letsencrypt.org/), or you can generate self-signed certificates with utilities like [mkcert](https://github.com/FiloSottile/mkcert). Some proxies automatically do this step, like Caddy (see examples linked above).
94+
To use Docker compose you need to create a `compose.yaml` which will hold the configuration to run the Vaultwarden container.
5095

51-
## Usage
52-
See the [vaultwarden wiki](https://github.com/dani-garcia/vaultwarden/wiki) for more information on how to configure and run the vaultwarden server.
96+
```yaml
97+
services:
98+
vaultwarden:
99+
image: vaultwarden/server:latest
100+
container_name: vaultwarden
101+
restart: unless-stopped
102+
environment:
103+
DOMAIN: "https://vw.domain.tld"
104+
volumes:
105+
- ./vw-data/:/data/
106+
ports:
107+
- 80:80
108+
```
109+
110+
<br>
53111
54112
## Get in touch
55-
To ask a question, offer suggestions or new features or to get help configuring or installing the software, please use [GitHub Discussions](https://github.com/dani-garcia/vaultwarden/discussions) or [the forum](https://vaultwarden.discourse.group/).
56113
57-
If you spot any bugs or crashes with vaultwarden itself, please [create an issue](https://github.com/dani-garcia/vaultwarden/issues/). Make sure you are on the latest version and there aren't any similar issues open, though!
114+
Have a question, suggestion or need help? Join our community on [Matrix](https://matrix.to/#/#vaultwarden:matrix.org), [GitHub Discussions](https://github.com/dani-garcia/vaultwarden/discussions) or [Discourse Forums](https://vaultwarden.discourse.group/).
115+
116+
Encountered a bug or crash? Please search our issue tracker and discussions to see if it's already been reported. If not, please [start a new discussion](https://github.com/dani-garcia/vaultwarden/discussions) or [create a new issue](https://github.com/dani-garcia/vaultwarden/issues/). Ensure you're using the latest version of Vaultwarden and there aren't any similar issues open or closed!
58117
59-
If you prefer to chat, we're usually hanging around at [#vaultwarden:matrix.org](https://matrix.to/#/#vaultwarden:matrix.org) room on Matrix. Feel free to join us!
118+
<br>
119+
120+
## Contributors
60121
61-
### Sponsors
62122
Thanks for your contribution to the project!
63123
64-
<!--
65-
<table>
66-
<tr>
67-
<td align="center">
68-
<a href="https://github.com/username">
69-
<img src="https://avatars.githubusercontent.com/u/725423?s=75&v=4" width="75px;" alt="username"/>
70-
<br />
71-
<sub><b>username</b></sub>
72-
</a>
73-
</td>
74-
</tr>
75-
</table>
76-
77-
<br/>
78-
-->
79-
80-
<table>
81-
<tr>
82-
<td align="center">
83-
<a href="https://github.com/themightychris" style="width: 75px">
84-
<sub><b>Chris Alfano</b></sub>
85-
</a>
86-
</td>
87-
</tr>
88-
<tr>
89-
<td align="center">
90-
<a href="https://github.com/numberly" style="width: 75px">
91-
<sub><b>Numberly</b></sub>
92-
</a>
93-
</td>
94-
</tr>
95-
<tr>
96-
<td align="center">
97-
<a href="https://github.com/IQ333777" style="width: 75px">
98-
<sub><b>IQ333777</b></sub>
99-
</a>
100-
</td>
101-
</tr>
102-
</table>
124+
[![Contributors Count](https://img.shields.io/github/contributors-anon/dani-garcia/vaultwarden?style=for-the-badge&logo=vaultwarden&color=005AA4)](https://github.com/dani-garcia/vaultwarden/graphs/contributors)<br>
125+
[![Contributors Avatars](https://contributors-img.web.app/image?repo=dani-garcia/vaultwarden)](https://github.com/dani-garcia/vaultwarden/graphs/contributors)
126+
127+
<br>
128+
129+
## Disclaimer
130+
131+
**This project is not associated with [Bitwarden](https://bitwarden.com/) or Bitwarden, Inc.**
132+
133+
However, one of the active maintainers for Vaultwarden is employed by Bitwarden and is allowed to contribute to the project on their own time. These contributions are independent of Bitwarden and are reviewed by other maintainers.
134+
135+
The maintainers work together to set the direction for the project, focusing on serving the self-hosting community, including individuals, families, and small organizations, while ensuring the project's sustainability.
136+
137+
**Please note:** We cannot be held liable for any data loss that may occur while using Vaultwarden. This includes passwords, attachments, and other information handled by the application. We highly recommend performing regular backups of your files and database. However, should you experience data loss, we encourage you to contact us immediately.
138+
139+
<br>
140+
141+
## Bitwarden_RS
142+
143+
This project was known as Bitwarden_RS and has been renamed to separate itself from the official Bitwarden server in the hopes of avoiding confusion and trademark/branding issues.<br>
144+
Please see [#1642 - v1.21.0 release and project rename to Vaultwarden](https://github.com/dani-garcia/vaultwarden/discussions/1642) for more explanation.

0 commit comments

Comments
 (0)