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
この記事が気に入ったらサポートをしてみませんか?