Mengatasi Error missing field newMasterPasswordHash saat Ganti Master Password di Vaultwarden
Pernah ngalamin momen pas mau ganti Master Password Vaultwarden lewat Web Vault atau ekstensi Bitwarden, eh tiba-tiba malah disambut notifikasi error warna merah?
Tenang dulu, jangan buru-buru mikir databasenya korup atau password-nya lenyap. Masalah ini sebetulnya cukup klasik dan solusinya sangat simpel. Yuk kita bedah kenapa ini bisa kejadian dan cara beresinnya dengan aman.
🔍 Inti Masalah
Ketika kamu mengirim request perubahan Master Password via Web Vault atau ekstensi browser Bitwarden, server menolak request dan melempar error deserialisasi JSON di atas.
⚙️ Akar Penyebab: API Payload Mismatch
Masalah ini murni disebabkan oleh ketidakcocokan versi payload API:
- Client Bitwarden (Web Vault / browser extension) versi terbaru mengirimkan payload dengan skema field baru saat memproses perubahan Master Password.
- Backend Vaultwarden di server kamu masih memakai image Docker versi lawas. Akibatnya, backend gagal mendeserialisasi request karena masih mengantisipasi format field model lama.
Solusi satu-satunya: pull image terbaru dan recreate container Vaultwarden.
🛡️ Verifikasi Keamanan Data: Password Bakal Hilang Nggak?
Hal yang paling bikin was-was pas otak-atik Docker di production atau homelab tentu urusan persistensi data. Kabar baiknya, selama direktori /data di container sudah kamu mapping ke bind mount host (misal ./vw-data:/data) atau Docker named volume, data kamu 100% aman:
- Container Docker bersifat ephemeral / stateless, sedangkan seluruh data password, database (
db.sqlite3), dan config.envtersimpan permanen di storage host. - Menghapus atau merecreate container tidak akan menghapus data di host.
-v saat mematikan container (hindari perintah docker compose down -v). Flag -v akan ikut menghapus named volume yang terpasang!
🚀 Langkah Perbaikan & Update
1 Backup Folder Data (Preventif)
Sebelum menyentuh container, biasakan selalu backup direktori data di host terlebih dahulu:
cp -r /path/ke/data/vaultwarden /path/ke/data/vaultwarden_backup
*Ganti /path/ke/data/vaultwarden sesuai lokasi direktori data di server kamu.
2 Unduh Image Vaultwarden Terbaru
Masuk ke direktori tempat file docker-compose.yml berada, lalu jalankan perintah pull:
docker compose pull
3 Matikan Container Lama
Hentikan container yang sedang aktif:
docker compose down
4 Nyalakan Container dengan Image Baru
Jalankan kembali Vaultwarden di background (detached mode):
docker compose up -d
5 Verifikasi & Pengujian
- Cek status container untuk memastikan sudah running normal:
Pastikan statusnya Up atau Up (healthy).docker compose ps - Buka Web Vault di browser dan lakukan Hard Refresh agar cache lama terbuang:
- Windows / Linux: Ctrl + F5
- macOS: Cmd + Shift + R
- Coba lakukan penggantian Master Password kembali. Sekarang request akan berhasil diproses tanpa error!
Comments
Post a Comment