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

Hello,

Tout d'abord un grand merci à toi @MilesTEG pour ton tutoriel ultra complet et détaillé.
Grâce à toi je viens de reprendre totalement mon docker Vaultwarden qui tournait en mode "basique" afin de passer en docker-compose.

Depuis le début j'avais un peu peur de me lancer car je comprenais absolument rien au fait de passer en mode "docker-compose" car jusqu'à présent je lançais directement les image via le programme de synology et je faisais les petites modifications (chemin des dossiers etc... via la petite interface graphique).
Mais l'envie de pouvoir sauvegarder automatiquement ma BDD m'a motivé et j'ai tout lu et ça m'a permis de comprendre plein de choses, que j'ai également complété avec le post suivant qui est très bien fait :


Donc pour tout ça : Merci

Malheureusement j'ai encore des petites interrogations et petites zones d'ombre :
- J'ai utilisé ta révision du fichier : v6.0 et si je comprends bien l'histoire du websocket est désormais plus nécessaire non ? En tout cas j'ai du mal à comprendre son intérêt car on peut forcer la synchro de ses plugin dans les navigateurs en cliquant sur un petit bouton donc en tout cas ça suffit pour moi
- argon2, j'ai l'impression qu'on peut pas exécuter ce programme sur un synology et j'ai pas d'unix disponible sous la main encore, donc je suis un peu coincé pour cette partie la :/
- La sauvegarde fonctionne bien mais je me projette pour le jour où il faudra éventuellement l'utiliser. Donc en gros il faut recréer son docker entièrement puis il suffit de dezip l'ensemble de contenu (de la sauvegarde) et le mettre dans le dossier "vaultwarden-data" en renommant au préalable les fichiers config.datedujour.json et db.datedujour.sqlite3 --> config.json & db.sqlite3 ?

Car aujourd'hui mon dossier ressemble à ça :
vaultwarden.jpg


Et ma sauvegarde elle :

vaultwardenzip.jpg


Voila, désolé pour mes petites questions mais je préfère être sûr et pas subir une grosse déconvenue le jour où un drame se produirait :)

Bonne journée à toi et encore merci pour ce super tuto !
 
Dernière édition:
  • J'aime
Réactions: MilesTEG
- La sauvegarde fonctionne bien mais je me projette pour le jour où il faudra éventuellement l'utiliser. Donc en gros il faut recréer son docker entièrement puis il suffit de dezip l'ensemble de contenu (de la sauvegarde) et le mettre dans le dossier "vaultwarden-data" en renommant au préalable les fichiers config.datedujour.json et db.datedujour.sqlite3 --> config.json & db.sqlite3 ?
Personnellement, comme Dany Garcia ne donne pas de mode d'emploi pour restaurer la config en cas de problème, j'ai fait le choix d'arrêter le container Vaultwarden avant toute sauvegarde puis de le relancer lorsque celle-ci est terminée. J'ai écrit un script qui fait tout cela. Quand j'effectue une sauvegarde avec Hyper Backup je sauvegarde tout, les dossiers et le réglages. Comme le dossier vaultwarden est sauvegardé j'ai toujours une possibilité de restauration.
 
Salut @hyperion57070
Merci pour ton retour 🤓

J'ai utilisé ta révision du fichier : v6.0 et si je comprends bien l'histoire du websocket est désormais plus nécessaire non ? En tout cas j'ai du mal à comprendre son intérêt car on peut forcer la synchro de ses plugin dans les navigateurs en cliquant sur un petit bouton donc en tout cas ça suffit pour moi
Le truc du websocket, c'est que ça permet aux applications/extensions de se mettre à jour seules, sans qu'on ait à le faire manuellement.
Maintenant que tout passe par le même port autant en profiter ^^
- argon2, j'ai l'impression qu'on peut pas exécuter ce programme sur un synology et j'ai pas d'unix disponible sous la main encore, donc je suis un peu coincé pour cette partie la :/
J'ai trouvé ça pour une version windows :

