diff --git a/docker-compose/vaultwarden_AVEC_backup/Tuto - forum-nas.bbcode b/docker-compose/vaultwarden_AVEC_backup/Tuto - forum-nas.bbcode index e1d38c7..9cf0130 100644 --- a/docker-compose/vaultwarden_AVEC_backup/Tuto - forum-nas.bbcode +++ b/docker-compose/vaultwarden_AVEC_backup/Tuto - forum-nas.bbcode @@ -1,5 +1,7 @@ -[size=200][color=#800000][b]( [u] > TUTO mis à jour - v3.0 < [/u] )[/b][/color][/size] - +[size=200][color=#800000][b]( [u] > TUTO mis à jour - v4.0 < [/u] )[/b][/color][/size] +[color=#800000][list][*]- 3.1 : ajout d'une capture d'écran de la configuration du reverse-proxy de DSM + ajout d'une mention concernant ce qui est à remplacer dans le docker-compose.yml +[*]- 4.0 : changement d'image pour le backup, donc le docker-compose est modifié. +[/list][/color] Bonjour à toutes et à tous, @@ -9,27 +11,32 @@ Bonjour à toutes et à tous, 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- Mise en place et création des conteneurs [color=#800000][b]( [u] > Mise à jour v4.0 < [/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) + 3.2- Création du docker-compose.yml [color=#800000][b]( [u] > Mise à jour v4.0 < [/u] )[/b][/color] + 3.3- Configuration de rclone pour le backup [color=#800000][b]( [u] > Mise à jour v4.0 < [/u] )[/b][/color] + 3.4- Création des dossiers et du réseau + 3.5- 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] +5- Ajout d'un script pour les notifications Websocket [color=#800000][b]( [u] > Ajout v3.0 < [/u] )[/b][/color] + 5.1- Explications : Pourquoi ? Comment ? [color=#800000][b]( [u] > Ajout v3.0 < [/u] )[/b][/color] + 5.2- Comment lancer le script ? [color=#800000][b]( [u] > Ajout v3.0 < [/u] )[/b][/color] + 5.3- Enfin le script lui même ! [color=#800000][b]( [u] > Ajout v3.0 < [/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] +[*] docker-compose-v1.0.yml (plus maintenu, mais laissé pour la postérité) : [attachment=5]docker-compose-v1.0.yml.7z[/attachment] +[*] docker-compose-v2.0.yml (plus maintenu, mais laissé pour la postérité) : [attachment=4]docker-compose-v2.0.yml.7z[/attachment] +[*] docker-compose-v3.0.yml (plus maintenu, mais laissé pour la postérité) : [attachment=3]docker-compose-v3.0.yml.7z[/attachment] +[*] docker-compose-v4.0.yml (La dernière version) : [attachment=1]docker-compose-v4.0.yml.7z[/attachment] +[*] Le fichier rclone.conf : [attachment=0]config-rclone.conf.7z[/attachment] +[*] Le script pour les notifications Websockets : [attachment=2]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] @@ -90,11 +97,15 @@ Ce fichier est composé de trois parties : une partie dédiée à vaultwarden et [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. + +[color=#13A8BD]Il y a dans l'extrait ci-dessous des commentaires qui permettent de comprendre ce qui est fait. +Il faudra remplacer les [b]XXxxXX[/b] par vos valeurs à vous. +[/color] + [code]##============================================================================================== ## ## -## Fichier docker-compose.yml pour vaultwarden avec Bitwarden-Backup ## -## Révision du fichier : v3.0 ## +## Fichier docker-compose.yml pour Vaultwarden avec ttionya/vaultwarden-backup ## +## Révision du fichier : v4.0 ## ## ## ##============================================================================================== ## ## @@ -229,67 +240,71 @@ services: [/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] +[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 v4.0 < [/u] )[/b][/color] + +[color=#800000][b]( [u] > Mise à jour v4.0 < [/u] )[/b] +Je change la méthode de sauvegarde pour une nouvelle image qui permet davantage de choses, dont la sauvegarde des dossiers attachements, et sends en plus de la base de données. +[img]https://i.imgur.com/2T2U5QL.png[/img] +Il est possible de faire un backup local (méthode utilisée ici) mais il est également possible de faire une sauvegarde dans un cloud parmis une liste assez grande (voir plus bas). +Le fichier 7z obtenu est protégé par un mot de passe, celui présent dans le docker-compose dans la variable ZIP_PASSWORD. +La méthode de compression peut être changée pour zip, moins compressé, mais moins demandeur de ressources... +[/color] Comme précédemment, les indications sont en commentaires) -[code] # Sauvegarde automatique de la base de données, au-cas-où ! - vaultwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup - image: bruceforce/bw_backup:latest - container_name: vaultwarden_backup +[code] 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, voir https://gitlab.com/1O/bitwarden_rs-backup#wrong-permissions - - /volume1/docker/vaultwarden/vaultwarden-backup:/backup_folder/ + - /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: - # Path to the vaultwarden sqlite3 database inside the container - - DB_FILE=/data/db.sqlite3 - - # Path to the desired backup location inside the container - # - BACKUP_FILE=/data/db_backup/backup.sqlite3 - - BACKUP_FILE=/backup_folder/backup.sqlite3 - - # Sets the permissions of the backup file - # The permissions should at least be 700 since the backup folder itself gets the same permissions - # and with 600 it would not be accessible. - - BACKUP_FILE_PERMISSIONS=700 - - # Cronjob format "Minute Hour Day_of_month Month_of_year Day_of_week Year" - # https://crontab.guru/#0_9_*_*_* - # minutes | heures | jour du mois | mois | jour de la semaine - - CRON_TIME=0 18 * * * - - # Set to true to append timestamp to the BACKUP_FILE - - TIMESTAMP=true - - # User ID to run the cron job with - - 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 - - # Path to the logfile inside the container - #- LOGFILE - - # Path to the cron file inside the container - #- CRONFILE - - # Delete old backups after X many days - - DELETE_AFTER=14 + - 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 - # If you need timestamps in your local timezone you should mount /etc/timezone:/etc/timezone:ro and - # /etc/localtime:/etc/localtime:ro like it's done in the docker-compose.yml. - # An other possible solution is to set the environment variable accordingly (like TZ=Europe/Berlin) - # (see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for more information). - - TZ=Europe/Paris + # 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_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 [/code] @@ -304,7 +319,39 @@ Comme précédemment, les indications sont en commentaires) 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]3.3- Création des dossiers et du réseau[/size][/b][/color] +[color=#BF40BF][b][size=150]3.3- Configuration de rclone pour le backup[/size][/b][/color] [color=#800000][b]( [u] > Mise à jour v4.0 < [/u] )[/b][/color] +Pour que la sauvegarde se fasse sans erreur, il faut configurer un fichier rclone.conf qui devra se trouver dans /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/config/rclone/ + +Deux possiblités en fonction de ce que vous voudrez faire. +[list][*] La première si vous faites comme moi, une sauvegarde locale (dans un dossier du NAS, monté dans les volumes, voir paragraphe précédent). +Pour cette méthode, il suffit de créer un fichier rclone.conf dans /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/config/rclone/ (ou de copier le fichier joint) contenant : +[code][Backup_Syno] +type = local +[/code] +Vous remarquerez que Backup_Syno est le nom donné dans le docker compore à la variable RCLONE_REMOTE_NAME. +Il faudra donc bien configurer la variable RCLONE_REMOTE_DIR avec le chemin d'accès à l'intérieur du conteneur. + +Je tiens à préciser que ce mode de sauvegarde doit être complété par une tâche de backup planifiée (Hyperbackup) du dossier docker contenant le dossier Vaultwarden dans un cloud ou ailleurs. + +[*] La seconde si vous voulez ajouter des options, ou bien faire une sauvegarde dans un cloud. [/list] +Pour cela, il faut lancer une commande en ligne de commande SSH (donc se connecter en SSH au NAS) : +[code]docker run --rm -it \ + -v /volume1/docker/vaultwarden/vaultwarden-backup_ttionya/config:/config \ + ttionya/vaultwarden-backup:latest \ + rclone config +[/code] +Cette commande ne crée pas le conteneur, elle va juste lancer le processus de configuration de rclone : +[url=https://i.imgur.com/6QD37JW.png][img]https://i.imgur.com/6QD37JW.png[/img][/url] + +Vous pourrez éditer la configuration précédemment enregistrée (dans mon exemple, celle utilisée pour le backup local), en créer une nouvelle, etc... +Pour la création, il faut donc taper n (new remote). +Une fois donné un nom, vous aurez le choix entre toutes ces possibilités de cloud (sauf n°22 qui est la sauvegarde locale) : +[url=https://i.imgur.com/xSWPKVz.png][img]https://i.imgur.com/xSWPKVz.png[/img][/url] [url=https://i.imgur.com/kxO3LcS.png][img]https://i.imgur.com/kxO3LcS.png[/img][/url] +Je n'ai pas poursuivi une de ces méthodes de cloud, à vous d'essayer ;) (si vous le faites, n'hésiter pas à revenir faire un petit retour ;) ). + +À l'issue de l'exécution de cette configuration, vous aurez automatiquement le fichier rclone.conf écrit dans le dossier .../config/rclone/ (ou bien celui déjà existant sera modifié). + +[color=#BF40BF][b][size=150]3.4- 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. @@ -337,7 +384,7 @@ Et ensuite taper vos commande sans le [i]sudo[/i] devant. -[color=#BF40BF][b][size=150]3.4- Création des conteneurs (2 méthodes)[/size][/b][/color] +[color=#BF40BF][b][size=150]3.5- 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] @@ -376,15 +423,18 @@ Si vous essayer d'accéder via l'IP LAN en http ça ne fonctionnera pas, car le [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/uBTXLKe.png][img]https://i.imgur.com/uBTXLKe.png[/img][/url] + +[color=#13A8BD][b]( [u] > Mise à jour - v3.1 < [/u] )[/b] +Bref, il faut y accéder avec votre nom de domaine. Mais pour cela il faut paramétrer le reverse-proxy de DSM. +[url=https://i.imgur.com/iP47nZm.png][img]https://i.imgur.com/iP47nZm.png[/img][/url] +Une fois cette entrée créé, vous pouvez accéder en HTTPS avec votre nom de domain à Vaultwarden :[/color] +[url=https://i.imgur.com/kbZkHCF.png][img]https://i.imgur.com/kbZkHCF.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] Voilà voilà. Reste plus qu'à sécuriser le compte avec le 2FA. Pour cela, il faut aller dans le compte : diff --git a/docker-compose/vaultwarden_AVEC_backup/config/rclone/rclone.conf b/docker-compose/vaultwarden_AVEC_backup/config/rclone/rclone.conf new file mode 100644 index 0000000..45fe51d --- /dev/null +++ b/docker-compose/vaultwarden_AVEC_backup/config/rclone/rclone.conf @@ -0,0 +1,3 @@ +[Backup_Syno] +type = local + diff --git a/docker-compose/vaultwarden_AVEC_backup/docker-compose.yml b/docker-compose/vaultwarden_AVEC_backup/docker-compose.yml index 2a58ea6..4a5bc74 100644 --- a/docker-compose/vaultwarden_AVEC_backup/docker-compose.yml +++ b/docker-compose/vaultwarden_AVEC_backup/docker-compose.yml @@ -1,10 +1,7 @@ ##============================================================================================== ## ## -## Fichier docker-compose.yml pour vaultwarden avec Bitwarden-Backup ## -## Révision du fichier : v3.0 ## -## ## -##============================================================================================== - +## Fichier docker-compose.yml pour Vaultwarden avec ttionya/vaultwarden-backup ## +## Révision du fichier : v4.0 ## ## ## ##============================================================================================== ## ## @@ -58,146 +55,206 @@ ##============================================================================================== --- -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 NOM_UTILISATEUR - - PUID=1000 - - PGID=100 - - TZ=Europe/Paris + 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 NOM_UTILISATEUR + - PUID=1000 + - PGID=100 + - TZ=Europe/Paris + + # Pour l'envoi d'emails + - SMTP_HOST=XXxxXX + - SMTP_FROM=XXxxXX + - SMTP_FROM_NAME=BlaBla + - SMTP_PORT=XXxxXX + - SMTP_SSL=true + - SMTP_USERNAME=XXxxXX + - SMTP_PASSWORD=XXxxXX + + - 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=XXxxXX + + # Pour enregistrer les log avec un niveau particulier + - LOG_FILE=/data/vaultwarden.log + - LOG_LEVEL=warn + - EXTENDED_LOGGING=true + + # je n'aime pas les indices pour les mots de passe... + - 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/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. + # Pour désactiver, il suffit de commenter la ligne ci-dessous. + - ADMIN_TOKEN=XXxxXX + # À 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'administation + + - 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 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/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 + + vaultwarden_backup_ttionya: # Voir : https://github.com/ttionya/vaultwarden-backup + image: ttionya/vaultwarden-backup:latest + container_name: vaultwarden_backup_ttionya + networks: + - vaultwarden_network - # Pour l'envoi d'emails - - SMTP_HOST=XXxxXX - - SMTP_FROM=XXxxXX - - SMTP_FROM_NAME=BlaBla - - SMTP_PORT=XXxxXX - - SMTP_SSL=true - - SMTP_USERNAME=XXxxXX - - SMTP_PASSWORD=XXxxXX - - - 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=XXxxXX - - # Pour enregistrer les log avec un niveau particulier - - LOG_FILE=/data/vaultwarden.log - - LOG_LEVEL=warn - - EXTENDED_LOGGING=true - - # je n'aime pas les indices pour les mots de passe... - - 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/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. - # Pour désactiver, il suffit de commenter la ligne ci-dessous. - - ADMIN_TOKEN=XXxxXX - # À 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'. + restart: always - - 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'administation - - - 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 + depends_on: + vaultwarden: + condition: service_healthy - # 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 + labels: + - "com.centurylinklabs.watchtower.enable=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/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ù ! - vaultwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup - image: bruceforce/bw_backup:latest - container_name: vaultwarden_backup - 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, voir https://gitlab.com/1O/bitwarden_rs-backup#wrong-permissions - - /volume1/docker/vaultwarden/vaultwarden-backup:/backup_folder/ - - environment: - # Path to the vaultwarden sqlite3 database inside the container - - DB_FILE=/data/db.sqlite3 - - # Path to the desired backup location inside the container - # - BACKUP_FILE=/data/db_backup/backup.sqlite3 - - BACKUP_FILE=/backup_folder/backup.sqlite3 - - # Sets the permissions of the backup file - # The permissions should at least be 700 since the backup folder itself gets the same permissions - # and with 600 it would not be accessible. - - BACKUP_FILE_PERMISSIONS=700 - - # Cronjob format "Minute Hour Day_of_month Month_of_year Day_of_week Year" - # https://crontab.guru/#0_9_*_*_* - # minutes | heures | jour du mois | mois | jour de la semaine - - CRON_TIME=0 18 * * * - - # Set to true to append timestamp to the BACKUP_FILE - - TIMESTAMP=true - - # User ID to run the cron job with - - 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 - - # Path to the logfile inside the container - #- LOGFILE - - # Path to the cron file inside the container - #- CRONFILE - - # Delete old backups after X many days - - DELETE_AFTER=14 - - # If you need timestamps in your local timezone you should mount /etc/timezone:/etc/timezone:ro and - # /etc/localtime:/etc/localtime:ro like it's done in the docker-compose.yml. - # An other possible solution is to set the environment variable accordingly (like TZ=Europe/Berlin) - # (see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for more information). - - TZ=Europe/Paris - - -networks: - vaultwarden_network: - external: - name: vaultwarden_network + 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_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 + + + ############################################################################################### + # Ancienne version de la partie sauvegarde + ############################################################################################### + # Sauvegarde automatique de la base de données, au-cas-où ! + # vaultwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup + # image: bruceforce/bw_backup:latest + # container_name: vaultwarden_backup + # 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, voir https://gitlab.com/1O/bitwarden_rs-backup#wrong-permissions + # - /volume1/docker/vaultwarden/vaultwarden-backup:/backup_folder/ + + # environment: + # # Path to the vaultwarden sqlite3 database inside the container + # - DB_FILE=/data/db.sqlite3 + + # # Path to the desired backup location inside the container + # # - BACKUP_FILE=/data/db_backup/backup.sqlite3 + # - BACKUP_FILE=/backup_folder/backup.sqlite3 + + # # Sets the permissions of the backup file + # # The permissions should at least be 700 since the backup folder itself gets the same permissions + # # and with 600 it would not be accessible. + # - BACKUP_FILE_PERMISSIONS=700 + + # # Cronjob format "Minute Hour Day_of_month Month_of_year Day_of_week Year" + # # https://crontab.guru/#0_9_*_*_* + # # minutes | heures | jour du mois | mois | jour de la semaine + # - CRON_TIME=0 18 * * * + + # # Set to true to append timestamp to the BACKUP_FILE + # - TIMESTAMP=true + + # # User ID to run the cron job with + # - UID=1038 # J'ai créé un utilisateur dédié à vaultwarden, utiliser la commande 'id nom_user' + + # # Group ID to run the cron job with + # - GID=100 + + # # Path to the logfile inside the container + # #- LOGFILE + + # # Path to the cron file inside the container + # #- CRONFILE + + # # Delete old backups after X many days + # - DELETE_AFTER=14 + + # # If you need timestamps in your local timezone you should mount /etc/timezone:/etc/timezone:ro and + # # /etc/localtime:/etc/localtime:ro like it's done in the docker-compose.yml. + # # An other possible solution is to set the environment variable accordingly (like TZ=Europe/Berlin) + # # (see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for more information). + # - TZ=Europe/Paris + ############################################################################################### + + networks: + vaultwarden_network: + external: + name: vaultwarden_network + \ No newline at end of file