miles-vaultwarden #71
@ -1,35 +1,65 @@
|
||||
[size=200][color=#800000][b]( [u] > TUTO mis à jour < [/u] )[/b][/color][/size]
|
||||
[size=200][color=#800000][b]( [u] > TUTO mis à jour - v3.0 < [/u] )[/b][/color][/size]
|
||||
|
||||
|
||||
Bonjour à toutes et à tous,
|
||||
|
||||
[color=#BF40BF][b][size=200]Préambule[/size][/b][/color]
|
||||
Tout d'abord, pourquoi je fais un nouveau tuto d'installation de [url=https://github.com/dani-garcia/bitwarden_rs]Bitwarden_rs[/url]... En fait je n'ai pas vu de tuto vraiment à mon goût sur l'installation de [url=https://github.com/dani-garcia/bitwarden_rs]Bitwarden_rs[/url], soit il manque des explications, soit c'est fait via l'interface DSM de docker... Donc je me décide à en faire un moi-même.
|
||||
|
||||
|
||||
[color=#4040BF][b][size=200]Sommaire :[/size][/b]
|
||||
0. Fichiers joints
|
||||
1. Note à lire : Mise à jour v3.0 (changement de nom de l'image)
|
||||
2. Préambule & Prérequis
|
||||
3- Mise en place et création des conteneurs [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color]
|
||||
3.1- Petites explications sur ce qui suivra
|
||||
3.2- Création du docker-compose.yml [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color]
|
||||
3.3- Création des dossiers et du réseau
|
||||
3.4- Création des conteneurs (2 méthodes)
|
||||
4- 1er lancement et sécurisation 2FA
|
||||
5- Ajout d'un script pour les notifications Websocket [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
5.1- Explications : Pourquoi ? Comment ? [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
5.2- Comment lancer le script ? [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
5.3- Enfin le script lui même ! [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
...
|
||||
[/color]
|
||||
|
||||
[color=#BF40BF][b][size=200]0. Fichiers joints[/size][/b][/color]
|
||||
[list]
|
||||
[*] docker-compose-v1.0.yml (plus maintenu, mais laissé pour la postérité) : [attachment=3]docker-compose-v1.0.yml.7z[/attachment]
|
||||
[*] docker-compose-v2.0.yml (plus maintenu, mais laissé pour la postérité) : [attachment=2]docker-compose-v2.0.yml.7z[/attachment]
|
||||
[*] docker-compose-v3.0.yml (La dernière version) : [attachment=1]docker-compose-v3.0.yml.7z[/attachment]
|
||||
[*] Le script pour les notifications Websockets : [attachment=0]vaultwarden__Enable_Websocket.7z[/attachment]
|
||||
[/list]
|
||||
|
||||
[color=#BF40BF][b][size=200]1. Note à lire : Mise à jour v3.0 (changement de nom de l'image)[/size][/b][/color]
|
||||
L'auteur de Bitwarden_RS, dani-garcia, a renommé son image en Vaultwarden.
|
||||
[quote][img]https://gitlab.com/BZHDeveloper/HFR/raw/master/emojis-micro/1f4e2.png[/img] 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 [url=https://github.com/dani-garcia/vaultwarden/discussions/1642]#1642[/url] for more explanation.[/quote]
|
||||
Je viens de mettre à jour l'intégralité du tuto pour que tout soit cohérent avec ce nouveau nom. Les noms des dossiers, fichier log, nom du conteneur, du réseau etc, sont donc renommé pour tenir compte du nouveau nom.
|
||||
Pour ceux qui veulent aller vite :
|
||||
[list=1]
|
||||
[*] Arrêter le conteneur Bitwarden_RS
|
||||
[*] Faire une copie de sauvegarde du dossier complet .../docker/bitwarden_rs
|
||||
[*] Renommer les trois dossiers en remplaçant bitwarden (ou bitwarden_rs) par vaultwarden : bitwarden_rs/bitwarden-data/
|
||||
[list]
|
||||
[*] bitwarden_rs/bitwarden-data/ ---> vaultwarden/vaultwarden-data/
|
||||
[*] bitwarden_rs/bitwarden-backup ---> vaultwarden/vaultwarden-backup/
|
||||
[/list]
|
||||
[*] Supprimer la stack dans Portainer, ou supprimer le conteneur via la ligne de commande.
|
||||
[*] Créer une nouvelle stack dans Portainer avec le fichier docker compose v3.0 (pensez à modifier les valeurs perso).
|
||||
[*] Vous reconnecter.
|
||||
[*] Annexe : si vous souhaitez changer de nom de domaine, créer le nouveau, et mettez le dans le docker-compose à la place de l'ancien.
|
||||
[/list]
|
||||
|
||||
|
||||
[color=#BF40BF][b][size=200]2- Préambule & Prérequis[/size][/b][/color]
|
||||
Tout d'abord, pourquoi je fais un nouveau tuto d'installation de [url=https://github.com/dani-garcia/vaultwarden]vaultwarden[/url]... En fait je n'ai pas vu de tuto vraiment à mon goût sur l'installation de [url=https://github.com/dani-garcia/vaultwarden]vaultwarden[/url], soit il manque des explications, soit c'est fait via l'interface DSM de docker... Donc je me décide à en faire un moi-même.
|
||||
Je précise qu'il n'y aura pas beaucoup de différences avec ceux trouvés sur le NET, si ce n'est ceci :
|
||||
[list]
|
||||
[*] L'utilisation de Portainer ou de la ligne de commande (=CLI) avec docker-compose
|
||||
[*] Des commentaires expliquants la plupart des options utilisées tout le long du docker-compose.yml
|
||||
[*] Une utilisation combinée avec un conteneur faisant automatiquement des sauvegardes de la base de données, là aussi avec des commentaires dans le docker-compose.yml : [url]https://gitlab.com/1O/bitwarden_rs-backup[/url]
|
||||
[*] Une utilisation combinée avec un conteneur faisant automatiquement des sauvegardes de la base de données, là aussi avec des commentaires dans le docker-compose.yml : [url]https://gitlab.com/1O/vaultwarden-backup[/url]
|
||||
[/list]
|
||||
|
||||
|
||||
[color=#4040BF][b][size=200]Sommaire :[/size][/b]
|
||||
1. Prérequis
|
||||
2- Mise en place et création des conteneurs [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color]
|
||||
2.1- Petites explications sur ce qui suivra
|
||||
2.2- Création du docker-compose.yml [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color]
|
||||
2.3- Création des dossiers et du réseau
|
||||
2.4- Création des conteneurs (2 méthodes)
|
||||
3- 1er lancement et sécurisation 2FA
|
||||
4- Ajout d'un script pour les notifications Websocket [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
4.1- Explications : Pourquoi ? Comment ? [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
4.2- Comment lancer le script ? [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
4.3- Enfin le script lui même ! [color=#800000][b]( [u] > Ajout < [/u] )[/b][/color]
|
||||
...
|
||||
[/color]
|
||||
|
||||
[color=#BF40BF][b][size=200]1- Prérequis[/size][/b][/color]
|
||||
|
||||
Pour mettre en oeuvre ce tuto, il faudra au préalable :
|
||||
[list][*] que vous ayez mis en place [b][u]Portainer[/u][/b] ([url=https://www.forum-nas.fr/viewtopic.php?f=56&t=14030]voir le tuto d'EVOTk[/url]) ;
|
||||
[*] que vous sachiez vous connecter en SSH au NAS et lancer [i]docker-compose up -d[/i] si vous optez pour la création des conteneurs en ligne de commande (vous trouverez ici un tuto explicatif : [url=https://www.forum-nas.fr/viewtopic.php?f=56&t=11461][Tuto] Acceder à son NAS en lignes de commande[/url]) ;
|
||||
@ -37,46 +67,57 @@ Pour mettre en oeuvre ce tuto, il faudra au préalable :
|
||||
[/list]
|
||||
|
||||
|
||||
[size=200][color=#BF40BF][b]2- Mise en place et création des conteneurs[/b][/color] [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color][/size]
|
||||
[size=200][color=#BF40BF][b]43- Mise en place et création des conteneurs[/b][/color] [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color][/size]
|
||||
|
||||
[color=#BF40BF][b][size=150]2.1- Petites explications sur ce qui suivra[/size][/b][/color]
|
||||
[color=#BF40BF][b][size=150]3.1- Petites explications sur ce qui suivra[/size][/b][/color]
|
||||
|
||||
Le but de ce tuto est de tout préparer sur l'ordinateur avant de placer les fichiers/dossiers au bon endroit, tout en comprenant bien ce qui est fait et les implications de certaines options.
|
||||
On va tout d'abord commencer par créer un fichier [i]docker-compose.yml[/i] qui pourra servir pour les deux méthodes d'installation (Portainer, ou CLI).
|
||||
J'opte pour combiner la création des deux conteneurs ([b]bitwarden_rs[/b] et [b]Bitwarden_rs Backup[/b]) en un seul fichier [i]docker-compose.yml[/i]. J'ai également choisi de placer ces deux conteneurs dans un même réseau (network) que je nomme [i]bitwarden_network[/i].
|
||||
J'opte pour combiner la création des deux conteneurs ([b]vaultwarden[/b] et [b]vaultwarden Backup[/b]) en un seul fichier [i]docker-compose.yml[/i]. J'ai également choisi de placer ces deux conteneurs dans un même réseau (network) que je nomme [i]vaultwarden_network[/i].
|
||||
Ensuite il faudra créer ce réseau et les dossiers utilisés avant de créer les conteneurs.
|
||||
Pour les dossiers, je pars sur cette organisation : (sur le volume1)
|
||||
[url=https://i.imgur.com/4A40l2A.png][img]https://i.imgur.com/4A40l2A.png[/img][/url]
|
||||
[img]https://i.imgur.com/h0BsuDT.png[/img]
|
||||
|
||||
|
||||
[b][color=#800000]Note : Tout ce qui sera XXxxXX sera à remplacer par vos valeurs. J'indiquerais comment les obtenir si ce n'est pas évident.[/color][/b]
|
||||
|
||||
[size=150][color=#BF40BF][b]2.2- Création du docker-compose.yml[/b][/color] [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color][/size]
|
||||
Vous pouvez télécharger le fichier ci-joint :
|
||||
[list][*] Ancienne version [attachment=1]ANCIEN--docker-compose--bitwardenrs-et-backup.7z[/attachment]
|
||||
[*] [b][color=#800000]Nouvelle version du fichier docker-compose :[/color][/b] [attachment=2]NOUVEAU - bitwardenrs_backup_docker-compose.7z[/attachment]
|
||||
[/list]
|
||||
[size=150][color=#800000][b]( Dans la mise à jour du tuto, j'ai ajouté pas mal de commentaires dans le fichier docker-compose.yml. Lisez-les attentivement )[/b][/color][/size]
|
||||
[size=150][color=#BF40BF][b]3.2- Création du docker-compose.yml[/b][/color] [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color][/size]
|
||||
Voir le fichier ci-joint dans le §0.
|
||||
[size=150][color=#800000][b]( Dans la mise à jour du tuto (v2.0), j'ai ajouté pas mal de commentaires dans le fichier docker-compose.yml. Lisez-les attentivement )[/b][/color][/size]
|
||||
|
||||
Ce fichier est composé de trois parties : une partie dédiée à bitwarden_rs et à sa configuration, et une autre partie dédiée à bitwarden_rs backup et à sa configuration, et enfin une pour le réseau.
|
||||
Ce fichier est composé de trois parties : une partie dédiée à vaultwarden et à sa configuration, et une autre partie dédiée à vaultwarden backup et à sa configuration, et enfin une pour le réseau.
|
||||
|
||||
[u][b]Explications sur la partie configuration ([b][color=#4040FF]partie 1[/color][/b]) de bitwarden_rs (1ère partie du docker-compose.yml) :[/b][/u]
|
||||
[u][b]Explications sur la partie configuration ([b][color=#4040FF]partie 1[/color][/b]) de vaultwarden (1ère partie du docker-compose.yml) :[/b][/u]
|
||||
|
||||
Ce qui suit met en place la version de docker-compose à utiliser : pour plus de compatibilité (et par simplicité car je ne maitrise pas la v3...) on part sur une v2.
|
||||
Je place dans l'extrait ci-dessous des commentaires supplémentaires (non présents dans le fichier joint) pour expliquer les choix faits.
|
||||
[code]##==============================================================================================
|
||||
## ##
|
||||
## Fichier docker-compose.yml pour Bitwarden_RS avec Bitwarden-Backup ##
|
||||
## Fichier docker-compose.yml pour vaultwarden avec Bitwarden-Backup ##
|
||||
## Révision du fichier : v3.0 ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Attention, avec ce fichier, il faut avoir créer le réseau "bitwarden_network" avant de ##
|
||||
## Attention, avec ce fichier, il faut avoir créer le réseau "vaultwarden_network" avant de ##
|
||||
## créer les conteneurs. ##
|
||||
## ##
|
||||
## La mise en place de fail2ban se fera avec un docker-compose dédié. ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## NOTE IMPORTANTE ##
|
||||
## ----------------- ##
|
||||
## ##
|
||||
## Lors de l'importation d'un fichier contenant beaucoup d'entrées, j'ai eu une erreur ##
|
||||
## 405 Not Allowed - Nginx ##
|
||||
## Après quelques recherches, et un certains nombre de minutes, il s'est avéré que les ##
|
||||
## expiration du délai ... (les timeout) dans le reverse proxy par défaut de 60s étaient ##
|
||||
## trop faible. ##
|
||||
## En passant les 3 valeurs à 300s (5min), ça a réglé mon problème. ##
|
||||
## (Pensez à relancer le script vaultwarden__Enable_Websocket.sh après ces modifications) ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Ajout des Notifications Websocket ##
|
||||
## ##
|
||||
## Pour qu'elles'fonctionnent, il faut configurer le reverse-proxy correctement. ##
|
||||
@ -84,43 +125,44 @@ Je place dans l'extrait ci-dessous des commentaires supplémentaires (non prése
|
||||
## redirections /notifications/hub vers le serveur WebSocket ni celles vers le port normal ##
|
||||
## /notifications/hub/negotiate ##
|
||||
## Voir cet article pour tout ce qui n'est pas possible via l'interface de DSM : ##
|
||||
## https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications ##
|
||||
## https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications ##
|
||||
## ##
|
||||
## Dès lors, il faut ruser et passer par l'exécution d'un petit script qui va créer un ##
|
||||
## fchier ws.locations contenant les modifications précédentes, et qui va écrire une ##
|
||||
## ligne dans le fichier /etc/nginx/app.d/server.ReverseProxy.conf pour inclure le ##
|
||||
## fichier ws.locations au niveau de la section concernant le nom de domaine pour ##
|
||||
## bitwarden_RS. ##
|
||||
## vaultwarden. ##
|
||||
## Comme cela, il n'est pas nécessaire de passer par le changement de reverse-proxy, assez ##
|
||||
## complexe à mettre en oeuvre... ##
|
||||
## ##
|
||||
## Le script est : Bitwarden_RS__Enable_Websocket.sh ##
|
||||
## Le script est : vaultwarden__Enable_Websocket.sh ##
|
||||
## ##
|
||||
## Il faudra la lancer régulièrement et à chaque redémarrage du NAS, via deux tâches ##
|
||||
## plannifiées dédiées, en donnant 3 paramètres au fichier : ##
|
||||
## - le nom de domaine de bitwarden ##
|
||||
## - le nom de domaine de vaultwarden ##
|
||||
## - le port HTTP exposé (donc pas l'interne du conteneur) pour l'interface graphique ##
|
||||
## - le port websocket exposé (donc pas l'interne du conteneur) ##
|
||||
## Voir les commentaires de ce fichier Bitwarden_RS__Enable_Websocket.sh pour plus ##
|
||||
## Voir les commentaires de ce fichier vaultwarden__Enable_Websocket.sh pour plus ##
|
||||
## d'explications. ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
|
||||
---
|
||||
version: "2"
|
||||
version: "2.4"
|
||||
|
||||
services:
|
||||
bitwardenrs: # Voir : https://github.com/dani-garcia/bitwarden_rs
|
||||
image: bitwardenrs/server:latest
|
||||
container_name: bitwardenrs
|
||||
vaultwarden:
|
||||
image: vaultwarden/server:latest # https://github.com/dani-garcia/vaultwarden
|
||||
# https://github.com/dani-garcia/vaultwarden/wiki
|
||||
container_name: vaultwarden
|
||||
networks:
|
||||
- bitwarden_network
|
||||
- vaultwarden_network
|
||||
environment:
|
||||
# Utiliser la commande (en SSH) : id NOM_UTILISATEUR
|
||||
- PUID=XXxxXX
|
||||
- PGID=XXxxXX
|
||||
- PUID=1000
|
||||
- PGID=100
|
||||
- TZ=Europe/Paris
|
||||
|
||||
|
||||
# Pour l'envoi d'emails
|
||||
- SMTP_HOST=XXxxXX
|
||||
- SMTP_FROM=XXxxXX
|
||||
@ -130,15 +172,15 @@ services:
|
||||
- SMTP_USERNAME=XXxxXX
|
||||
- SMTP_PASSWORD=XXxxXX
|
||||
|
||||
- INVITATION_ORG_NAME=Bitwarden_RS [Votre Nom, pseudo...] # Permet de spécifier un nom d'application pour les invitations d'organisation
|
||||
- INVITATION_ORG_NAME=Vaultwarden [Votre Nom, pseudo...] # Permet de spécifier un nom d'application pour les invitations d'organisation
|
||||
|
||||
# Nécessaire pour activer le 2FA pour la connexion à notre serveur bitwarden_rs
|
||||
# Nécessaire pour activer le 2FA pour la connexion à notre serveur Vaultwarden
|
||||
# Il est possible de spécifier un port de connexion dans l'URL. Le https:// est obligatoire.
|
||||
# Pour cette option, il est donc OBLIGATOIRE d'avoir fait le nécessaire pour avoir du HTTPS (certificats, reverse-proxy, ...)
|
||||
- DOMAIN=XXxxXX
|
||||
|
||||
# Pour enregistrer les log avec un niveau particulier
|
||||
- LOG_FILE=/data/bitwarden.log
|
||||
- LOG_FILE=/data/vaultwarden.log
|
||||
- LOG_LEVEL=warn
|
||||
- EXTENDED_LOGGING=true
|
||||
|
||||
@ -146,7 +188,7 @@ services:
|
||||
- SHOW_PASSWORD_HINT=false
|
||||
|
||||
# Pour activer la console d'administation, accessible via : https://mon.domaine.tld/admin/
|
||||
# Voir détails ici : https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page
|
||||
# Voir détails ici : https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page
|
||||
# /!\
|
||||
# /!\ N'importe qui pourra accéder à la page de connexion, alors blinder le token d'amdin ci-dessous (64 caractères pour moi) !
|
||||
# /!\ Il est de plus TRÈS important d'avoir ACTIVÉ le HTTPS avant l'activation de cette option.
|
||||
@ -169,41 +211,46 @@ services:
|
||||
|
||||
# Pour activer la récupération des icones des IP LAN, il faut mettre sur false la variable ICON_BLACKLIST_NON_GLOBAL_IPS
|
||||
- ICON_BLACKLIST_NON_GLOBAL_IPS=false # Par défaut = true
|
||||
|
||||
# On défini ici quelques chemins de dossiers qu'il faudra créer (pas sur que le conteneur les crées lui-même...)
|
||||
- ICON_CACHE_FOLDER=data/icon_cache
|
||||
- ATTACHMENTS_FOLDER=data/attachments
|
||||
- SENDS_FOLDER=data/sends
|
||||
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
|
||||
volumes:
|
||||
- "/volume1/docker/bitwarden_rs/bitwarden-data/:/data/"
|
||||
- "/volume1/docker/vaultwarden/vaultwarden-data/:/data/"
|
||||
ports:
|
||||
- XXxxXX:3012 # Choisir un port libre pour le websocket
|
||||
- XXxxXX:80 # Choisir un port libre pour l'interface WEB
|
||||
restart: unless-stopped[/code]
|
||||
restart: unless-stopped
|
||||
[/code]
|
||||
|
||||
|
||||
[u][b]Maintenant la deuxième partie ([b][color=#4040FF]partie 2[/color][/b]) qui peut ne pas être utilisée si vous ne souhaitez pas sauvegarder automatiquement la BDD :[/b][/u] [color=#800000][b]( [u] > Mise à jour < [/u] )[/b][/color]
|
||||
|
||||
Comme précédemment, les indications sont en commentaires)
|
||||
[code] # Sauvegarde automatique de la base de données, au-cas-où !
|
||||
bitwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup
|
||||
vaultwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup
|
||||
image: bruceforce/bw_backup:latest
|
||||
container_name: bitwarden_backup
|
||||
container_name: vaultwarden_backup
|
||||
networks:
|
||||
- bitwarden_network
|
||||
- vaultwarden_network
|
||||
restart: always
|
||||
depends_on:
|
||||
bitwardenrs:
|
||||
vaultwarden:
|
||||
condition: service_healthy
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
volumes:
|
||||
#- /etc/localtime:/etc/localtime:ro # Devenu inutile sur nos Syno avec la variable d'env. TZ (voir plus bas)
|
||||
- /volume1/docker/bitwarden_rs/bitwarden-data/:/data/
|
||||
- /volume1/docker/vaultwarden/vaultwarden-data/:/data/
|
||||
# Chemin d'accès pour stocker le backup, voir https://gitlab.com/1O/bitwarden_rs-backup#wrong-permissions
|
||||
- /volume1/docker/bitwarden_rs/bitwarden-backup:/backup_folder/
|
||||
- /volume1/docker/vaultwarden/vaultwarden-backup:/backup_folder/
|
||||
|
||||
environment:
|
||||
# Path to the Bitwarden sqlite3 database inside the container
|
||||
# Path to the vaultwarden sqlite3 database inside the container
|
||||
- DB_FILE=/data/db.sqlite3
|
||||
|
||||
# Path to the desired backup location inside the container
|
||||
@ -224,7 +271,7 @@ Comme précédemment, les indications sont en commentaires)
|
||||
- TIMESTAMP=true
|
||||
|
||||
# User ID to run the cron job with
|
||||
- UID=1038 # J'ai créé un utilisateur dédié à Bitwarden, utiliser la commande 'id nom_user'
|
||||
- UID=1000 # J'ai créé un utilisateur dédié à vaultwarden, utiliser la commande 'id nom_user'
|
||||
|
||||
# Group ID to run the cron job with
|
||||
- GID=100
|
||||
@ -248,24 +295,24 @@ Comme précédemment, les indications sont en commentaires)
|
||||
|
||||
[u][b]Et enfin une dernière partie ([b][color=#4040FF]partie 3[/color][/b]) qui est obligatoire, celle qui concerne le réseau :[/b][/u]
|
||||
[code]networks: # On indique ici de quel réseau on parlait précédement
|
||||
bitwarden_network:
|
||||
vaultwarden_network:
|
||||
external: # C'est un réseau créé en dehors du docker-compose.
|
||||
name: bitwarden_network # Je précise toujours un nom, car sinon ça va prendre un nom à rallonge avec
|
||||
name: vaultwarden_network # Je précise toujours un nom, car sinon ça va prendre un nom à rallonge avec
|
||||
# le nom du conteneur et du réseau voulu...
|
||||
[/code]
|
||||
|
||||
Il est à préciser que ces trois parties sont à fusionner en un seul et même fichier. Je les ai séparer pour les explications.
|
||||
Voir le fichier docker-compose.yml joint précédement.
|
||||
|
||||
[color=#BF40BF][b][size=150]2.3- Création des dossiers et du réseau[/size][/b][/color]
|
||||
[color=#BF40BF][b][size=150]3.3- Création des dossiers et du réseau[/size][/b][/color]
|
||||
|
||||
La partie explications des options à placer dans le fichier [i]docker-compose.yml[/i] étant faite, passons à la [b]création des dossiers sur le NAS[/b].
|
||||
Vous pouvez soit passer par DSM, soit par la ligne de commande.
|
||||
Si vous optez pour la CLI, voilà les commandes à taper :
|
||||
[code]sudo -i
|
||||
cd /volume1/docker
|
||||
mkdir -p bitwarden_rs bitwarden_rs/bitwarden-data bitwarden_rs/bitwarden-backup[/code]
|
||||
Une fois ces dossiers créés, copier votre [i]docker-compose.yml[/i] dans le dossier [b]/volume1/docker/bitwarden_rs[/b].
|
||||
mkdir -p vaultwarden vaultwarden/vaultwarden-data vaultwarden/vaultwarden-backup[/code]
|
||||
Une fois ces dossiers créés, copier votre [i]docker-compose.yml[/i] dans le dossier [b]/volume1/docker/vaultwarden[/b].
|
||||
|
||||
Il faut maintenant créer le réseau. Plusieurs possibilités existent.
|
||||
Soit vous passez par DSM (non expliquée ici), soit vous passez par Portainer, soit enfin via la CLI.
|
||||
@ -273,15 +320,15 @@ Soit vous passez par DSM (non expliquée ici), soit vous passez par Portainer, s
|
||||
Dans Portainer, il faut aller dans la section [b]Networks[/b], et ensuite cliquer sur le bouton [b]Add Network[/b] :
|
||||
[url=https://i.imgur.com/GleZg5t.png][img]https://i.imgur.com/GleZg5t.png[/img][/url]
|
||||
Ensuite, il suffit juste de rentrer le nom du réseau à créer (ici : ) et de bien choisir Bridge comme Driver :
|
||||
[url=https://i.imgur.com/g3AJxFC.png][img]https://i.imgur.com/g3AJxFCl.png[/img][/url]
|
||||
[url=https://i.imgur.com/U30Nab4.png][img]https://i.imgur.com/U30Nab4.png[/img][/url]
|
||||
Il n'y a pas besoin de toucher au reste. Portainer choisir les IP en fonction de ce qui est déjà créé chez vous.
|
||||
________________
|
||||
|
||||
[*] [b][color=#008040] Utilisation de la CLI :[/color][/b]
|
||||
Pour créer le réseau bitwarden_network :
|
||||
[code]sudo docker network create bitwarden_network[/code]
|
||||
Pour créer le réseau vaultwarden_network :
|
||||
[code]sudo docker network create vaultwarden_network[/code]
|
||||
Si vous voulez supprimer le réseau ainsi créé, il faut taper :
|
||||
[code]sudo docker network rm bitwarden_network[/code]
|
||||
[code]sudo docker network rm vaultwarden_network[/code]
|
||||
Au besoin, si vous voulez lister les réseeaux :
|
||||
[code]sudo docker network ls[/code]
|
||||
Note : Si vous avez plusieurs commandes à taper en mode root, il faut faire : [i]sudo -i[/i]
|
||||
@ -290,7 +337,7 @@ Et ensuite taper vos commande sans le [i]sudo[/i] devant.
|
||||
|
||||
|
||||
|
||||
[color=#BF40BF][b][size=150]2.4- Création des conteneurs (2 méthodes)[/size][/b][/color]
|
||||
[color=#BF40BF][b][size=150]3.4- Création des conteneurs (2 méthodes)[/size][/b][/color]
|
||||
Maintenant tout est prêt pour qu'on se lance dans la création des conteneurs.
|
||||
Deux possibilités : passer par Portainer, ou bien la CLI.
|
||||
[list]
|
||||
@ -298,39 +345,44 @@ Deux possibilités : passer par Portainer, ou bien la CLI.
|
||||
Il faut aller dans la section "[b]Stacks[/b]", puis cliquer sur le bouton "[b]+ Add stack[/b]" :
|
||||
[url=https://i.imgur.com/CIMB1gp.png][img]https://i.imgur.com/CIMB1gp.png[/img][/url]
|
||||
Ensuite, on donne un nom à la stack que l'on va créer et on copie/colle le contenu du fichier [b][i]docker-compose.yml[/i][/b] créé précédemment :
|
||||
[url=https://i.imgur.com/c1oY59d.png][img]https://i.imgur.com/c1oY59dl.png[/img][/url]
|
||||
[url=https://i.imgur.com/68iYBEr.png][img]https://i.imgur.com/68iYBEr.png[/img][/url]
|
||||
Il est également possible d'uploader ce dit fichier en utilisant le bouton "Upload" : (je n'ai personnellement jamais utiliser cette option, mais il n'y a pas de raison pour qu'elle ne fonctionne pas)
|
||||
[url=https://i.imgur.com/XxbFs6F.png][img]https://i.imgur.com/XxbFs6Fl.png[/img][/url]
|
||||
[url=https://i.imgur.com/W57Jw4G.png][img]https://i.imgur.com/W57Jw4G.png[/img][/url]
|
||||
|
||||
Il ne reste plus qu'à cliquer sur le bouton "Deploy the stack" tout en bas à gauche de la page :
|
||||
[url=https://i.imgur.com/nJE7Z2R.png][img]https://i.imgur.com/nJE7Z2Rl.png[/img][/url]
|
||||
[url=https://i.imgur.com/ayxVdBT.png][img]https://i.imgur.com/ayxVdBT.png[/img][/url]
|
||||
|
||||
Si une erreur apparait, ce sera dans le coin supérieur droit dans un rectangle rouge, essayer d'en faire une capture avant sa disparition.
|
||||
Si non, un message en vert apparait et les conteneurs seront créés :
|
||||
[url=https://i.imgur.com/3jMl1BF.png][img]https://i.imgur.com/3jMl1BF.png[/img][/url]
|
||||
[url=https://i.imgur.com/fixEiJh.png][img]https://i.imgur.com/fixEiJh.png[/img][/url]
|
||||
[url=https://i.imgur.com/T2UpRR4.png][img]https://i.imgur.com/T2UpRR4.png[/img][/url]
|
||||
Vous noterez dans cette stack, il est possible de l'éditer pour la modifier avec l'onglet [b]Editor[/b] :
|
||||
[url=https://i.imgur.com/IaHNqZZ.png][img]https://i.imgur.com/IaHNqZZ.png[/img][/url]
|
||||
[url=https://i.imgur.com/wKptW0e.png][img]https://i.imgur.com/wKptW0e.png[/img][/url]
|
||||
__________
|
||||
|
||||
[*] [b][color=#008040] Par [u]la CLI[/u] :[/color][/b]
|
||||
Avec la ligne de commande, il faut être en root (voir remarque faite précédemment à ce propos...).
|
||||
Il faut aussi être dans le dossier contenant le fichier docker-compose, sinon il faut spécifier avec un argument supplémentaire le fichier et son chemin. Je choisi la facilité : on se place dans le bon dossier :
|
||||
[code]cd /volume1/docker/bitwarden_rs
|
||||
Il faut aussi être dans le dossier contenant le fichier [b][i]docker-compose.yml[/i][/b] (attention au nom, il doit être exactement [b][i]docker-compose.yml[/i][/b]), sinon il faut spécifier avec un argument supplémentaire le fichier et son chemin. Je choisi la facilité : on se place dans le bon dossier :
|
||||
[code]cd /volume1/docker/Vaultwarden
|
||||
sudo docker-compose up -d[/code]
|
||||
La création des deux conteneurs se fait et ils démarrent.
|
||||
[/list]
|
||||
|
||||
|
||||
|
||||
[color=#BF40BF][b][size=200]3- 1er lancement et sécurisation 2FA[/size][/b][/color]
|
||||
[color=#BF40BF][b][size=200]4- 1er lancement et sécurisation 2FA[/size][/b][/color]
|
||||
Une fois les étapes précédentes accomplies, il faut accéder au serveur avec l'url que vous avez indiqué dans la configuration.
|
||||
Si vous essayer d'accéder via l'IP LAN en http ça ne fonctionnera pas, car le HTTPS est activé, vous aurez l'erreur suivante :
|
||||
[url=https://i.imgur.com/fgfVIHs.png][img]https://i.imgur.com/fgfVIHs.png[/img][/url]
|
||||
Et si vous essayer toujours avec l'IP mais en HTTPS, vous aurez cette erreur :
|
||||
[url=https://i.imgur.com/NpwOycm.png][img]https://i.imgur.com/NpwOycml.png[/img][/url]
|
||||
Bref, il faut y accéder avec votre nom de domaine :
|
||||
[url=https://i.imgur.com/YnfDVX9.png][img]https://i.imgur.com/YnfDVX9l.png[/img][/url]
|
||||
[url=https://i.imgur.com/uBTXLKe.png][img]https://i.imgur.com/uBTXLKe.png[/img][/url]
|
||||
|
||||
[color=#800000][b]( [u] > Mise à jour - v3.0 < [/u] )[/b]
|
||||
Vous devriez voir ici "© 2021, Bitwarden Inc. (Powered by Vaultwarden)", ceci marque le changement de nom de l'image, voir §1)
|
||||
[/color]
|
||||
|
||||
Il faut ensuite créer votre compte et vous pourrez alors créer vos mots de passe, importer depuis un autre logiciel de mot de passe...
|
||||
[url=https://i.imgur.com/5sIki2u.png][img]https://i.imgur.com/5sIki2u.png[/img][/url]
|
||||
|
||||
@ -359,18 +411,18 @@ Il faut ajouter ceci :
|
||||
[size=200][color=#800000][b]( [u] > Mise à jour : AJOUT < [/u] )[/b][/color][/size]
|
||||
|
||||
|
||||
[color=#BF00BF][size=200][b]4- Ajout d'un script pour les notifications Websocket[/b][/size][/color]
|
||||
[color=#BF00BF][size=200][b]5- Ajout d'un script pour les notifications Websocket[/b][/size][/color]
|
||||
Alors, après pas mal de temps de recherche, j'ai finalement trouvé comment activer les notifications Websocket et j'ai aussi compris leur utilité.
|
||||
J'ai trouvé la méthode sur le forum officiel de Bitwarden_RS, où ce lien a été posté : https://gist.github.com/nstanke/3949ae1c4706854d8f166d1fb3dadc81
|
||||
J'ai trouvé la méthode sur le forum officiel de Vaultwarden, où ce lien a été posté : https://gist.github.com/nstanke/3949ae1c4706854d8f166d1fb3dadc81
|
||||
J'ai pris ce script, et je l'ai amélioré selon mes goûts de sureté, et d'explications (vous verrez plus bas de quoi je parle).
|
||||
|
||||
[color=#BF40BF][b][size=150]4.1- Explications : Pourquoi ? Comment ?[/size][/b][/color]
|
||||
[color=#BF40BF][b][size=150]5.1- Explications : Pourquoi ? Comment ?[/size][/b][/color]
|
||||
|
||||
Ces notifications servent à mettre à jour automatiquement les extensions navigateurs et les clients non mobiles, donc les applications windows, macos, etc, mais pas android et iOS. Pour ces derniers OS, ce n'est juste pas possible avec Bitwarden_RS, car il faudrait passer par les serveurs de Bitwarden pour les notifications push. Et Bitwarden_RS ne peut pas le faire.
|
||||
Ces notifications servent à mettre à jour automatiquement les extensions navigateurs et les clients non mobiles, donc les applications windows, macos, etc, mais pas android et iOS. Pour ces derniers OS, ce n'est juste pas possible avec Vaultwarden, car il faudrait passer par les serveurs de Bitwarden pour les notifications push. Et Vaultwarden ne peut pas le faire.
|
||||
|
||||
Pour activer ces notifications Websocket, il faut faire plusieurs choses. Seul ce qui suit est faisable directement depuis DSM, dans le reverse-proxy :
|
||||
[url=https://i.imgur.com/LP6lRid.png][img]https://i.imgur.com/LP6lRid.png[/img][/url]
|
||||
Lors de la création de la règle pour BitwardenRS, il faut ajouter les entêtes personnalisés suivants : (pensez à utiliser le bouton pour créer automatiquement les deux premières lignes)
|
||||
Lors de la création de la règle pour Vaultwarden, il faut ajouter les entêtes personnalisés suivants : (pensez à utiliser le bouton pour créer automatiquement les deux premières lignes)
|
||||
[url=https://i.imgur.com/PenfXww.png][img]https://i.imgur.com/PenfXww.png[/img][/url] [url=https://i.imgur.com/B3nlyXP.png][img]https://i.imgur.com/B3nlyXP.png[/img][/url]
|
||||
|
||||
Pour le reste, malheureusement il n'est pas possible de le faire depuis DSM... car bien le moteur du reverse-proxy est nginx, il n'y a pas d'interface graphique pour le faire.
|
||||
@ -379,7 +431,7 @@ Il faut passer par un script qui va créer un fichier [b]ws.locations[/b] conten
|
||||
C'est donc un prérequis (voir les captures précédentes).
|
||||
Le fichier qui sera créé ressemblera à ceci :
|
||||
[url=https://i.imgur.com/BFfTHvA.png][img]https://i.imgur.com/BFfTHvA.png[/img][/url]
|
||||
[color=#800040][b]Il faudra adapter le script suivant [u]pour tenir compte de votre adresse IP de l'hôte[/u] du conteneur bitwarden.[/b][/color] C'est-à-dire remplacer 192.168.2.200 par l'IP de votre NAS.
|
||||
[color=#800040][b]Il faudra adapter le script suivant [u]pour tenir compte de votre adresse IP de l'hôte[/u] du conteneur vaultwarden.[/b][/color] C'est-à-dire remplacer 192.168.2.200 par l'IP de votre NAS.
|
||||
|
||||
Il est à noter que le fichier [b]/etc/nginx/app.d/server.ReverseProxy.conf[/b] est réinitialisé à chaque démarrage du NAS, mais aussi à chaque changement dans l'interface graphique du reverse-proxy dans DSM. Il faut donc le lancer périodiquement.
|
||||
Il faudra créer une tâche planifiée en conséquence.
|
||||
@ -387,33 +439,34 @@ En ce qui me concerne j'ai créé une tâche déclenchée à chaque démarrage d
|
||||
La modification du fichier ressemblera à ceci :
|
||||
[url=https://i.imgur.com/TPJOBIk.png][img]https://i.imgur.com/TPJOBIk.png[/img][/url]
|
||||
|
||||
[color=#BF40BF][b][size=150]4.2- Comment lancer le script ?[/size][/b][/color]
|
||||
[color=#BF40BF][b][size=150]5.2- Comment lancer le script ?[/size][/b][/color]
|
||||
|
||||
Le script (présent dans le § suivant) doit être lancé avec 3 arguments, sinon vous aurez un beau message indiquant que vous avez fait n'importe quoi... (mais sans rien casser, j'ai bien fait les choses).
|
||||
Si le script n'est pas lancé avec le bon nombre d'arguments, vous aurez ce message :
|
||||
[url=https://i.imgur.com/YpocS4D.png][img]https://i.imgur.com/YpocS4D.png[/img][/url]
|
||||
[url=https://i.imgur.com/bRkCtSF.png][img]https://i.imgur.com/bRkCtSF.png[/img][/url]
|
||||
|
||||
Attention, s'il y a bien 3 arguments, je n'ai pas fait de vérification, à vous de savoir ce que vous faites !
|
||||
Voici quelques explications sur les arguments à placer.
|
||||
[list=][*] Le premier est votre nom de domaine pour Bitwarden-RS.
|
||||
[list=][*] Le premier est votre nom de domaine pour Vaultwarden.
|
||||
[*] Le second est le port déclaré dans le reverse proxy pour accéder à l'interface web : par défaut c'est 80. Il sera probablement modifié dans votre installation (voir fichier docker-compose).
|
||||
[*] Le troisième est le port websocket qui par défaut est le 3012. Il sera probablement modifié dans votre installation (voir fichier docker-compose).[/list]
|
||||
|
||||
Exemple de commande à placer dans le planificateur de tâches :
|
||||
[code]bash /volume1/docker/_Scripts-DOCKER/Bitwarden_RS__Enable_Websocket.sh mon-ndd-a-moi.tld 8001 3012[/code]
|
||||
[code]bash /volume1/docker/_Scripts-DOCKER/vaultwarden_RS__Enable_Websocket.sh mon-ndd-a-moi.tld 8001 3012[/code]
|
||||
|
||||
Voilà voilà pour les explications.
|
||||
Il faudra le lancer une fois après avoir paramétré les tâches.
|
||||
|
||||
[color=#BF40BF][b][size=150]4.3- Enfin le script lui même ![/size][/b][/color]
|
||||
[color=#BF40BF][b][size=150]5.3- Enfin le script lui même ![/size][/b][/color]
|
||||
|
||||
Voilà le script. Attention, j'ai mis pas mal de commentaires dans le script, et que j'ai mis des lignes echo permettant d'avoir un retour d'exécution pour le log qu'on obtient.
|
||||
Lisez bien les commentaire ;) (pièce jointe : [attachment=0]Bitwarden_RS__Enable_Websocket.7z[/attachment]
|
||||
Voir §0 pour télécharger le fichier.
|
||||
Attention, j'ai mis pas mal de commentaires dans le script, et que j'ai mis des lignes echo permettant d'avoir un retour d'exécution pour le log qu'on obtient.
|
||||
Lisez bien les commentaire ;)
|
||||
|
||||
[code]#!/bin/bash
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Script Bitwarden_RS__Enable_Websocket.sh ##
|
||||
## Script vaultwarden__Enable_Websocket.sh ##
|
||||
## ##
|
||||
## Source : https://gist.github.com/nstanke/3949ae1c4706854d8f166d1fb3dadc81 ##
|
||||
## ##
|
||||
@ -421,11 +474,11 @@ Lisez bien les commentaire ;) (pièce jointe : [attachment=0]Bitwarden_RS__Enabl
|
||||
## ##
|
||||
## Ce script pemet de router ce qui ne peut pas être fait avec le reverse-proxy ##
|
||||
## de DSM (Synology) pour faire fonctionner les notifications Websocket ##
|
||||
## Doc. Bitwarden_RS : ##
|
||||
## Doc. vaultwarden : ##
|
||||
## Route the /notifications/hub endpoint to the WebSocket server, by default ##
|
||||
## at port 3012, making sure to pass the Connection and Upgrade headers. ##
|
||||
## (Note the port can be changed with WEBSOCKET_PORT variable) ##
|
||||
## https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications ##
|
||||
## https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
@ -437,35 +490,28 @@ Lisez bien les commentaire ;) (pièce jointe : [attachment=0]Bitwarden_RS__Enabl
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## /!\ Il faut modifier l'adresse IP en ligne 89 et 95 par l'IP du NAS /!\ ##
|
||||
## /!\ Il faut modifier l'adresse IP en ligne 79 et 85 par l'IP du NAS /!\ ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Paramètres de lancement du script : ##
|
||||
## bash /volume1/docker/bitwarden/enable_ws.sh vault.example.com 5555 5556 ##
|
||||
## bash /volume1/docker/vaultwarden/enable_ws.sh vault.example.com 5555 5556 ##
|
||||
## ##
|
||||
## -- vault.example.com = Nom de domaine de Bitwarden_rs (celui du Reverse Proxy de DSM) ##
|
||||
## -- vault.example.com = Nom de domaine de vaultwarden (celui du Reverse Proxy de DSM) ##
|
||||
## -- 5555 = Port exposé ROCKET_PORT par Docker (Identique à celui du Reverse Proxy de DSM) ##
|
||||
## -- 5556 = Port exposé WEBSOCKET_PORT par Docker ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
|
||||
##===========================================================================================================
|
||||
## ##
|
||||
## Ma commande à lancer : ##
|
||||
## bash /volume1//docker/_Scripts-DOCKER/Bitwarden_RS__Enable_Websocket.sh mon-ndd-a-moi.tld 8001 30120 ##
|
||||
## ##
|
||||
##===========================================================================================================
|
||||
|
||||
LOC_DIR="/etc/nginx"
|
||||
part1=0
|
||||
part2=0
|
||||
|
||||
echo -e "\n$(date "+%R:%S - ") Script Bitwarden_RS__Enable_Websocket.sh pour activer les Notifications Websockets"
|
||||
echo -e "\n$(date "+%R:%S - ") Script vaultwarden__Enable_Websocket.sh pour activer les Notifications Websockets"
|
||||
|
||||
f_affiche_parametre() {
|
||||
echo " bash /volume1//docker/_Scripts-DOCKER/Bitwarden_RS__Enable_Websocket.sh vault.example.com 5555 5556 "
|
||||
echo " -- vault.example.com = Nom de domaine de Bitwarden_rs (celui du Reverse Proxy de DSM) "
|
||||
echo " bash /volume1/docker/_Scripts-DOCKER/vaultwarden__Enable_Websocket.sh vault.example.com 5555 5556 "
|
||||
echo " -- vault.example.com = Nom de domaine de vaultwarden (celui du Reverse Proxy de DSM) "
|
||||
echo " -- 5555 = Port exposé ROCKET_PORT par Docker (Identique à celui du Reverse Proxy de DSM)"
|
||||
echo " -- 5556 = Port exposé WEBSOCKET_PORT par Docker"
|
||||
}
|
||||
@ -528,7 +574,7 @@ else
|
||||
echo "$(date "+%R:%S - ") -- La modification du fichier /etc/nginx/app.d/server.ReverseProxy.conf a déjà été effectuée lors d'une précédente exécution. Aucune modification n'est donc nécessaire."
|
||||
fi
|
||||
|
||||
echo "$(date "+%R:%S - ") Script Bitwarden_RS__Enable_Websocket.sh terminé"
|
||||
echo "$(date "+%R:%S - ") Script vaultwarden__Enable_Websocket.sh terminé"
|
||||
|
||||
exit[/code]
|
||||
|
@ -1,12 +1,14 @@
|
||||
## Discord Plex FR : https://discord.gg/ERpYMqS
|
||||
## Version 2021-04-12
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Fichier docker-compose.yml pour Bitwarden_RS avec Bitwarden-Backup ##
|
||||
## Fichier docker-compose.yml pour vaultwarden avec Bitwarden-Backup ##
|
||||
## Révision du fichier : v3.0 ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Attention, avec ce fichier, il faut avoir créer le réseau "bitwarden_network" avant de ##
|
||||
## Attention, avec ce fichier, il faut avoir créer le réseau "vaultwarden_network" avant de ##
|
||||
## créer les conteneurs. ##
|
||||
## ##
|
||||
## La mise en place de fail2ban se fera avec un docker-compose dédié. ##
|
||||
@ -22,7 +24,7 @@
|
||||
## expiration du délai ... (les timeout) dans le reverse proxy par défaut de 60s étaient ##
|
||||
## trop faible. ##
|
||||
## En passant les 3 valeurs à 300s (5min), ça a réglé mon problème. ##
|
||||
## (Pensez à relancer le script Bitwarden_RS__Enable_Websocket.sh après ces modifications) ##
|
||||
## (Pensez à relancer le script vaultwarden__Enable_Websocket.sh après ces modifications) ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
@ -33,24 +35,24 @@
|
||||
## redirections /notifications/hub vers le serveur WebSocket ni celles vers le port normal ##
|
||||
## /notifications/hub/negotiate ##
|
||||
## Voir cet article pour tout ce qui n'est pas possible via l'interface de DSM : ##
|
||||
## https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications ##
|
||||
## https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications ##
|
||||
## ##
|
||||
## Dès lors, il faut ruser et passer par l'exécution d'un petit script qui va créer un ##
|
||||
## fchier ws.locations contenant les modifications précédentes, et qui va écrire une ##
|
||||
## ligne dans le fichier /etc/nginx/app.d/server.ReverseProxy.conf pour inclure le ##
|
||||
## fichier ws.locations au niveau de la section concernant le nom de domaine pour ##
|
||||
## bitwarden_RS. ##
|
||||
## vaultwarden. ##
|
||||
## Comme cela, il n'est pas nécessaire de passer par le changement de reverse-proxy, assez ##
|
||||
## complexe à mettre en oeuvre... ##
|
||||
## ##
|
||||
## Le script est : Bitwarden_RS__Enable_Websocket.sh ##
|
||||
## Le script est : vaultwarden__Enable_Websocket.sh ##
|
||||
## ##
|
||||
## Il faudra la lancer régulièrement et à chaque redémarrage du NAS, via deux tâches ##
|
||||
## plannifiées dédiées, en donnant 3 paramètres au fichier : ##
|
||||
## - le nom de domaine de bitwarden ##
|
||||
## - le nom de domaine de vaultwarden ##
|
||||
## - le port HTTP exposé (donc pas l'interne du conteneur) pour l'interface graphique ##
|
||||
## - le port websocket exposé (donc pas l'interne du conteneur) ##
|
||||
## Voir les commentaires de ce fichier Bitwarden_RS__Enable_Websocket.sh pour plus ##
|
||||
## Voir les commentaires de ce fichier vaultwarden__Enable_Websocket.sh pour plus ##
|
||||
## d'explications. ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
@ -59,17 +61,18 @@
|
||||
version: "2.4"
|
||||
|
||||
services:
|
||||
bitwardenrs: # Voir : https://github.com/dani-garcia/bitwarden_rs
|
||||
image: bitwardenrs/server:latest
|
||||
container_name: bitwardenrs
|
||||
vaultwarden:
|
||||
image: vaultwarden/server:latest # https://github.com/dani-garcia/vaultwarden
|
||||
# https://github.com/dani-garcia/vaultwarden/wiki
|
||||
container_name: vaultwarden
|
||||
networks:
|
||||
- bitwarden_network
|
||||
- vaultwarden_network
|
||||
environment:
|
||||
# Utiliser la commande (en SSH) : id NOM_UTILISATEUR
|
||||
- PUID=XXxxXX
|
||||
- PGID=XXxxXX
|
||||
- PUID=1000
|
||||
- PGID=100
|
||||
- TZ=Europe/Paris
|
||||
|
||||
|
||||
# Pour l'envoi d'emails
|
||||
- SMTP_HOST=XXxxXX
|
||||
- SMTP_FROM=XXxxXX
|
||||
@ -79,15 +82,15 @@ services:
|
||||
- SMTP_USERNAME=XXxxXX
|
||||
- SMTP_PASSWORD=XXxxXX
|
||||
|
||||
- INVITATION_ORG_NAME=Bitwarden_RS [Votre Nom, pseudo...] # Permet de spécifier un nom d'application pour les invitations d'organisation
|
||||
- INVITATION_ORG_NAME=Vaultwarden [Votre Nom, pseudo...] # Permet de spécifier un nom d'application pour les invitations d'organisation
|
||||
|
||||
# Nécessaire pour activer le 2FA pour la connexion à notre serveur bitwarden_rs
|
||||
# Nécessaire pour activer le 2FA pour la connexion à notre serveur Vaultwarden
|
||||
# Il est possible de spécifier un port de connexion dans l'URL. Le https:// est obligatoire.
|
||||
# Pour cette option, il est donc OBLIGATOIRE d'avoir fait le nécessaire pour avoir du HTTPS (certificats, reverse-proxy, ...)
|
||||
- DOMAIN=XXxxXX
|
||||
|
||||
# Pour enregistrer les log avec un niveau particulier
|
||||
- LOG_FILE=/data/bitwarden.log
|
||||
- LOG_FILE=/data/vaultwarden.log
|
||||
- LOG_LEVEL=warn
|
||||
- EXTENDED_LOGGING=true
|
||||
|
||||
@ -95,7 +98,7 @@ services:
|
||||
- SHOW_PASSWORD_HINT=false
|
||||
|
||||
# Pour activer la console d'administation, accessible via : https://mon.domaine.tld/admin/
|
||||
# Voir détails ici : https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page
|
||||
# Voir détails ici : https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page
|
||||
# /!\
|
||||
# /!\ N'importe qui pourra accéder à la page de connexion, alors blinder le token d'amdin ci-dessous (64 caractères pour moi) !
|
||||
# /!\ Il est de plus TRÈS important d'avoir ACTIVÉ le HTTPS avant l'activation de cette option.
|
||||
@ -128,32 +131,31 @@ services:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
|
||||
volumes:
|
||||
- "/volume1/docker/bitwarden_rs/bitwarden-data/:/data/"
|
||||
- "/volume1/docker/vaultwarden/vaultwarden-data/:/data/"
|
||||
ports:
|
||||
- XXxxXX:3012 # Choisir un port libre pour le websocket
|
||||
- XXxxXX:80 # Choisir un port libre pour l'interface WEB
|
||||
restart: unless-stopped
|
||||
|
||||
# Sauvegarde automatique de la base de données, au-cas-où !
|
||||
bitwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup
|
||||
vaultwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup
|
||||
image: bruceforce/bw_backup:latest
|
||||
container_name: bitwarden_backup
|
||||
container_name: vaultwarden_backup
|
||||
networks:
|
||||
- bitwarden_network
|
||||
- vaultwarden_network
|
||||
restart: always
|
||||
depends_on:
|
||||
bitwardenrs:
|
||||
vaultwarden:
|
||||
condition: service_healthy
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
volumes:
|
||||
#- /etc/localtime:/etc/localtime:ro # Devenu inutile sur nos Syno avec la variable d'env. TZ (voir plus bas)
|
||||
- /volume1/docker/bitwarden_rs/bitwarden-data/:/data/
|
||||
- /volume1/docker/vaultwarden/vaultwarden-data/:/data/
|
||||
# Chemin d'accès pour stocker le backup, voir https://gitlab.com/1O/bitwarden_rs-backup#wrong-permissions
|
||||
- /volume1/docker/bitwarden_rs/bitwarden-backup:/backup_folder/
|
||||
- /volume1/docker/vaultwarden/vaultwarden-backup:/backup_folder/
|
||||
|
||||
environment:
|
||||
# Path to the Bitwarden sqlite3 database inside the container
|
||||
# Path to the vaultwarden sqlite3 database inside the container
|
||||
- DB_FILE=/data/db.sqlite3
|
||||
|
||||
# Path to the desired backup location inside the container
|
||||
@ -174,7 +176,7 @@ services:
|
||||
- TIMESTAMP=true
|
||||
|
||||
# User ID to run the cron job with
|
||||
- UID=1038 # J'ai créé un utilisateur dédié à Bitwarden, utiliser la commande 'id nom_user'
|
||||
- UID=1000 # J'ai créé un utilisateur dédié à vaultwarden, utiliser la commande 'id nom_user'
|
||||
|
||||
# Group ID to run the cron job with
|
||||
- GID=100
|
||||
@ -196,6 +198,6 @@ services:
|
||||
|
||||
|
||||
networks:
|
||||
bitwarden_network:
|
||||
vaultwarden_network:
|
||||
external:
|
||||
name: bitwarden_network
|
||||
name: vaultwarden_network
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Script Bitwarden_RS__Enable_Websocket.sh ##
|
||||
## Script vaultwarden__Enable_Websocket.sh ##
|
||||
## ##
|
||||
## Source : https://gist.github.com/nstanke/3949ae1c4706854d8f166d1fb3dadc81 ##
|
||||
## ##
|
||||
@ -9,11 +9,11 @@
|
||||
## ##
|
||||
## Ce script pemet de router ce qui ne peut pas être fait avec le reverse-proxy ##
|
||||
## de DSM (Synology) pour faire fonctionner les notifications Websocket ##
|
||||
## Doc. Bitwarden_RS : ##
|
||||
## Doc. vaultwarden : ##
|
||||
## Route the /notifications/hub endpoint to the WebSocket server, by default ##
|
||||
## at port 3012, making sure to pass the Connection and Upgrade headers. ##
|
||||
## (Note the port can be changed with WEBSOCKET_PORT variable) ##
|
||||
## https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications ##
|
||||
## https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
@ -25,35 +25,28 @@
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## /!\ Il faut modifier l'adresse IP en ligne 89 et 95 par l'IP du NAS /!\ ##
|
||||
## /!\ Il faut modifier l'adresse IP en ligne 79 et 85 par l'IP du NAS /!\ ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Paramètres de lancement du script : ##
|
||||
## bash /volume1/docker/bitwarden/enable_ws.sh vault.example.com 5555 5556 ##
|
||||
## ##
|
||||
## -- vault.example.com = Nom de domaine de Bitwarden_rs (celui du Reverse Proxy de DSM) ##
|
||||
## -- vault.example.com = Nom de domaine de vaultwarden (celui du Reverse Proxy de DSM) ##
|
||||
## -- 5555 = Port exposé ROCKET_PORT par Docker (Identique à celui du Reverse Proxy de DSM) ##
|
||||
## -- 5556 = Port exposé WEBSOCKET_PORT par Docker ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
|
||||
##===========================================================================================================
|
||||
## ##
|
||||
## Ma commande à lancer : ##
|
||||
## bash /volume1/docker/_Scripts-DOCKER/Bitwarden_RS__Enable_Websocket.sh mon-ndd-a-moi.tld 8001 30120 ##
|
||||
## ##
|
||||
##===========================================================================================================
|
||||
|
||||
LOC_DIR="/etc/nginx"
|
||||
part1=0
|
||||
part2=0
|
||||
|
||||
echo -e "\n$(date "+%R:%S - ") Script Bitwarden_RS__Enable_Websocket.sh pour activer les Notifications Websockets"
|
||||
echo -e "\n$(date "+%R:%S - ") Script vaultwarden__Enable_Websocket.sh pour activer les Notifications Websockets"
|
||||
|
||||
f_affiche_parametre() {
|
||||
echo " bash /volume1/docker/_Scripts-DOCKER/Bitwarden_RS__Enable_Websocket.sh vault.example.com 5555 5556 "
|
||||
echo " -- vault.example.com = Nom de domaine de Bitwarden_rs (celui du Reverse Proxy de DSM) "
|
||||
echo " bash /volume1/docker/_Scripts-DOCKER/vaultwarden__Enable_Websocket.sh vault.example.com 5555 5556 "
|
||||
echo " -- vault.example.com = Nom de domaine de vaultwarden (celui du Reverse Proxy de DSM) "
|
||||
echo " -- 5555 = Port exposé ROCKET_PORT par Docker (Identique à celui du Reverse Proxy de DSM)"
|
||||
echo " -- 5556 = Port exposé WEBSOCKET_PORT par Docker"
|
||||
}
|
||||
@ -116,6 +109,6 @@ else
|
||||
echo "$(date "+%R:%S - ") -- La modification du fichier /etc/nginx/app.d/server.ReverseProxy.conf a déjà été effectuée lors d'une précédente exécution. Aucune modification n'est donc nécessaire."
|
||||
fi
|
||||
|
||||
echo "$(date "+%R:%S - ") Script Bitwarden_RS__Enable_Websocket.sh terminé"
|
||||
echo "$(date "+%R:%S - ") Script vaultwarden__Enable_Websocket.sh terminé"
|
||||
|
||||
exit
|
Loading…
Reference in New Issue
Block a user