Sinon tu peux aussi installer WSL et installer ensuite argon2 via apt install argon2 (si c'est le bon nom de paquet).

- La sauvegarde fonctionne bien mais je me projette pour le jour où il faudra éventuellement l'utiliser. Donc en gros il faut recréer son docker entièrement puis il suffit de dezip l'ensemble de contenu (de la sauvegarde) et le mettre dans le dossier "vaultwarden-data" en renommant au préalable les fichiers config.datedujour.json et db.datedujour.sqlite3 --> config.json & db.sqlite3 ?
Il me semble avoir essayé la restauration avec les archives faites par le conteneur vaultwarden-backup : il faut bien sûr que Vaultwarden soit éteint pour faire la restauration.
De souvenir, ce conteneur fait ce qu'il faut pour copier la base de données (avec les commandes dédiées aux BDD) afin qu'elle ne soit pas corrompue par la sauvegarde.
Éventuellement il faudrait que tu demandes sur le dépôt : https://github.com/ttionya/vaultwarden-backup

Personnellement, comme Dany Garcia ne donne pas de mode d'emploi pour restaurer la config en cas de problème, j'ai fait le choix d'arrêter le container Vaultwarden avant toute sauvegarde puis de le relancer lorsque celle-ci est terminée. J'ai écrit un script qui fait tout cela. Quand j'effectue une sauvegarde avec Hyper Backup je sauvegarde tout, les dossiers et le réglages. Comme le dossier vaultwarden est sauvegardé j'ai toujours une possibilité de restauration.
C'est aussi une solution, que j'utilise pour faire la sauvegarde de mon conteneur Gitea et de ses données.
J'ai un script qui coupe le conteneur, fait une archive des dossiers de configuration, et relance le conteneur.
Avec gestion du nombre de sauvegardes à conserver.
 
Personnellement, comme Dany Garcia ne donne pas de mode d'emploi pour restaurer la config en cas de problème, j'ai fait le choix d'arrêter le container Vaultwarden avant toute sauvegarde puis de le relancer lorsque celle-ci est terminée. J'ai écrit un script qui fait tout cela. Quand j'effectue une sauvegarde avec Hyper Backup je sauvegarde tout, les dossiers et le réglages. Comme le dossier vaultwarden est sauvegardé j'ai toujours une possibilité de restauration.

Merci pour ta seconde méthode, dommage de pas utiliser les sauvegardes auto mais si c'est galère à utiliser...
Mais du coup pourquoi prendre le soin d'arrêter le container Vaultwarden avant de le sauvegarder ? Je serai le seul à m'en servir avec ma copine donc si je lance une sauvegarde la nuit, aucun risque qu'une nouvelle entrée soit faite pendant la sauvegarde.

D'ailleurs question conne mais : est-ce qu'il suffit de sauvegarde le dossier /volume1/docker/Vaultwarden pour avoir l'intégralité du docker ?
Par exemple si je fais un nouveau NAS et que je C/C ce répertoire, est-ce que l'application fonctionnera direct ?

Salut @hyperion57070
Merci pour ton retour 🤓


Le truc du websocket, c'est que ça permet aux applications/extensions de se mettre à jour seules, sans qu'on ait à le faire manuellement.
Maintenant que tout passe par le même port autant en profiter ^^

J'ai trouvé ça pour une version windows :

Sinon tu peux aussi installer WSL et installer ensuite argon2 via apt install argon2 (si c'est le bon nom de paquet).


Il me semble avoir essayé la restauration avec les archives faites par le conteneur vaultwarden-backup : il faut bien sûr que Vaultwarden soit éteint pour faire la restauration.
De souvenir, ce conteneur fait ce qu'il faut pour copier la base de données (avec les commandes dédiées aux BDD) afin qu'elle ne soit pas corrompue par la sauvegarde.
Éventuellement il faudrait que tu demandes sur le dépôt : https://github.com/ttionya/vaultwarden-backup


C'est aussi une solution, que j'utilise pour faire la sauvegarde de mon conteneur Gitea et de ses données.
J'ai un script qui coupe le conteneur, fait une archive des dossiers de configuration, et relance le conteneur.
Avec gestion du nombre de sauvegardes à conserver.

Je vais regarder alors pour cet histoire de Websocket, c'est aussi que bizarrement cette partie la me semblait plus compliquée que les autres :D

Sinon merci pour le tips concernant WSL, j'avais même pas connaissance de ce soft... on voit clairement que c'est mon univers UNIX etc... ^^
 
Mais du coup pourquoi prendre le soin d'arrêter le container Vaultwarden avant de le sauvegarder ? Je serai le seul à m'en servir avec ma copine donc si je lance une sauvegarde la nuit, aucun risque qu'une nouvelle entrée soit faite pendant la sauvegarde.
Vaultwarden gère une base de données, le problème est que l'on ne sait pas a priori quand celle-ci sera mise à jour ce qui peut être réalisé de façon asynchrone. Pour éviter tout risque il vaut mieux arrêter le container.
D'ailleurs question conne mais : est-ce qu'il suffit de sauvegarde le dossier /volume1/docker/Vaultwarden pour avoir l'intégralité du docker ?
C'est l'hypothèse que j'ai retenue, hypothèse validée par @MilesTEG pour un autre container.
Par exemple si je fais un nouveau NAS et que je C/C ce répertoire, est-ce que l'application fonctionnera direct ?
Je n'en sais rien mais n'oublie pas de télécharger l'image sur le nouveau NAS :)
 
Vaultwarden gère une base de données, le problème est que l'on ne sait pas a priori quand celle-ci sera mise à jour ce qui peut être réalisé de façon asynchrone. Pour éviter tout risque il vaut mieux arrêter le container.
Ce que tu dis ici est valable pour une copie pure et simple du fichier de la base de données, afin d'éviter toute corruption.
Mais ça n'est pas valable si tu fais un "dump" de la base de données avec l'outils adéquat car là, pas besoin d'arrêter le conteneur, ça peut se faire en live, c'est conçu pour, c'est un outil qui gère les bases de données.
Et c'est ce que fait le conteneur Vaultwarden Backup, il me semble.
 
Et c'est ce que fait le conteneur Vaultwarden Backup, il me semble.
Oui mais le problème, comme je l'ai déjà dit, est qu'il n'y a pas de mode d'emploi pour restaurer le container en cas de sinistre avec l'outil de sauvegarde intégré à Vaultwarden ce qui m'effraie un peu. En cas de sinistre on est toujours stressé et ce n'est pas le moment de jouer le succès de l'opération à pile ou face. Je passe donc par la solution HyperBackup et il faut pour le coup arrêter le container.
 
Oui mais le problème, comme je l'ai déjà dit, est qu'il n'y a pas de mode d'emploi pour restaurer le container en cas de sinistre avec l'outil de sauvegarde intégré à Vaultwarden ce qui m'effraie un peu. En cas de sinistre on est toujours stressé et ce n'est pas le moment de jouer le succès de l'opération à pile ou face. Je passe donc par la solution HyperBackup et il faut pour le coup arrêter le container.
Attention, il n’y a pas de système de sauvegarde intégré a vaultwarden. C’est un conteneur à ajouter soi même comme je l’ai fait et comme j’en parle ici.

Pour restaurer : il suffit , Vaultwarden éteint , de copier les fichiers et dossiers de configuration au bon endroit et de relancer.
Je l’ai fait une fois en clonant mon dossier vaultwarden dans un autre pour faire quelques essais de changement de base de données (pour passer à Postgress ou autre je sais plus).
 
Attention, il n’y a pas de système de sauvegarde intégré a vaultwarden. C’est un conteneur à ajouter soi même comme je l’ai fait et comme j’en parle ici.

Pour restaurer : il suffit , Vaultwarden éteint , de copier les fichiers et dossiers de configuration au bon endroit et de relancer.
Je l’ai fait une fois en clonant mon dossier vaultwarden dans un autre pour faire quelques essais de changement de base de données (pour passer à Postgress ou autre je sais plus).
C'est bien ce que j'imaginais alors.

En fait en cas de galère, disons si on repart à 0 :
1- On remet en service un docker Vaultwarden vierger
2- On était ce nouveau docker Vaultwarden
3- On copie les fichiers et dossier qui étaient présent dans l'ancien dossier Vaulwarden (donc on écrase ce qui a été créé en 1-)
4- On relance le docker

J'ai bon ?

J'ai juste une dernière question.
@MilesTEG, @CyberFR Vous parlez d'arrêter proprement le docker pour ensuite faire la copie via hyperbackup.
Je suppose que vous avez scripté la partie : arrêt/relance du docker.
Est-ce que l'arrêt puis relance se font avec ces commande : docker stop vaultwarden | docker start vaultwarden
Il faut taper ces commandes dans le dossier /volume1/docker/ ?
J'ai jamais fait de script sur encore du coup je sais pas du tout comment m'y prendre, si vous avez un exemple je suis preneur ^^

Merci d'avance et bon weekend à vous ;)
 
Dernière édition:
En fait en cas de galère, disons si on repart à 0 :
1- On remet en service un docker Vaultwarden vierger
2- On était ce nouveau docker Vaultwarden
3- On copie les fichiers et dossier qui étaient présent dans l'ancien dossier Vaulwarden (donc on écrase ce qui a été créé en 1-)
4- On relance le docker

J'ai bon ?
Pour moi, du ne fait pas ton étape n°2, pas besoin.
J'ai juste une dernière question.
@MilesTEG, @CyberFR Vous parlez d'arrêter proprement le docker pour ensuite faire la copie via hyperbackup.
Je suppose que vous avez scripté la partie : arrêt/relance du docker.
Mon script pour Gitea arrête docker avec la commande que tu cites plus bas, fait une archive du dossier dokcer de gitea, puis relance le conteneur.
Hyperbackup lui va sauvegarder tout mon dossier docker, dont la sauvegarde de gitea.
Bien sûr faut planifier tes tâches en décalé :)
La sauvegarde via script bien avant celle de Hyperbackup.
Est-ce que l'arrêt puis relance se font avec ces commande : docker stop vaultwarden | docker start vaultwarden
Il faut taper ces commandes dans le dossier /volume1/docker/ ?
J'ai jamais fait de script sur encore du coup je sais pas du tout comment m'y prendre, si vous avez un exemple je suis preneur ^^
Pas besoin d''être dans le dossier du conteneur.
En revanche, il faut soit être root, soit utiliser sudo.
 
@MilesTEG, @CyberFR Vous parlez d'arrêter proprement le docker pour ensuite faire la copie via hyperbackup.
Je suppose que vous avez scripté la partie : arrêt/relance du docker.
Oui et tout se passe dans le Planificateur de tâches. Si la sauvegarde HyperBackup se déroule à 20 h, un script qui arrête Vaultwarden est exécuté à 19h50.
synowebapi --exec api=SYNO.Docker.Container version=1 method=stop name="vaultwarden"
Une fois la sauvegarde terminée un second script est lancé. À toi de voir à quelle heure il doit être exécuté car cela dépend du temps estimé de la sauvegarde. Ce script démonte le disque USB sur lequel la sauvegarde a été effectuée et relance Vaultwarden.
#!/bin/bash
# démonte le disque externe USB
# /usr/syno/bin/synousbdisk pour obtenir le nom du disque
#
/usr/syno/bin/synousbdisk -umount usb1
#
# redémarrage du container
docker container start vaultwarden
 
Dernière édition:
Pour moi, du ne fait pas ton étape n°2, pas besoin.

Mon script pour Gitea arrête docker avec la commande que tu cites plus bas, fait une archive du dossier dokcer de gitea, puis relance le conteneur.
Hyperbackup lui va sauvegarder tout mon dossier docker, dont la sauvegarde de gitea.
Bien sûr faut planifier tes tâches en décalé :)
La sauvegarde via script bien avant celle de Hyperbackup.

