Cara menginstal Vaultwarden dengan Docker: Panduan lengkap untuk menyimpan kata sandi Anda sendiri

Pembaruan terakhir: 31/08/2026

  • Implementasi ringan dalam Rust, sepenuhnya kompatibel dengan klien Bitwarden resmi.
  • Penyebaran yang disederhanakan menggunakan kontainer Docker untuk kontrol privasi yang lengkap.
  • Persyaratan perangkat keras minimum yang ideal untuk server sederhana atau Raspberry Pi.
Cara menginstal Vaultwarden dengan Docker Compose

Vaultwarden memungkinkan Anda untuk menghosting pengelola kata sandi yang kompatibel dengan klien Bitwarden di server Anda sendiri. Dengan cara ini, Anda dapat memutuskan di mana informasi tersebut disimpan, siapa yang dapat mengakses layanan tersebut, dan bagaimana pencadangan dilakukan.

Penting untuk mengklarifikasi sejak awal bahwa Vaultwarden bukanlah server Bitwarden resmi.Ini adalah implementasi independen yang dikembangkan oleh komunitas dan ditulis dalam bahasa Rust yang mereplikasi sebagian besar API Bitwarden. Karena itu, implementasi ini dapat digunakan dengan aplikasi seluler resmi Bitwarden, program desktop, dan ekstensi.

Mengelola layanan sendiri memberikan kontrol lebih besar, tetapi Hal itu tidak secara otomatis menjamin keamanan yang lebih besar.Mulai saat itu, Anda bertanggung jawab untuk menginstal pembaruan, mengamankan akses, meninjau log, memelihara HTTPS, dan memastikan bahwa cadangan dapat dipulihkan.

Artikel terkait:
Pengelola kata sandi terbaik

Yang Anda butuhkan untuk menginstal Vaultwarden dengan Docker

Yang Anda butuhkan untuk menginstal Vaultwarden dengan Docker

Sebelum memulai, Anda memerlukan sistem yang kompatibel dengan Docker yang tetap menyala saat Anda ingin menyinkronkan kata sandi. Ini bisa berupa server Linux, NAS, PC mini, atau Raspberry Pi dengan arsitektur yang didukung oleh image tersebut.

Anda juga akan membutuhkan:

  • Mesin Docker Terpasang dan berfungsi.
  • Tambahan saat ini dari Docker Compose.
  • Sebuah folder tempat data dapat disimpan secara permanen.
  • Akses ke terminal dengan izin untuk mengelola Docker.
  • Metode akses yang aman jika Anda akan menggunakan layanan ini dari perangkat lain.

Tidak ada persyaratan memori atau penyimpanan universal untuk semua instalasi. Konsumsi bergantung pada jumlah pengguna, lampiran, ukuran penyimpanan, dan layanan lain yang berjalan di komputer yang sama. Untuk penggunaan di rumah, biasanya aplikasinya ringan, tetapi Anda harus menyediakan ruang yang cukup untuk data dan cadangannya.

Periksa instalasi menggunakan:

docker --version
docker compose version

Jika kedua perintah tersebut menampilkan versi, Anda dapat melanjutkan.

Cara menginstal Vaultwarden dengan Docker Compose

Cara menginstal Vaultwarden dengan Docker

Buat folder khusus dan masuk ke dalamnya:

mkdir vaultwarden
cd vaultwarden

Di dalam folder tersebut, buatlah sebuah file bernama... compose.yml dengan konfigurasi awal ini:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data:/data
    ports:
      - "127.0.0.1:8080:80"

Majelis ./vw-data:/data Ini penting. Folder tersebut /data Folder ini berisi basis data, lampiran, konfigurasi, dan kunci yang digunakan oleh server. Jika Anda menghapus kontainer tanpa menyimpan folder ini, Anda akan kehilangan informasi yang tersimpan.

Alamat 127.0.0.1 Instalasi awal ini hanya merespons di server itu sendiri. Ini adalah konfigurasi yang cocok untuk menguji Vaultwarden tanpa mengekspos port ke jaringan terlebih dahulu.

