Greg-o a dit:Désolé pour la réponse tardive : je n'ai pas touché au NAS ce week end![]()
Voici ma config passée dans le docker-compose :
J'ai recopié les éléments de la config qui fonctionne sous thunderbird sur mon PC de bureau. Par contre, pas moyen de le faire fonctionner par Vaultwarden. J'ai essayé en changeant le port mais rien n'y fait.Code:- SMTP_HOST=smtp.googlemail.com - SMTP_FROM=xxxxxxxxxxxxxx@gmail.com - SMTP_FROM_NAME=Vaultwarden - SMTP_PORT=465 - SMTP_SSL=true - SMTP_USERNAME=xxxxxxxxxxxxxx@gmail.com - SMTP_PASSWORD=password
Voici ce que j'ai dans la page admin :
Je suis sec sur ce problème !
Alors si les Websockets ne fonctionnent pas, c'est pas très grave. La seule chose qui ne fonctionnera pas, ce sera la synchronisation automatique des extensions navigateurs et des applications desktop.Kramlech a dit:Bonjour
Après quelques mésaventures, j'ai réussi à installer Vaultwarden.
Mais j'ai quelques questions résiduelles :
- Quels sont les impacts si on ne met pas en place la partie "Websockets" ? Est-ce que c'est simplement le fait que les extensions du navigateur ne sont pas prévenues des modifications faites dans le base, et qu'il faut faire des rafraichissements manuels ?
C'est-à-dire ?Kramlech a dit:- Comme faut-il faire pour prendre en compte une nouvelle version de Vaultwarden ?
docker-compose pull
docker-compose up -d --remove-orphans
docker image prune
Heu, ça je sais pas, je ne me suis pas penché sur la question vu que je ne m'en servirais pas.Kramlech a dit:- A la place de la sauvegarde, je voudrais faire des exports du contenu de la base. J'ai vu que c'est possible en ligne de commande. Mais comment exécuter cette ligne de commande dans le container ? et comment automatiser cela ?
Sinon, excellent TUTO, merci MilesTEG1![]()
[CAUSE] lettre::transport::smtp::Error {
kind: Connection,
source: Failure(
Ssl(
Error {
code: ErrorCode(
1,
),
cause: Some(
Ssl(
ErrorStack(
[
Error {
code: 336130315,
library: "SSL routines",
function: "ssl3_get_record",
reason: "wrong version number",
file: "../ssl/record/ssl3_record.c",
line: 332,
},
],
),
),
),
},
X509VerifyResult {
code: 0,
error: "ok",
},
),
),
}
Greg-o a dit:Bonjour,
en reprenant exactement la même configuration que toi, MilesTEG1, voici le message d'erreur qui apparaît lors de l'envoi d'un mail de test :
Voici le message dans le log :
Code:[CAUSE] lettre::transport::smtp::Error { kind: Connection, source: Failure( Ssl( Error { code: ErrorCode( 1, ), cause: Some( Ssl( ErrorStack( [ Error { code: 336130315, library: "SSL routines", function: "ssl3_get_record", reason: "wrong version number", file: "../ssl/record/ssl3_record.c", line: 332, }, ], ), ), ), }, X509VerifyResult { code: 0, error: "ok", }, ), ), }
EDIT :
J'ai compris mon erreur et elle est maintenant résolue. J'ai configuré l'accès à mon compte Gmail avec une double authentification. Or, pour qu'un appareil non compatible avec la double authentification puisse accéder tout de même à mon compte et en particulier au serveur SMTP, il faut définir un mot de passe particulier dans l'onglet Sécurité de son compte Gmail. Ceci étant fait, ça fonctionne !
MilesTEG1 a dit:Si tu veux automatiser ce qui passe par la ligne de commande, je te conseille de faire un script .sh que tu places dans une tâche planifiée du NAS. C'est le seul moyen facile que j'ai de faire une automatisation
Kramlech a dit:MilesTEG1 a dit:Si tu veux automatiser ce qui passe par la ligne de commande, je te conseille de faire un script .sh que tu places dans une tâche planifiée du NAS. C'est le seul moyen facile que j'ai de faire une automatisation
Oui, je veux bien, mais comment je fais un script sur le NAS qui doit utiliser un exécutable contenu dans un container ?
docker exec -u 1060 -i -w /backup-data $(docker ps -qf "name=^gitea$") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
bw export my-master-password --output /users/me/documents/ --format json
#!/bin/bash
##==============================================================================================
## ##
## Script vaultwarden__Enable_Websocket_DSM-7.sh ##
## ##
## Source : https://gist.github.com/nstanke/3949ae1c4706854d8f166d1fb3dadc81 ##
## ##
##==============================================================================================
## ##
## 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. 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/vaultwarden/wiki/Enabling-WebSocket-notifications ##
## ##
##==============================================================================================
## ##
## Principe de Tâche planifier à créer ##
## ##
## Il faut lancer régulièrement le script car toutes modifications faites dans l'interface ##
## graphique du Reverse-Proxy de DSM va modifier le fichier de configuration. Il en va de ##
## même lorsque le NAS redémarre. ##
## ##
##==============================================================================================
## ##
## /!\ Il faut modifier l'adresse IP en ligne 47 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 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 ##
## ##
##==============================================================================================
LOC_DIR="/etc/nginx"
part1=0
part2=0
MY_DOMAIN=$1
PORT_ACCES=$2
PORT_CONT=$3
IP_NAS="192.168.2.200"
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/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"
}
if [ ! $# -eq 3 ]; then
if [ $# -eq 0 ]; then
# Aucun paramètre n'a été fourni. On va afficher la liste de ce qui peut être utilisé.
echo "$(date "+%R:%S - ") Aucun paramètre fourni ! Revoir l'appel du script :"
f_affiche_parametre
else
echo "$(date "+%R:%S - ") Le nombre de paramètres fournis n'est pas correct ! Revoir l'appel du script :"
f_affiche_parametre
fi
echo -e "$(date "+%R:%S - ") ECHEC de lancement du script !!!!!!!!!\n"
exit 1
fi
echo "$(date "+%R:%S - ") Exécution des commandes..."
#############################################################################################################
## Début de la partie de création/modification de fichiers
##
if [ -f $LOC_DIR/websocket.locations.vaultwarden ]; then
rm $LOC_DIR/websocket.locations.vaultwarden
part1=1
fi
echo """
location /notifications/hub {
proxy_pass http://192.168.2.200:$PORT_CONT;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection \"upgrade\";
}
location /notifications/hub/negotiate {
proxy_pass http://192.168.2.200:$PORT_ACCES;
}
""" >>$LOC_DIR/websocket.locations.vaultwarden
# Note : avec DSM7, le chemin d'accès du fichier server.ReverseProxy.conf a changé
# DSM6.2 = /etc/nginx/app.d/server.ReverseProxy.conf
# DSM7 = /etc/nginx/sites-enabled/server.ReverseProxy.conf
if ! grep -q "websocket.locations.vaultwarden" /etc/nginx/sites-enabled/server.ReverseProxy.conf; then
# Commandes fonctionnelles avec DSM6.2.x, mais plus avec DSM 7.0 (RC)
#sed -i "/$1;/ a\ include $LOC_DIR/websocket.locations.vaultwarden;" /etc/nginx/app.d/server.ReverseProxy.conf
#if nginx -t 2>/dev/null; then synoservicecfg --reload nginx; else exit 1; fi
# Commande fonctionnelles avec DSM 7 (RC)
sed -r "s#^([[:blank:]]*server_name[[:blank:]]*${MY_DOMAIN}[[:blank:]]*;[[:blank:]]*)\$#\1\n\n\tinclude ${LOC_DIR}/websocket.locations.vaultwarden;#" /etc/nginx/sites-enabled/server.ReverseProxy.conf > /etc/nginx/sites-enabled/server.ReverseProxy.conf.new
mv /etc/nginx/sites-enabled/server.ReverseProxy.conf.new /etc/nginx/sites-enabled/server.ReverseProxy.conf
if nginx -t 2>/dev/null; then synosystemctl reload nginx; else exit 1; fi
part2=1 # Variable pour indiquer que cette partie a été exécutée
fi
##
## Fin de la partie de création/modification de fichiers
#############################################################################################################
if [ $part1 -eq 1 ]; then
echo "$(date "+%R:%S - ") -- Le fichier $LOC_DIR/websocket.locations.vaultwarden existait déjà, il a été supprimé puis recréé."
else
echo "$(date "+%R:%S - ") -- Le fichier $LOC_DIR/websocket.locations.vaultwarden n'existait pas, il a été créé."
fi
if [ $part2 -eq 1 ]; then
echo "$(date "+%R:%S - ") -- !!!!!! ---> La modification dans le fichier /etc/nginx/sites-enabled/server.ReverseProxy.conf n'existait pas. Elle a été écrite."
echo "$(date "+%R:%S - ") -- !!!!!! ---> Le fichier /etc/nginx/sites-enabled/server.ReverseProxy.conf a du être réinitialisé après un reboot ou lors d'une modification du reverse-proxy dans DSM."
else
echo "$(date "+%R:%S - ") -- La modification du fichier /etc/nginx/sites-enabled/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 vaultwarden__Enable_Websocket.sh terminé"
exit
ports:
- http://iplocaldunas:3012 # Choisir un port libre pour le websocket
- http://iplocaldunas:82 # Choisir un port libre pour l'interface WEB
crunchattak a dit:Bonjour,
Un grand Merci pour ce super tuto, mais j'avoue je suis largué (pour l'instant) sur une partie:
Code:ports: - http://iplocaldunas:3012 # Choisir un port libre pour le websocket - http://iplocaldunas:82 # Choisir un port libre pour l'interface WEB
J'ai essayé plusieurs combinaisons dans y parvenir, pourriez vous m'aider?
Merci d'avance,
C.
EDIT j'ai trouvé faut mettre par exemple
3102:3102
C.
ports:
- 3012:3012 # Choisir un port libre pour le websocket
- 882:80 # Choisir un port libre pour l'interface WEB
Hmmm, votre méthode de mise à jour du conteneur ne me semble pas correcte...crunchattak a dit:merci pour ces explications, du coup tout est ok sauf que je n'arrive pas a changer la variable :
SIGNUPS_ALLOWED en true, je vais pourant dans portainer duplicate/edit, ensuite dans ENV je passe SIGNUPS_ALLOWED en true et je valide en faisant deploy container mais il revient à false.
C.
# À noter :
# La première fois que vous enregistrez un paramètre dans la page d'administration, 'config.json' sera généré
# dans votre 'DATA_FOLDER'. Les valeurs de ce fichier auront priorité sur les valeurs 'environnement'.
Nostra_dada a dit:Bonjour,
J'ai découvert Bitwarden il y a quelques semaines (venant de 1Password) et j'ai fais une installation via l'interface Docker (Gui ?) du Synology
Je suis toujours en version 6.2, s'agissant d'un DS3615xs
Ca fonctionne très bien, mais comme j'ai une certaine préoccupation de sécurité et optimisation, j'ai fait des recherches et abouti sur ce super site et notamment sur ce tuto.
Via le Docker du syno, je sais mettre en place les variables pour configurer le smpt et autres, mais passer par Portainer ou un docker-compose, c'est quand-même plus logique, et plus puissant.
Donc j'ai suivi le tuto, qui est très clair et bien fait, sauf que je bloque.
En fait, toute la première partie (vaultwarden) ne pose aucun problème. Je peux lancer le stack avec la première partie du docker-compose, et mon "Vaultwarden" tourne parfaitement
Dès que je laisse la partie "backup", mon container est "unhealtly".
Voulant faire un backup local sur le syno, je n'ai rien changé à cette partie du fichier (sauf ...le password du zip...)
J'ai vérifié le nom de l'image, et il est toujours correct
Je passe à côté de quelque chose ? Merci de l'aide
ERROR: for vaultwarden_backup_ttionya Container "bf68e566573c" is unhealthy.
ERROR: Encountered errors while bringing up the project.