Pas besoin d''être dans le dossier du conteneur.
En revanche, il faut soit être root, soit utiliser sudo.

Etape 2, il fallait lire : On éteintle nouveau docker vaulwarden.
On peut écraser les dossiers d'un dossier docker pendant qu'il tourne ? il va pas aimer non ? :)

Ok merci pour les précisions concernant le user/sudo ;)

Oui et tout se passe dans le Planificateur de tâches. Si la sauvegarde HyperBackup se déroule à 20 h, un script qui arrête Vaultwarden est exécuté à 19h50.

Une fois la sauvegarde terminée un second script est lancé. À toi de voir à quelle heure il doit être exécuté car cela dépend du temps estimé de la sauvegarde. Ce script démonte le disque USB sur lequel la sauvegarde a été effectuée et relance Vaultwarden.

Top merci pour l'exemple.
Avec ça je vais réussir à faire quelque chose de carré pour la sauvegarde de ce docker ;)

Pour ma part la sauvegarde est effectuée dans un dossier de type "drive" qui est sauvegardé en temps réel avec mon cloud Google.
Et une fois par semaine j'ai une sauvegarde intégrale de mon NAS qui est faite sur un NAS distant donc normalement avec ça je devrais être tranquille.
 
@hyperion57070 de rien 😉
Etape 2, il fallait lire : On éteintle nouveau docker vaulwarden.
On peut écraser les dossiers d'un dossier docker pendant qu'il tourne ? il va pas aimer non ? :)
Non non, il faut bien évidemment que le conteneur soit éteint 😉
Ce que je voulais dire c’est qu’il n’est pas nécessaire de lancer une première fois le conteneur avant de placer les données dans le dossier en écrasant les précédentes.
Tu places tes données au bon endroit et ensuite tu crées ton conteneur ce qui va le lancer et d’office il va utiliser les données que tu as placées juste avant.
 