Mulai kontainer:

docker compose up -d

Periksa statusnya:

docker compose ps
docker compose logs --tail=100 vaultwarden

Dari perangkat yang sama, Anda dapat membuka:

http://localhost:8080

Akses melalui localhost Ini digunakan untuk menyelesaikan pengaturan awal. Untuk terhubung dari komputer lain, aplikasi seluler, atau ekstensi, Anda perlu mengatur alamat aman menggunakan HTTPS.

Cara membuat akun pertama Anda dan menutup pendaftaran

Buka antarmuka web, buat akun pertama Anda, dan verifikasi bahwa Anda dapat masuk. Gunakan kata sandi utama yang panjang, unik, dan mudah diingat, karena hal itu melindungi akses ke seluruh gudang.

Setelah membuat akun yang diperlukan, edit compose.yml dan perubahannya:

SIGNUPS_ALLOWED: "true"

oleh:

SIGNUPS_ALLOWED: "false"

Terapkan perubahan dengan membuat ulang kontainer:

docker compose up -d

Vaultwarden secara default memungkinkan pengguna anonim untuk membuat akun. Membiarkan pendaftaran tetap terbuka tanpa perlu memudahkan pihak ketiga untuk mengambil ruang atau menggunakan server Anda tanpa izin.

Konten eksklusif - Klik Disini  Di mana kunci pemulihan BitLocker disimpan dan bagaimana cara menemukannya?

Jika Anda kemudian mengaktifkan panel administrasi, Anda akan dapat mengirim undangan meskipun pendaftaran publik dinonaktifkan.

Mengapa Vaultwarden Membutuhkan HTTPS?

Toko web ini menggunakan Web Crypto API dari browser. Fitur kriptografi ini biasanya hanya tersedia di konteks yang aman, seperti HTTPS atau localhost.

Oleh karena itu, pembukaan http://192.168.1.50:8080 Dari komputer lain, kesalahan mungkin ditampilkan meskipun kontainer sedang berjalan. Mempublikasikan port di jaringan tidak menggantikan konfigurasi HTTPS.

Ada tiga cara umum untuk menggunakan Vaultwarden:

  • Hanya untuk server: akses melalui localhost, berguna untuk pengujian.
  • Pada jaringan pribadi atau VPN: Akses dibatasi, tetapi tetap mempertahankan sertifikat HTTPS yang valid.
  • Dari internet: domain, reverse proxy, sertifikat yang valid, dan firewall yang dikonfigurasi dengan benar.

Anda tidak perlu membuka Vaultwarden secara publik untuk menggunakannya di luar rumah. VPN dapat membatasi akses ke perangkat yang Anda izinkan, tetapi alamat yang digunakan oleh klien tetap harus memiliki sertifikat yang mereka kenali.

Cara mengkonfigurasi HTTPS dengan Caddy

Cara mengkonfigurasi HTTPS dengan Caddy

Caddy adalah salah satu pilihan paling sederhana karena dapat secara otomatis meminta dan memperbarui sertifikat melalui ACME. Untuk menggunakan sertifikat publik, domain harus mengarah ke server Anda dan port yang diperlukan harus dapat diakses.

Konfigurasi gabungan Vaultwarden dan Caddy dapat menggunakan file ini. compose.yml:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "false"
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2
    container_name: vaultwarden-caddy
    restart: unless-stopped
    depends_on:
      - vaultwarden
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config

Menggantikan vault.example.com untuk domain Anda yang sebenarnya. Kemudian buat file bernama Caddyfile:

vault.example.com {
    reverse_proxy vaultwarden:80 {
        header_up X-Real-IP {remote_host}
    }
}

Aktifkan layanan:

docker compose up -d

Caddy akan mengirimkan permintaan ke kontainer melalui jaringan internal yang dibuat oleh Compose. Konfigurasi saat ini juga dapat menangani notifikasi WebSocket melalui tujuan yang sama, sehingga tidak perlu mempublikasikan port Vaultwarden lain.

