Projet

Général

Profil

Vaultwarden(bitwarden) » Historique » Version 7

johan.le.baut, 13/10/2022 10:38

1 1 johan.le.baut
# Vaultwarden (bitwarden)
2 2 johan.le.baut
3 5 johan.le.baut
Bitwarden est un gestionnaire de mot de passes.
4 2 johan.le.baut
5 5 johan.le.baut
Vaultwarden est la version Rust de Biwarden: https://github.com/dani-garcia/vaultwarden
6 2 johan.le.baut
7
Il est disponible sur: https://coffre.aquilenet.fr/
8
9
Pour l'admin: https://coffre.aquilenet.fr/admin
10
11
Server: harpocrates
12
13
14
## Configuration
15
16
### Accès utilisateurs
17
18 5 johan.le.baut
On autorise l'inscription à tous les utilisateurs ayant un mail en **@aquilenet.fr**
19 2 johan.le.baut
20
Il est possible d'inviter des gens extérieurs via la page d'admin
21
22
### Accès admin
23
24
On accède à la page d'admin via https://coffre.aquilenet.fr/admin
25
26
Un token est demandé, il est visible sur Harpocrates dans /var/www/bitwarden/docker-compose.yaml
27
28
On ajoute en sécurité supplémentaire une Basic Auth dans Nginx, le fichier de conf est: `/var/www/bitwarden/.htpasswd`
29
Il contient les admins de Harpocrates avec le même hash password du /etc/shadow
30
31
## Installation
32
33 1 johan.le.baut
34 6 johan.le.baut
Sur le serveur Harpocrates, on installe le service vaultwarden, avec un reverse proxy nginx.
35 2 johan.le.baut
36 6 johan.le.baut
### installation du service
37 2 johan.le.baut
38 6 johan.le.baut
On peut le lancer via docker ou builder manuellement le service.
39 1 johan.le.baut
40 6 johan.le.baut
En ce moment la méthode manuelle est utilisée.
41 1 johan.le.baut
42 6 johan.le.baut
#### via docker (et docker compose)
43
44
1. Créer le dossier pour la data du service:
45
```
46
mkdir -p /srv/vw-data
47
chown -R bitwarden:bitwarden /srv/vw-data
48
```
49
50
2. On décrit le container docker à lancer via docker compose
51
52
53 2 johan.le.baut
`cat /var/www/bitwarden/docker-compose.yaml`
54 1 johan.le.baut
```yaml
55 2 johan.le.baut
version: '3'
56
57
services:
58
  vaultwarden:
59 6 johan.le.baut
    image: vaultwarden/server:1.25.2
60 2 johan.le.baut
    container_name: vaultwarden
61
    restart: always
62
    user: 1000:1000 # bitwarden user
63 4 johan.le.baut
    ports:
64
      - "127.0.0.1:8080:80"   # port app
65 2 johan.le.baut
      - "127.0.0.1:3012:3012" # port web socket
66 4 johan.le.baut
    environment:
67 2 johan.le.baut
      ADMIN_TOKEN: <Admin token> # token to connect to admin
68
      WEBSOCKET_ENABLED: "true"  # Enable WebSocket notifications.
69
      SIGNUPS_DOMAINS_WHITELIST: aquilenet.fr # on autorise seulement le @aquilenet.fr
70 4 johan.le.baut
      SIGNUPS_VERIFY: true
71 2 johan.le.baut
      INVITATIONS_ALLOWED: false  # Les utilisateurs ne peuvent pas inviter des non inscrits (seulement admin)
72 1 johan.le.baut
    volumes:
73 2 johan.le.baut
      - /srv/vw-data:/data
74 1 johan.le.baut
75
```
76
Il est possible de configurer d'autre choses via la page admin
77
78 6 johan.le.baut
3. Une fois docker installé, pour démarrer en background:
79 1 johan.le.baut
`cd /var/www/bitwarden/ && docker compose up -d`
80 6 johan.le.baut
81
(4. Mise à jour)
82
83
Ouvrir `/var/www/bitwarden/docker-compose.yaml`
84
85
changer `image: vaultwarden/server:<nouvelle version>`
86
87
88
Restart:
89
```
90
cd /var/www/bitwarden/
91
docker compose down # Service sera étteint
92
docker compose up -d --force-recreate
93
```
94
95
### Sans docker:
96
97
Il faut compiler le service et le lancer dans un systemd:
98
99
Suivre: https://gist.github.com/heinoldenhuis/f8164f73e5bff048e76fb4fff2e824e1
100 2 johan.le.baut
101 7 johan.le.baut
Install actuelle:
102
- systemd file: `/etc/systemd/system/vaultwarden.service`
103
- vaultwarden:
104
  - sources dir: /var/www/bitwarden/vaultwarden
105
  - binaire: /var/www/bitwarden/vaultwarden/target/release/vaultwarden
106
  - data dir: /var/www/bitwarden/vaultwarden/target/release/data
107
  - env file (config): /var/www/bitwarden/vaultwarden/target/release/.env
108
    - config: ```
109
WEB_VAULT_FOLDER=/var/www/bitwarden/bw_web_builds/docker_builds/web-vault
110
WEBSOCKET_ENABLED=true
111
SIGNUPS_VERIFY=true
112
SIGNUPS_DOMAINS_WHITELIST=aquilenet.fr
113
ADMIN_TOKEN=<admin token>
114
INVITATIONS_ALLOWED=false
115
ROCKET_ADDRESS=127.0.0.1
116
```
117
- web-vault
118
  - sources dir: /var/www/bitwarden/bw_web_builds/
119
  - build dir: /var/www/bitwarden/bw_web_builds/docker_builds/web-vault
120
121 2 johan.le.baut
### Reverse proxy Nginx
122
123
Le site est configuré dans `/etc/nginx/sites-available/coffre.aquilenet.fr.conf`
124
125
Les certificats sont géré par certbot (cf `sudo certbot certificates`)