Självhotell

Säkerhetskopiera dina värddata

När du själv är värd för Bitwarden är du ansvarig för att implementera dina egna säkerhetskopieringsprocedurer för att hålla data säker.

Om värddata

Bitwardens Docker-containrar använder volymmappning för att bevara all viktig data på värddatorn, vilket innebär att du inte raderar någon data om du stoppar dina containrar. Docker-containrar, å andra sidan, är att betrakta som tillfälliga och behåller inte data eller tillstånd.

All Bitwarden-data lagras på värddatorn i ./bwdata-katalogen, i förhållande till den plats där du installerade Bitwarden.

Säkerhetskopiera värddata

Det rekommenderas att du säkerhetskopierar och förvarar hela ./bwdata-katalogen. I händelse av dataförlust behöver du hela eller delar av data som finns i den här katalogen för att återställa din instans.

Särskilt viktiga delar av ./bwdata att säkerhetskopiera regelbundet inkluderar:

  • ./bwdata/env - Instansens miljövariabler, inklusive databas- och certifikatlösenord.

  • ./bwdata/core/attachments - Bilagor till instansens valvobjekt.

  • ./bwdata/mssql/data - Instansens databasdata.

  • ./bwdata/core/aspnet-dataprotection - Dataskydd på ramnivå, inklusive autentiseringstokens och vissa databaskolumner.

    Bitwarden tar automatiskt nattliga säkerhetskopior av mssql-databasbehållaren när den körs.

Säkerhetskopiering av databas varje natt

Bitwarden tar automatiskt nattliga säkerhetskopior av mssql-behållardatabasen. Dessa säkerhetskopior sparas i katalogen ./bwdata/mssql/backups i 30 dagar.

I händelse av dataförlust kan du använda ./bwdata/mssql/backups för att återställa en nattlig säkerhetskopia.

Återställ en säkerhetskopiering varje natt

I händelse av dataförlust, slutför följande steg för att återställa en nattlig säkerhetskopia.

  1. Hämta ditt databaslösenord från värdet globalSettings__sqlServer__connectionString=...Password= som finns i global.override.env.

  2. Identifiera container-ID för mssql-behållaren med kommandot docker ps.

  3. Kör följande kommando för att öppna en bash-session för din mssql docker-behållare:

    Bash
    docker exec -it bitwarden-mssql /bin/bash

    Din kommandotolk bör nu matcha det identifierade container-ID:t för bitwarden-mssql-behållaren.

  4. Leta reda på säkerhetskopian som du vill återställa i behållaren.

    note

    The backup directory in the container is volume-mapped from the host directory. ./bwdata/mssql/backups on the host machine maps to etc/bitwarden/mssql/backups in the container.

    Till exempel är en fil /etc/bitwarden/mssql/backups/vault_FULL_20201208_003243.BAK en säkerhetskopia som togs den 8 december 2020 kl. 12:32.

  5. Starta verktyget sqlcmd med följande kommando:

    Bash
    /opt/mssql-tools/bin/sqlcmd -S localhost -U <sa> -P <sa-password>

    där<sa> och<sa-password> matcha värdena User= och Password= som finns i global.override.env.

  6. Väl i sqlcmd-verktyget har du två alternativ för säkerhetskopiering:

    1. Offlineåterställning (föredraget)

      Kör följande SQL-kommandon:

      Bash
      1> use master 2> GO 1> alter database vault set offline with rollback immediate 2> GO 1> restore database vault from disk='/etc/bitwarden/mssql/backups/vault_FULL_{Backup File Name}.BAK' with replace 2> GO ​1> alter database vault set online 2> GO 1> exit

      Starta om din Bitwarden-instans för att slutföra återställningen.

    2. Online återställning

      Kör följande SQL-kommandon:

      Bash
      1> RESTORE DATABASE vault FROM DISK = '/etc/bitwarden/mssql/backups/vault_FULL_20200302_235901.BAK' WITH REPLACE 2> GO

      Starta om din Bitwarden-instans för att slutföra återställningen.