Variabel DOMAIN harus berisi URL eksternal yang tepat, termasuk https://Alamat yang salah dapat menyebabkan masalah pada lampiran, tautan, otentikasi, atau klien.

Cara menghubungkan aplikasi Bitwarden resmi

Pada layar login ekstensi, aplikasi seluler, atau program desktop, buka pemilih server dan pilih opsi tersebut. Dihosting sendiri.

Masukkan alamat lengkap:

https://vault.example.com

Simpan pengaturan sebelum masuk. Setiap klien harus terhubung ke server yang sama agar perubahan dapat disinkronkan dengan benar.

Jika Anda menggunakan sertifikat yang diterbitkan oleh otoritas swasta, Anda perlu menginstal dan mempercayai otoritas tersebut dengan benar di semua perangkat. Untuk menghindari masalah kompatibilitas, lebih baik menggunakan sertifikat publik yang valid atau solusi swasta yang rantai kepercayaannya dapat Anda kendalikan dengan benar.

Setelah klien terhubung, Anda dapat Impor kata sandi Chrome ke Vaultwarden dan pastikan bahwa perubahan tersebut muncul di semua perangkat Anda.

Cara melindungi panel administrasi

Vaultwarden menawarkan panel opsional di /adminDari situ Anda dapat meninjau pengguna, organisasi, diagnostik, dan opsi server tertentu.

Jika Anda tidak memerlukan panel tersebut, hal teraman yang dapat Anda lakukan adalah... biarkan dinonaktifkanUntuk mengaktifkannya, Anda harus melakukan konfigurasi. ADMIN_TOKENAlih-alih menyimpan kata sandi dalam bentuk teks biasa, sistem ini menghasilkan hash Argon2id:

docker run --rm -it vaultwarden/server /vaultwarden hash

Perintah tersebut akan meminta kata sandi dua kali dan mengembalikan string yang diawali dengan $argon2id$.

Cara mudah untuk menghindari masalah dengan tanda dolar adalah dengan menyimpannya dalam sebuah file. .env terletak di sebelah compose.yml:

VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=...'

Kemudian tambahkan ke layanan tersebut:

environment:
  ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"

Jika Anda menulis hash langsung di dalam compose.ymlAnda harus menggandakan setiap tanda dolar karena $$ untuk mencegah Docker Compose mencoba menginterpretasikannya sebagai variabel.

Konten eksklusif - Klik Disini  Apa saja ancaman keamanan siber?

Periksa konfigurasi yang telah diproses menggunakan:

docker compose config

Panel tersebut hanya boleh diakses melalui HTTPS. Jika memungkinkan, batasi jalurnya ke jaringan lokal, VPN, atau alamat IP tertentu.

Harap dicatat bahwa setelah menyimpan opsi dari /adminVaultwarden menciptakan config.jsonNilai-nilainya lebih diutamakan daripada variabel lingkungan yang setara. Prioritas ini menjelaskan banyak kasus di mana pengeditan Compose tampaknya tidak menghasilkan perubahan.

Langkah-langkah penting untuk melindungi Vaultwarden

Keamanan tidak berakhir hanya dengan mengaktifkan HTTPS. Setidaknya, terapkan langkah-langkah berikut:

  • Nonaktifkan registri terbuka menggunakan SIGNUPS_ALLOWED=false.
  • Gunakan kata sandi utama yang unik dan kuat.
  • Aktif otentikasi dua langkah untuk semua hal.
  • Simpan kode pemulihan otentikasi di lokasi aman lainnya.
  • Perbarui citra dan sistem host secara berkala.
  • Jangan memasang folder yang tidak perlu atau soket Docker di dalam kontainer.
  • Batasi port yang benar-benar diperlukan menggunakan firewall.
  • Jangan mengekspos basis data atau folder tersebut secara publik. vw-data.

