Synology [Tuto] Installer Vaultwarden avec une sauvegarde automatique des données (nouvelle version)

Fichiers sur Github mis à jour. Quelques explications sont écrites dans le sommaire du tuto et dans les notes de mise à jour.
Mais le tuto sera mis à jour plus tard.
 
Version 6 du tuto. Dans le reverse proxy de DSM, faut-il conserver l'en-tête personnalisé X-Real-IP avec la valeur $remote_addr ?
 
Version 6 du tuto. Dans le reverse proxy de DSM, faut-il conserver l'en-tête personnalisé X-Real-IP avec la valeur $remote_addr ?
Oui tu laisses tout comme avant dans la partie DSM. Enfin presque.
Et faut voir si ça fonctionne.
Si ça ne fonctionne pas c'est qu'il faut changer des petites choses...

Déjà, dans "En-tête personnalisé", il faut mettre ceci :
1689616319649.png
Car l'en-tête de base on a :
NGINX:
proxy_set_header        Host            $http_host;
et il faut ça d'après la doc de vaultwarden mise à jour :
NGINX:
proxy_set_header Host $host;

On peut conserver la partie ajoutée concernant la location admin dans le fichier /etc/nginx/sites-enabled/server.ReverseProxy.conf

J'ai ajouté un fichier en version bêta pour cette 1.29.0 de vaultwarden.
Il ajoute la partie admin qui je pense reste nécessaire, mais n'ajoute plus toute la partie websocket...



Maintenant, voilà ce qu'il reste à faire pour l'utilisation du RP de DSM, et ça je ne sais pas le faire, il me faudra de l'aide des pros de sed, grep, awk ou autre ^^

