Mengatasi Error missing field newMasterPasswordHash saat Ganti Master Password di Vaultwarden

Troubleshooting
Topik: Self-hosted Server • Docker • Bitwarden / 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?

Error("missing field `newMasterPasswordHash`", line: 1, column: 566)

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 .env tersimpan permanen di storage host.
  • Menghapus atau merecreate container tidak akan menghapus data di host.
⚠️ Peringatan Penting! Jangan pernah menambahkan flag -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

  1. Cek status container untuk memastikan sudah running normal:
    docker compose ps
    Pastikan statusnya Up atau Up (healthy).
  2. Buka Web Vault di browser dan lakukan Hard Refresh agar cache lama terbuang:
    • Windows / Linux: Ctrl + F5
    • macOS: Cmd + Shift + R
  3. Coba lakukan penggantian Master Password kembali. Sekarang request akan berhasil diproses tanpa error!

Comments

Popular posts from this blog

Apa itu Link Aggregation?

Cara Konfigurasi Routing OSPF Dan EIGRP, Sampai Bisa Saling Berkomunikasi