Fail2ban dapat memblokir alamat yang mengakumulasi upaya login yang gagal, tetapi harus dikonfigurasi dengan hati-hati jika terdapat reverse proxy. Caddy atau Nginx harus mengirimkan alamat IP asli; jika tidak, Fail2ban dapat memblokir alamat proxy itu sendiri.

Anda juga dapat menonaktifkan tampilan petunjuk kata sandi. Petunjuk ini dapat mempermudah serangan tebak kata sandi ketika server dapat diakses secara publik.

Untuk mempelajari lebih lanjut tentang praktik-praktik ini, Anda dapat berkonsultasi dengan cara berikut: gunakan pengelola kata sandi dengan aman.

Cara mengatur notifikasi email

Konfigurasi SMTP memungkinkan Anda untuk mengirim undangan, verifikasi, dan pemberitahuan. Anda perlu menentukan server, pengirim, port, metode keamanan, dan kredensial yang diberikan oleh layanan email Anda.

Jangan samakan email SMTP dengan cadangan brankas. Anda juga tidak boleh mengandalkan email SMTP sebagai satu-satunya cara untuk memulihkan akun. Jika Anda lupa kata sandi utama dan tidak memiliki metode pemulihan lain yang telah disiapkan, Anda dapat kehilangan akses ke data terenkripsi Anda.

Setelah menyimpan pengaturan, kirim pesan uji dan periksa log jika pesan tidak sampai. Periksa juga folder spam dan pembatasan penyedia SMTP Anda.

Cara membuat cadangan lengkap Vaultwarden

Basis data SQLite menyimpan pengguna, item, perangkat, dan organisasi, tetapi Ini tidak berisi semua file.Lampiran dan beberapa kiriman tertentu disimpan dalam direktori terpisah.

Salinan lengkap harus mencakup:

  • db.sqlite3 atau salinan basis data yang konsisten.
  • Folder attachments.
  • Folder sends, jika Anda ingin menyimpan file-file tersebut.
  • Berkas config.json, jika Anda menggunakan panel tersebut.
  • Berkas-berkas tersebut rsa_key*.
  • File Compose, Caddy, dan variabel-variabelnya.

Untuk pencadangan yang sederhana dan konsisten, Anda dapat menghentikan sementara Vaultwarden dan mengarsipkan folder tersebut:

docker compose stop vaultwarden
tar -czf vaultwarden-backup-$(date +%F).tar.gz vw-data compose.yml Caddyfile .env
docker compose start vaultwarden

File tersebut mungkin berisi token administrasi dan kredensial SMTP. Enkripsikan terlebih dahulu sebelum menyalinnya ke komputer lain atau penyimpanan jarak jauh.

Jika Anda tidak ingin menghentikan layanan, Vaultwarden menyertakan perintah yang menggunakan mekanisme penyalinan SQLite:

docker exec vaultwarden /vaultwarden backup

Perintah ini melindungi basis data, tetapi Anda tetap harus mencadangkan lampiran, file konfigurasi, dan kunci. Otomatiskan pencadangan, simpan setidaknya satu cadangan di luar server, dan uji pemulihan secara berkala.

Konten eksklusif - Klik Disini  Discord memblokir akun Anda karena aktivitas mencurigakan: alasan sebenarnya dan cara melindungi diri Anda

Cara memperbarui Vaultwarden dengan Docker

Buat salinan terverifikasi sebelum memperbarui. Kemudian jalankan:

docker compose pull
docker compose up -d

Periksa status dan pesan terbaru:

docker compose ps
docker compose logs --tail=100 vaultwarden

Docker akan mengunduh image dan membuat ulang container, dengan tetap mempertahankan vw-dataJangan menggunakan perintah pembersihan global tanpa terlebih dahulu memeriksa kontainer, image, dan jaringan mana yang akan dihapus.

