見出し画像

Bitwarden(Vaultwarden)のバックアップに悩む

承前

VMでTailnet上にVaultwardenの保管庫を作り利用できるようになったが、保管庫のデータはできればバックアップをとっておきたい。
Dockerの設定で/home/<username>/vw-data/にデータを保管するように指定していたため、vw-dataディレクトリのバックアップを取ればそれで終わりのような気がしたのだが…

なにが問題か

とりあえずコピーを取ってみる

Ubuntuデスクトップでファイラを開きコピーを取ろうとすると権限がないと怒られる。
CLIでcpコマンドを利用すればコピーが取れることは取れる。

sudo cp -r /home/<username>/vw-data/ /home/<username>/vw-data-backup/

Deja Dupアプリでバックアップを取ろうとしても権限の問題がついてまわる。いちいちsudoでコマンドを叩くのもめんどくさい。

問題の原因

Docker上で動いているVaultwardenがroot権限でファイルを作成してしまうため、コピーやバックアップの際に権限の問題が出てくることにある。

Dockerの実行ユーザーを指定する

UIDを特定する

DockerはUIDを指定して実行させることができる。ユーザーIDはidコマンドで取得できる。

ユーザーを指定して実行する

-u [uid]でユーザーを指定することができる。Vaultwardenを実行するコマンドを以下のように変更する。(2行目を追加)

sudo docker run -d --name vaultwarden\
 -u <uid>\
 -v /home/<username>/vw-data/:/data/\
 -p 127.0.0.1:8080:80 --restart unless-stopped\
 vaultwarden/server:latest

バックアップを取得する

Deja Dupでバックアップする

Ubuntu SoftwareでDeja Dupを検索しインストールする。
使い方は特に説明はいらないと思う。

Googleドライブ、OneDrive、ネットワークサーバー(NASなど)あたりにバックアップを取ればよいだろう。
Deja Dupのバックアップはgzipで圧縮されたものになる。復元もDeja Dupを利用して行うことになる。

バックアップからの復元

Deja Dupを利用した復元も画面に従うだけなので簡単だ。
ファイルの復元をした後はDockerの再起動をしないと設定が反映されないので注意。

sudo docker restart vaultwarden


この記事が気に入ったらサポートをしてみませんか?