From 13cc0ac88e40f3e21b198fa4d0d661a9f1b4111a Mon Sep 17 00:00:00 2001 From: MilesTEG Date: Sat, 3 Apr 2021 14:57:21 +0200 Subject: [PATCH] =?UTF-8?q?Bitwarden=5FRS=20avec=20Backup=20automatique=20?= =?UTF-8?q?et=20programm=C3=A9=20(je=20suis=20en=20train=20de=20tester=20p?= =?UTF-8?q?our=20les=20notifications=20websocket,=20avec=20le=20reverse-pr?= =?UTF-8?q?oxy=20de=20Synology=20DSM,=20il=20se=20peut=20que=20je=20fasse?= =?UTF-8?q?=20un=20autre=20commit=20pour=20inclure=20un=20script=20=C3=A0?= =?UTF-8?q?=20lancer=20r=C3=A9guli=C3=A8rement).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bitwardenrs_backup/docker-compose.yml | 133 ++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 docker-compose/bitwardenrs_backup/docker-compose.yml diff --git a/docker-compose/bitwardenrs_backup/docker-compose.yml b/docker-compose/bitwardenrs_backup/docker-compose.yml new file mode 100644 index 0000000..eb15a4a --- /dev/null +++ b/docker-compose/bitwardenrs_backup/docker-compose.yml @@ -0,0 +1,133 @@ +## Discord Plex FR : https://discord.gg/ERpYMqS +## Version 2021-04-03 +##======================================================================================== +## ## +## Fichier docker-compose.yml pour Bitwarden_RS avec Bitwarden-Backup ## +## ## +##======================================================================================== +## ## +## Attention, avec ce fichier, il faut avoir créer le réseau "bitwarden_network" avant ## +## de créer les conteneurs. ## +## ## +## La mise en place de fail2ban se fera avec un docker-compose dédié. ## +## ## +##======================================================================================== +--- +version: "2" + +services: + bitwardenrs: # Voir : https://github.com/dani-garcia/bitwarden_rs + image: bitwardenrs/server:latest + container_name: bitwardenrs + networks: + - bitwarden_network + environment: + # Utiliser la commande (en SSH) : id NOM_UTILISATEUR + - PUID=XXxxXX + - PGID=XXxxXX + - 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 + + # Nécessaire pour activer le 2FA pour la connexion à notre serveur bitwarden_rs + # 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 + + - INVITATION_ORG_NAME=Bitwarden_RS [Votre Nom, pseudo...] # Permet de spécifier un nom d'application pour les invitations d'organisation + + # Pour enregistrer les log avec un niveau particulier + - LOG_FILE=/data/bitwarden.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/bitwarden_rs/wiki/Enabling-admin-page + # /!\ + # /!\ N'importe qui pourra accéder à la page de connextion, 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) + + volumes: + - "/volume1/docker/bitwarden_rs/bitwarden-data/:/data/" + ports: + - XXxxXX:3012 # Choisir un port libre pour le websocket + - XXxxXX:80 # Choisir un port libre pour l'interface WEB + restart: unless-stopped + + # Sauvegarde automatique de la base de données, au-cas-où ! + bitwarden_backup: # Voir : https://gitlab.com/1O/bitwarden_rs-backup + image: bruceforce/bw_backup:latest + container_name: bitwarden_backup + networks: + - bitwarden_network + restart: always + depends_on: + - bitwardenrs + volumes: + - /etc/localtime:/etc/localtime:ro + - /volume1/docker/bitwarden_rs/bitwarden-data/:/data/ + # Chemin d'accès pour stocker le backup + - /volume1/docker/bitwarden_rs/bitwarden-backup:/backup_folder/ + + environment: + # Path to the Bitwarden 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é à Bitwarden, 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 + +networks: + bitwarden_network: + external: + name: bitwarden_network