Pada instalasi yang mengutamakan stabilitas, Anda dapat menggunakan versi image tertentu sebagai pengganti versi default. latestDengan cara ini, Anda dapat meninjau catatan rilis dan memutuskan kapan harus menerapkan setiap pembaruan.

Kesalahan umum saat menginstal Vaultwarden dengan Docker

Kesalahan umum saat menginstal Vaultwarden dengan Docker

Antarmuka tersebut berfungsi di localhost, tetapi tidak berfungsi dari komputer lain.

Pelabuhan ini terbatas pada 127.0.0.1 Atau browser menolak fungsi kriptografi saat mengakses melalui HTTP. Konfigurasikan alamat HTTPS sebelum menggunakan layanan dari perangkat lain.

Klien resmi tidak dapat terhubung ke server.

Pilih lingkungan Dihosting sendiri dan masukkan alamat lengkapnya dengan https://Periksa sertifikat, DNS, proxy, dan variabel. DOMAIN.

Kontainer berhasil dijalankan, tetapi data hilang saat kontainer dibuat ulang.

Kontrol volume tidak terpasang dengan benar. Mohon periksa hal tersebut. ./vw-data:/data muncul di pengaturan dan menunjukkan bahwa Anda menjalankan Compose dari folder yang diharapkan.

Saya tidak bisa membuat akun lain.

Si SIGNUPS_ALLOWED berada di dalam falsePerilaku tersebut sudah benar. Kirim undangan dari panel atau aktifkan pendaftaran sementara hanya saat Anda membuat akun.

Hash ADMIN_TOKEN tidak berfungsi

Periksa interpolasi tanda-tandanya $Gunakan berkas .env dengan tanda kutip tunggal atau gandakan simbol jika Anda memasukkan string langsung ke Compose.

Variabel lingkungan tampaknya diabaikan.

Periksa apakah itu ada vw-data/config.jsonOpsi yang disimpan dari panel dapat menimpa variabel yang didefinisikan di compose.yml.

Sertifikat tersebut berfungsi di browser, tetapi tidak di perangkat seluler.

Perangkat mungkin tidak mempercayai seluruh rantai sertifikat. Gunakan otoritas yang diakui atau instal otoritas pribadi Anda dan sertifikatnya dengan benar.

Lampiran gagal

Periksa itu DOMAIN Cocokkan alamat eksternal dan pastikan proxy mengizinkan ukuran permintaan yang diperlukan. Periksa juga ruang dan izin yang tersedia. vw-data.

Vaultwarden tidak dapat menulis di dalam vw-data

Folder host memiliki izin yang tidak kompatibel. Periksa pemilik dan izin berdasarkan kesalahan yang ditampilkan di log. Jangan gunakan chmod 777 sebagai solusi permanen.

Fail2ban memblokir alamat yang salah

Proxy tersebut tidak mengirimkan alamat IP asli, atau Fail2ban membaca kolom yang salah. Konfigurasikan dengan benar. X-Real-IP atau header yang sesuai dengan proxy Anda.

Salinan yang dipulihkan tidak berisi lampiran.

Hanya SQLite yang dicadangkan. Mohon pulihkan juga folder-foldernya. attachments y sends, selain konfigurasi dan kunci RSA.

Vaultwarden memungkinkan Anda menggunakan organisasi dan koleksi untuk bagikan kata sandi keluarga menggunakan klien yang kompatibel. Sebelum menambahkan lebih banyak pengguna, pastikan HTTPS, otentikasi dua langkah, dan pencadangan berfungsi dengan benar.

Hasilnya bisa berupa pengelola kata sandi yang cepat, pribadi, dan mudah beradaptasi, tetapi keamanannya bergantung pada pemeliharaan. Kontrol atas server hanya menguntungkan jika disertai dengan pembaruan, akses terbatas, dan strategi pemulihan yang terbukti.

Cara berbagi kata sandi dengan keluarga Anda dengan aman tanpa mengirim file
Artikel terkait:
Cara berbagi kata sandi dengan keluarga Anda dengan aman tanpa mengirim file