Bonjour,
Merci pour le tuto, par contre je suis un vrai début et j'ai un soucis a l'étapes 4.3.2 lorsque je suis sur portainer et je créer la stack docker-compose.yml sa me met cette erreur en photo jointe:
Quelqu'un aurait une idée svp?
Merci
 

Pièces jointes

  • Capture d'écran 2024-03-09 165357.png
    Capture d'écran 2024-03-09 165357.png
    20.6 KB · Affichages: 5
Bonjour, poste ton docker-compose ici en utilisant les balises de code.
Bonjour, merci pour ton aide.
Je suis vraiment débutant et je connais pas grand chose et je n'ai pas vraiment compris qu'elle compose-docker qui fallait mettre pour le coups, j'ai mis le docker-compose.yml V6 qui y est en téléchargement plus haut dans le poste du tuto et remplacé les xxx par mes informations.
J'ai bien crée le réseau vaultwarden_network au préalable, par contre, je n'ai pas mis de fichier dans file station, il y a juste /volume1/docker/vaultwarden/
YAML:
##==============================================================================================
##                                                                                            ##
##         Fichier docker-compose.yml pour Vaultwarden avec ttionya/vaultwarden-backup        ##
##                                 Révision du fichier : v6.0                                 ##
##              Utilisable pour les versions de Vaultwarden postérieure à 1.29.0              ##
##                                                                                            ##
##==============================================================================================
##                                                                                            ##
## 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                             ##
##                                                                                            ##
## Depuis la version 1.29.0, il n'est plus nécessaire de paramétrer le reverse-proxy          ##
## pour la gestion des notifications websocket comme avant. Tout passera par le port          ##
## web déclaré.                                                                               ##
##                                                                                            ##
##==============================================================================================
#
# Tuto : https://www.forum-nas.fr/threads/tuto-installer-vaultwarden-avec-une-sauvegarde-automatique-des-donn%C3%A9es-nouvelle-version.20614/
#
---
version: "2.4"

