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