L'en-tête personnalisé Connection, mis dans la configuration du RP de DSM, ne semble pas remplir les critères du websocket pour Vaultwarden. D'après la doc, il faudrait ajouter ce qui suit avant le bloc server de vautlwarden (ce qui est aisément faisable via swag et un .conf dédié, mais via le gros fichier server.ReverseProxy.conf qui contient tous les RP configurés...
Je ne sais pas si on peut y ajouter... ni comment ni où...

NGINX:
# Needed to support websocket connections
# See: https://nginx.org/en/docs/http/websocket.html
# Instead of "close" as stated in the above link we send an empty value.
# Else all keepalive connections will not work.
map $http_upgrade $connection_upgrade {
    default upgrade;
    '' "";
}

Est-il possible que cet en-tête fasse ce que le map précédent fait ?
NGINX:
proxy_set_header \"Connection\" \"\";

Car si c'est le cas, il faudrait une autre partie de code qui cherche la ligne suivante dans le bloc server de vaultwarden :
NGINX:
proxy_pass http://$IP_NAS:$PORT_ACCES/admin;
(Sachant que là, ce sont des variables utilisées par le script.)
et ajoute avant ceci :
NGINX:
proxy_set_header \"Connection\" \"\";

Et à priori, c'est tout.

@CyberFR
Teste déjà le script tel qu'il est actuellement, et dit-moi si ça fonctionne.
Si ça ne fonctionne pas correctement, il va falloir trouver le moyen d'ajouter ce dont j'ai parlé précédemment.


PS : en l'état actuel, je ne modifie pas encore les parties du tuto.
Je vais juste faire un lien vers ce message.
 
Hello

Je viens de tester.
Alors :
J'utilise le reverse proxy de DSM.
Avant tout, j'ai coupé ton script qui tournait toutes les xx minutes.
J'ai fait une modif quelconque dans le revers proxy de DSM pour qu'il réapplique son propre fichier, et qu'il n'y ait plus la modif de ton script. C'est bien ça ?

J'ai modifié le reverse proxy de mon vault, pour avoir la même chose que l'image que tu as posté plus haut.
J'ai fait la maj en 1.29

Je viens de tester, et ça à l'air de fonctionner, mon vault se met bien à jour.

Par contre, du coup, je n'y ai pas touché, mais faut enlever la variable d'environnement WEBSOCKET_PORT ?
 
J'ai fait une modif quelconque dans le revers proxy de DSM pour qu'il réapplique son propre fichier, et qu'il n'y ait plus la modif de ton script. C'est bien ça ?
Exactement (y)
J'ai modifié le reverse proxy de mon vault, pour avoir la même chose que l'image que tu as posté plus haut.
J'ai fait la maj en 1.29

Je viens de tester, et ça à l'air de fonctionner, mon vault se met bien à jour.
Ha ça semble être une bonne chose ^^
On est bien d'accord qu'on parle d'une MAJ automatique.
Tu ajoutes un mot de passe dans le coffre depuis le web-vault, et la modification est répercutée automatiquement sur le coffre dans l'application desktop ?

Par contre, du coup, je n'y ai pas touché, mais faut enlever la variable d'environnement WEBSOCKET_PORT ?
Oui, plus besoin, tu peux supprimer cette ligne, ou la commenter. Regarde le fichier docker-compose que j'ai mis en lien.
(attention, le corps du tuto, donc ses paragraphes, ne sont pas encore à jour à ce sujet... seul les trois premiers posts, donc le sommaire, les notes de mises à jour et les fichiers sont à jour. Le dépôt GH l'est donc obligatoirement lui aussi).




Prochain ajout : https://github.com/dani-garcia/vaultwarden/wiki/Enabling-Mobile-Client-push-notification
Les notifications push ^^ pour que les apps mobiles soient mises à jours sans devoir le faire manuellement.

Enabling Mobile Client push notification​


Since the version 1.29.0 of Vaultwarden, you can activate the Mobile Client push notification to seamlessly sync your vault between the mobile app, the web extension and the web vault without the need to sync manually.

Enable Mobile Client push notification​

Edit your vaultwarden docker compose file and add this lines in the environnement part:
YAML:
      - PUSH_ENABLED=true
      - PUSH_INSTALLATION_ID=
      - PUSH_INSTALLATION_KEY=
To get the PUSH_INSTALLATION_ID and PUSH_INSTALLATION_KEY go to https://bitwarden.com/host/, put an email address and you'll get your ID and KEY.
Once it's done, restart your docker container with
Bash:
docker compose up -d vaultwarden
💡 At first the sync will not work with the mobile app. You have to reinstall the app and relog to you Vaultwarden to make the push notification work.
Il me semble avoir lu que pour que ça fonctionne, Vaultwarden doit contacter le serveur de Bitwarden.com.
Il faut que je creuse ceci.
1689629204540.png
 
On est bien d'accord qu'on parle d'une MAJ automatique.
Tu ajoutes un mot de passe dans le coffre depuis le web-vault, et la modification est répercutée automatiquement sur le coffre dans l'application desktop ?

Alors ma méthode de test, et qui fonctionnait bien pour se rendre compte quand ça déconnait ^^ :
Je lance 2 navigateurs, Chrome et Firefox
J'ajoute un mot de passe via l'extension dans Chrome.
Je check dans l'extension de Firefox si le mot de passe est bien présent.

Je viens de virer la variable WEBSOCKET_PORT, j'ai refait un test, tout semble fonctionner !

Et d'ailleurs, j'avais remarqué, quand le websocket fonctionnait, ou pas, l'extension réagit différemment. Quand le websocket fonctionne, on sent une petite latence, le temps que ça browse le coffre. Alors que dans le cas contraire, si ça ne fonctionne pas, cette légère latence n'apparait pas.

Edit : merci pour l'info des notifications Push. Je viens de tester, ça fonctionne :love:
Ca fait plaisir tout ça 🍾
 
Dernière édition:
  • J'aime
Réactions: MilesTEG
Bonjour,
je viens de tester aussi. en renseignant juste les variables dans le réglage du reverse proxy et renseignant les ID dans le docker-compose et ça fonctionne. :)
 
  • J'aime
Réactions: MilesTEG
Merci pour vos essais.
Ça confirme que si on ne veut pas l’interface admin protégée par le contrôle d’accès on n’a pas besoin du script qui va aller modifié le fichier de configuration.

Dès que j’ai un moment je m’occupe de mettre le tuto à jour.
 
J'ai remarqué que des paramètres qui ne sont plus dans le fichier de config v.6 sont conservés dans le containe. malgré un arrêt puis un redémarrage de celui-ci. Le port 3012 pour les websockets et la variable WEBSOCKET_ENABLED avec la valeur qu'elle avait auparavant. Il faut donc passer par l'interface d'administration ou par les paramètres dans Container Manager pour faire le ménage manuellement.
Ce ne sont pas des paramètres que j'ai modifiés dans l'interface d'administration et qui sont permanents.
 
J'ai remarqué que des paramètres qui ne sont plus dans le fichier de config v.6 sont conservés dans le containe. malgré un arrêt puis un redémarrage de celui-ci. Le port 3012 pour les websockets et la variable WEBSOCKET_ENABLED avec la valeur qu'elle avait auparavant. Il faut donc passer par l'interface d'administration ou par les paramètres dans Container Manager pour faire le ménage manuellement.
Ce ne sont pas des paramètres que j'ai modifiés dans l'interface d'administration et qui sont permanents.
Ha je n’ai pas pensé à vérifier si ces variables étaient bien supprimées.
Je passe par portainer et donc ça recrée le conteneur quand je mets à jour le docker-compose.
Je regarderai ce que ça donne via portainer.
Mais en général l’il faut supprimer le conteneur et le recréer quand on veut mettre à jour les variables d’environnement.
 
Mais en général l’il faut supprimer le conteneur et le recréer quand on veut mettre à jour les variables d’environnement.
En effet je me suis contenté d'arrêter le container puis de le relancer. Faut faire gaffe quand on supprime le container de ne pas supprimer les données :)
 
En effet je me suis contenté d'arrêter le container puis de le relancer. Faut faire gaffe quand on supprime le container de ne pas supprimer les données :)
Ha bah ça c'est clair !
Mais si on suit le tuto correctement, ça n'arrivera pas ^^
Il faut juste avoir bien défini les volumes en point de montage sur le NAS, et pas juste suivre certains tutos mal fichus qui ne font que des volumes docker... qui eux sont supprimés quand je conteneur est supprimé.
 
boujour
est qu'il existe une solution pour lancer rclone config sur un pc sous ubuntu serveur + docker. celui ci n'ayant de navigateur web, on ne peut pas par exemple ouvir l'@ 127.0.0... et donc on est bloqué .
merci
 
boujour
est qu'il existe une solution pour lancer rclone config sur un pc sous ubuntu serveur + docker. celui ci n'ayant de navigateur web, on ne peut pas par exemple ouvir l'@ 127.0.0... et donc on est bloqué .
merci
Normalement, rclone config permet de configurer via la ligne de commande :
1692533486213.png
Cette commande ne lance pas d'interface web.
 
oui mais durant la config il ouvre un lien à l'adresse 127.0.... et comme il n'y a pas de navigateur cela ne fonctionne pas. J'ai bien essayé ça https://forum.rclone.org/t/how-to-set-up-rclone-webgui-server-as-a-docker-container/14330 mais je n'ai pas réussi et je na sait pas comment faire.
merci
ben chez moi pour goole drive ou dropbox plus loin dans la config il veut ouvrir une page.
pour webdav par exemple ça fonctionne il ne cherche pas à ovrir une page à l'@ 127.0....
Sait tu quel est le chiffrage utilisé pour le mot de passe dans le conf webdav ?
cdt
 
ben chez moi pour goole drive ou dropbox plus loin dans la config il veut ouvrir une page.
pour webdav par exemple ça fonctionne il ne cherche pas à ovrir une page à l'@ 127.0....
Sait tu quel est le chiffrage utilisé pour le mot de passe dans le conf webdav ?
cdt
Aucune idée, je n’ai pas utilisé ça pour le conteneur de backup de Vaultwarden.
 
Bonjour,

comment procéder vu que je suis sous Container Manager ? Je ne parviens pas à installer Vaultwarden...

Merci de m'aiguiller, je trouve ça complexe à adapter, vu que je n'ai jamais utilisé Docker avant, donc je passe à Container Manager qui semble plus simple, mais même là je bloque...

Merci
Message automatiquement fusionné :

je ne sais pas quoi mettre ici :
firefox_MiQ9LqrrhJ.png
Message automatiquement fusionné :

firefox_iQgmvQz7MG.png