services:
  vaultwarden:
    image: vaultwarden/server:latest    # https://github.com/dani-garcia/vaultwarden
                                        # https://github.com/dani-garcia/vaultwarden/wiki
    container_name: vaultwarden
    networks:
      - vaultwarden_network
    environment:
      # Utiliser la commande (en SSH) : id Keao
      - PUID=1000
      - PGID=100
      - TZ=Europe/Paris
      
      # Pour l'envoi d'emails
      # Domains: gmail.com, googlemail.com
      # SMTP_SSL and SMTP_EXPLICIT_TLS are DEPRECIATED, https://github.com/dani-garcia/vaultwarden/wiki/SMTP-Configuration
      # Gmail FullSSL
      - SMTP_HOST=smtp.gmail.com
      - SMTP_PORT=465
      - SMTP_SECURITY=force_tls
      # Gmail StartTLS
      # - SMTP_PORT=587
      # - SMTP_SECURITY=starttls
      - SMTP_USERNAME=Mon adresse mail
      - SMTP_PASSWORD=Mon mot de passe

      - SMTP_FROM=France
      - SMTP_FROM_NAME=Vaultwarden (_Bitwarden_)

      - 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 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=https://vaultewarden.xxx.synology.me:ports

      # Pour enregistrer les log avec un niveau particulier
      - LOG_FILE=/data/vaultwarden.log
      - LOG_LEVEL=warn
      - EXTENDED_LOGGING=true

      # Pour activer la console d'administation, accessible via : https://mon.domaine.tld/admin/
      # 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.
      # /!\
      # Je conseille de ne l'activer qu'en cas de nécessité, et de la désactiver après.
      # L'utilisation d'Argon2 est recommandée, voir ici : https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token
      # Pour désactiver, il suffit de commenter la ligne ci-dessous.
      - ADMIN_TOKEN=mon mot de passe tocken
      # À 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'.
      
      - SIGNUPS_ALLOWED=false   # Fait en sorte que les inscriptions soient bloquées, seul l'admin pourra inviter
                                # des utilisateurs avec un envoi d'email depuis la console d’administration
      
      ## ---- Non nécessaire depuis la version 1.29.0
      # - WEBSOCKET_ENABLED=true  # Active les WebSocket notifications (Nécessite la configuration du reverse-proxy)
                                # Durant le nombre importants d'essais, j'en suis venu à laisser le port par défaut
                                # pour le WEBSOCKET_PORT. Il est possible que ça fonctionne avec un port différent.
                                # Il faudra alors décommenter la ligne suivante, et changer le port exposé plus bas.
      #- WEBSOCKET_PORT=3012    # Par défaut = 3012
      
      # Pour activer la récupération des icônes 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
      
      ###############################################
      # Nouveautés v5.1 : variables pour la sécurité
      ## Nombre de secondes, en moyenne, entre les demandes de connexion à partir de la même adresse IP avant que la limitation de débit n'entre en vigueur.
      - LOGIN_RATELIMIT_SECONDS=60
      ## Autoriser une rafale de requêtes jusqu'à cette taille, tout en maintenant la moyenne indiquée par `LOGIN_RATELIMIT_SECONDS`.
      ## Notez que cela s'applique à la fois à la connexion et au 2FA, il est donc recommandé d'autoriser une taille de rafale d'au moins 2.
      - LOGIN_RATELIMIT_MAX_BURST=5

      ## Nombre de secondes, en moyenne, entre les demandes de connexion d'administrateur à partir de la même adresse IP avant que la limitation de débit n'entre en vigueur.
      - ADMIN_RATELIMIT_SECONDS=60
      ## Autoriser une rafale de requêtes jusqu'à cette taille, tout en maintenant la moyenne indiquée par `ADMIN_RATELIMIT_SECONDS`.
      - ADMIN_RATELIMIT_MAX_BURST=3

      ## Définissez la durée de vie des sessions d'administration sur cette valeur (en minutes).
      - ADMIN_SESSION_LIFETIME=20
      
      ## Contrôle si les utilisateurs peuvent définir des indices de mot de passe. Ce paramètre s'applique globalement à tous les utilisateurs.
      - PASSWORD_HINTS_ALLOWED=false
      ## Contrôle si un indice de mot de passe doit être affiché directement dans la page Web si le service SMTP n'est pas configuré.
      ## Non recommandé pour les instances accessibles au public car cela fournit un accès non authentifié à des données potentiellement sensibles.
      - SHOW_PASSWORD_HINT=false

      ## Nombre de minutes à attendre avant qu'une connexion compatible 2FA soit considérée comme incomplète, entraînant une notification par e-mail.
      ## Une connexion 2FA incomplète est celle où le bon ## le mot de passe principal a été fourni mais l'étape 2FA requise n'a pas été effectuée,
      ## ce qui indique potentiellement une compromission du mot de passe principal.
      ## Réglez sur 0 pour désactiver cette vérification.
      ## Ce paramètre s'applique globalement à tous les utilisateurs.
      - INCOMPLETE_2FA_TIME_LIMIT=2
      ###############################################
      
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

    volumes:
      - "/volume1/docker/vaultwarden/vaultwarden-data/:/data/"
    ports:
      # - 3012:3012   # Choisir un port libre pour le websocket ---- Non nécessaire depuis la version 1.29.0
      - 3013:80     # Choisir un port libre pour l'interface WEB
    restart: unless-stopped

  vaultwarden_backup_ttionya:     # Voir : https://github.com/ttionya/vaultwarden-backup
    image: ttionya/vaultwarden-backup:latest
    container_name: vaultwarden_backup_ttionya
    networks:
      - vaultwarden_network
    
    restart: always
    
    depends_on:
      vaultwarden:
        condition: service_healthy
    
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    
    volumes:
      - /volume1/docker/vaultwarden/vaultwarden-data:/data
      # Chemin d'accès pour stocker le backup et la configuration rclone, voir https://github.com/ttionya/vaultwarden-backup
      - /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/config:/config
      - /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/rclone_backup:/rclone_backup

    environment:
      - DATA_DIR=/data                    # Dossier de données de Vaultwarden monté avec les volumes
      - RCLONE_REMOTE_NAME=Backup_Syno    # Nom de la config rclone utilisée (voir note plus bas)
      - RCLONE_REMOTE_DIR=/rclone_backup/ # Dossier qui doit monté avec les volumes
      
      # Utiliser soit SCHEDULE soit INTERVAL (ce dernier en sec)
      # Pour SCHEDULE : https://crontab.guru/#0_22_*_*_*
      # Dans la ligne suivante, on programme l'exécution tous les jours à 22h
      - CRON=0 22 * * *
      - ZIP_ENABLE=TRUE
      - ZIP_PASSWORD=WHEREISMYPASSWORD?
      - ZIP_TYPE=7z
      #- BACKUP_FILE_DATE_SUFFIX=--%Hh%Mm%Ss
      - BACKUP_FILE_DATE=%d-%m-%Y--%Hh%Mm%Ss
      - BACKUP_KEEP_DAYS=7
      # - MAIL_SMTP_ENABLE=FALSE
      # - MAIL_SMTP_VARIABLES=''
      # - MAIL_TO=''
      # - MAIL_WHEN_SUCCESS='TRUE'
      # - MAIL_WHEN_FAILURE='TRUE'
      - TIMEZONE=Europe/Paris
      
      #############################################
      # Note à propos de la configuration de rclone
      #############################################
      # Si vous voulez faire une sauvegarde locale, il faut juste placer le fichier rclone.conf dans le dossier ../config/rclone/
      # Dans ce fichier vous trouverez ceci :
      #          [Backup_Syno]
      #          type = local
      #
      # Il faudra remplacer Backup_Syno par un autre nom au besoin.
      # Ce fichier est donc prévu pour une sauvegarde locale.
      # Pour configurer d'autres types de sauvegarde, il faut lancer la configuration de rclone avec cette commande :
      # docker run --rm -it -v /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/config:/config ttionya/vaultwarden-backup:latest rclone config


networks:                                         # On indique ici de quel réseau on parlait précédemment
  vaultwarden_network:
    external:                                     # C'est un réseau créé en dehors du docker-compose.
      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...
 
Bonjour, merci pour ton aide.
Je suis vraiment débutant et je connais pas grand chose et je n'ai pas vraiment compris qu'elle compose-docker qui fallait mettre pour le coups, j'ai mis le docker-compose.yml V6 qui y est en téléchargement plus haut dans le poste du tuto et remplacé les xxx par mes informations.
J'ai bien crée le réseau vaultwarden_network au préalable, par contre, je n'ai pas mis de fichier dans file station, il y a juste /volume1/docker/vaultwarden/
YAML:
##==============================================================================================
##                                                                                            ##
##         Fichier docker-compose.yml pour Vaultwarden avec ttionya/vaultwarden-backup        ##
##                                 Révision du fichier : v6.0                                 ##
##              Utilisable pour les versions de Vaultwarden postérieure à 1.29.0              ##
##                                                                                            ##
##==============================================================================================
##                                                                                            ##
## 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                             ##
##                                                                                            ##
## Depuis la version 1.29.0, il n'est plus nécessaire de paramétrer le reverse-proxy          ##
## pour la gestion des notifications websocket comme avant. Tout passera par le port          ##
## web déclaré.                                                                               ##
##                                                                                            ##
##==============================================================================================
#
# Tuto : https://www.forum-nas.fr/threads/tuto-installer-vaultwarden-avec-une-sauvegarde-automatique-des-donn%C3%A9es-nouvelle-version.20614/
#
---
version: "2.4"

services:
  vaultwarden:
    image: vaultwarden/server:latest    # https://github.com/dani-garcia/vaultwarden
                                        # https://github.com/dani-garcia/vaultwarden/wiki
    container_name: vaultwarden
    networks:
      - vaultwarden_network
    environment:
      # Utiliser la commande (en SSH) : id Keao
      - PUID=1000
      - PGID=100
      - TZ=Europe/Paris
     
      # Pour l'envoi d'emails
      # Domains: gmail.com, googlemail.com
      # SMTP_SSL and SMTP_EXPLICIT_TLS are DEPRECIATED, https://github.com/dani-garcia/vaultwarden/wiki/SMTP-Configuration
      # Gmail FullSSL
      - SMTP_HOST=smtp.gmail.com
      - SMTP_PORT=465
      - SMTP_SECURITY=force_tls
      # Gmail StartTLS
      # - SMTP_PORT=587
      # - SMTP_SECURITY=starttls
      - SMTP_USERNAME=Mon adresse mail
      - SMTP_PASSWORD=Mon mot de passe

      - SMTP_FROM=France
      - SMTP_FROM_NAME=Vaultwarden (_Bitwarden_)

      - 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 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=https://vaultewarden.xxx.synology.me:ports

      # Pour enregistrer les log avec un niveau particulier
      - LOG_FILE=/data/vaultwarden.log
      - LOG_LEVEL=warn
      - EXTENDED_LOGGING=true

      # Pour activer la console d'administation, accessible via : https://mon.domaine.tld/admin/
      # 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.
      # /!\
      # Je conseille de ne l'activer qu'en cas de nécessité, et de la désactiver après.
      # L'utilisation d'Argon2 est recommandée, voir ici : https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page#secure-the-admin_token
      # Pour désactiver, il suffit de commenter la ligne ci-dessous.
      - ADMIN_TOKEN=mon mot de passe tocken
      # À 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'.
     
      - SIGNUPS_ALLOWED=false   # Fait en sorte que les inscriptions soient bloquées, seul l'admin pourra inviter
                                # des utilisateurs avec un envoi d'email depuis la console d’administration
     
      ## ---- Non nécessaire depuis la version 1.29.0
      # - WEBSOCKET_ENABLED=true  # Active les WebSocket notifications (Nécessite la configuration du reverse-proxy)
                                # Durant le nombre importants d'essais, j'en suis venu à laisser le port par défaut
                                # pour le WEBSOCKET_PORT. Il est possible que ça fonctionne avec un port différent.
                                # Il faudra alors décommenter la ligne suivante, et changer le port exposé plus bas.
      #- WEBSOCKET_PORT=3012    # Par défaut = 3012
     
      # Pour activer la récupération des icônes 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
     
      ###############################################
      # Nouveautés v5.1 : variables pour la sécurité
      ## Nombre de secondes, en moyenne, entre les demandes de connexion à partir de la même adresse IP avant que la limitation de débit n'entre en vigueur.
      - LOGIN_RATELIMIT_SECONDS=60
      ## Autoriser une rafale de requêtes jusqu'à cette taille, tout en maintenant la moyenne indiquée par `LOGIN_RATELIMIT_SECONDS`.
      ## Notez que cela s'applique à la fois à la connexion et au 2FA, il est donc recommandé d'autoriser une taille de rafale d'au moins 2.
      - LOGIN_RATELIMIT_MAX_BURST=5

      ## Nombre de secondes, en moyenne, entre les demandes de connexion d'administrateur à partir de la même adresse IP avant que la limitation de débit n'entre en vigueur.
      - ADMIN_RATELIMIT_SECONDS=60
      ## Autoriser une rafale de requêtes jusqu'à cette taille, tout en maintenant la moyenne indiquée par `ADMIN_RATELIMIT_SECONDS`.
      - ADMIN_RATELIMIT_MAX_BURST=3

      ## Définissez la durée de vie des sessions d'administration sur cette valeur (en minutes).
      - ADMIN_SESSION_LIFETIME=20
     
      ## Contrôle si les utilisateurs peuvent définir des indices de mot de passe. Ce paramètre s'applique globalement à tous les utilisateurs.
      - PASSWORD_HINTS_ALLOWED=false
      ## Contrôle si un indice de mot de passe doit être affiché directement dans la page Web si le service SMTP n'est pas configuré.
      ## Non recommandé pour les instances accessibles au public car cela fournit un accès non authentifié à des données potentiellement sensibles.
      - SHOW_PASSWORD_HINT=false

      ## Nombre de minutes à attendre avant qu'une connexion compatible 2FA soit considérée comme incomplète, entraînant une notification par e-mail.
      ## Une connexion 2FA incomplète est celle où le bon ## le mot de passe principal a été fourni mais l'étape 2FA requise n'a pas été effectuée,
      ## ce qui indique potentiellement une compromission du mot de passe principal.
      ## Réglez sur 0 pour désactiver cette vérification.
      ## Ce paramètre s'applique globalement à tous les utilisateurs.
      - INCOMPLETE_2FA_TIME_LIMIT=2
      ###############################################
     
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

    volumes:
      - "/volume1/docker/vaultwarden/vaultwarden-data/:/data/"
    ports:
      # - 3012:3012   # Choisir un port libre pour le websocket ---- Non nécessaire depuis la version 1.29.0
      - 3013:80     # Choisir un port libre pour l'interface WEB
    restart: unless-stopped

  vaultwarden_backup_ttionya:     # Voir : https://github.com/ttionya/vaultwarden-backup
    image: ttionya/vaultwarden-backup:latest
    container_name: vaultwarden_backup_ttionya
    networks:
      - vaultwarden_network
   
    restart: always
   
    depends_on:
      vaultwarden:
        condition: service_healthy
   
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
   
    volumes:
      - /volume1/docker/vaultwarden/vaultwarden-data:/data
      # Chemin d'accès pour stocker le backup et la configuration rclone, voir https://github.com/ttionya/vaultwarden-backup
      - /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/config:/config
      - /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/rclone_backup:/rclone_backup

    environment:
      - DATA_DIR=/data                    # Dossier de données de Vaultwarden monté avec les volumes
      - RCLONE_REMOTE_NAME=Backup_Syno    # Nom de la config rclone utilisée (voir note plus bas)
      - RCLONE_REMOTE_DIR=/rclone_backup/ # Dossier qui doit monté avec les volumes
     
      # Utiliser soit SCHEDULE soit INTERVAL (ce dernier en sec)
      # Pour SCHEDULE : https://crontab.guru/#0_22_*_*_*
      # Dans la ligne suivante, on programme l'exécution tous les jours à 22h
      - CRON=0 22 * * *
      - ZIP_ENABLE=TRUE
      - ZIP_PASSWORD=WHEREISMYPASSWORD?
      - ZIP_TYPE=7z
      #- BACKUP_FILE_DATE_SUFFIX=--%Hh%Mm%Ss
      - BACKUP_FILE_DATE=%d-%m-%Y--%Hh%Mm%Ss
      - BACKUP_KEEP_DAYS=7
      # - MAIL_SMTP_ENABLE=FALSE
      # - MAIL_SMTP_VARIABLES=''
      # - MAIL_TO=''
      # - MAIL_WHEN_SUCCESS='TRUE'
      # - MAIL_WHEN_FAILURE='TRUE'
      - TIMEZONE=Europe/Paris
     
      #############################################
      # Note à propos de la configuration de rclone
      #############################################
      # Si vous voulez faire une sauvegarde locale, il faut juste placer le fichier rclone.conf dans le dossier ../config/rclone/
      # Dans ce fichier vous trouverez ceci :
      #          [Backup_Syno]
      #          type = local
      #
      # Il faudra remplacer Backup_Syno par un autre nom au besoin.
      # Ce fichier est donc prévu pour une sauvegarde locale.
      # Pour configurer d'autres types de sauvegarde, il faut lancer la configuration de rclone avec cette commande :
      # docker run --rm -it -v /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/config:/config ttionya/vaultwarden-backup:latest rclone config


networks:                                         # On indique ici de quel réseau on parlait précédemment
  vaultwarden_network:
    external:                                     # C'est un réseau créé en dehors du docker-compose.
      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...
Bonsoir,
Je ne vois rien de bloquant dans ton compose...
Tu as bien créé le réseau vaultwarden_network avant de lancer la création de la stack ?
 
Bonsoir,
Je ne vois rien de bloquant dans ton compose...
Tu as bien créé le réseau vaultwarden_network avant de lancer la création de la stack ?
Bonsoir, oui je les fais comme d'écris plus haut en ssh

j'ai essayer plusieur fois de tout supprimer et réinstaller et toujours pareil
 
Bonsoir, oui je les fais comme d'écris plus haut en ssh

j'ai essayer plusieur fois de tout supprimer et réinstaller et toujours pareil
As-tu essayé en fixant l'adresse IP ?
1710154709502.png

Pense à supprimer le réseau avant.