Lewati ke konten utama

Self-Host Bitwarden dengan Docker: Panduan Penyiapan Lengkap

Panduan praktis untuk menjalankan vault kata sandi Bitwarden Anda sendiri dengan Docker, dari penyiapan server awal hingga konfigurasi, pembaruan, dan pemecahan masalah umum.
· 15 mnt Baca

Jelajahi bersama AI

Dalam artikel ini, saya akan memandu Anda memasang Bitwarden dengan Docker pada server Ubuntu baru, mengonfigurasi HTTPS dengan Let's Encrypt, dan menangani masalah penyiapan umum.

Jika Anda baru mulai dengan Docker, sebaiknya ikuti kursus kami Introduction to Docker atau Intermediate Docker — pelajari dasar-dasarnya sebelum mengelola penyiapan multi-kontainer.

Apa Itu Deployment Docker Bitwarden?

Bitwarden memiliki instalasi berbasis Docker resmi yang memungkinkan Anda menjalankan pengelola kata sandi sesuai kebutuhan Anda.

Yang perlu Anda lakukan hanyalah menjalankan satu skrip instalasi. Tidak perlu memasang basis data, server web, atau menulis kode secara manual. Docker menarik kontainer yang telah dikonfigurasi, menyiapkan jaringan di antaranya, dan menjalankan semuanya. Pembaruan pun sama — cukup jalankan skrip pembaruan dan Docker mengurus sisanya.

Penyiapan Docker Bitwarden berjalan sebagai beberapa kontainer yang saling bekerja. Anda mendapatkan kontainer web vault untuk antarmuka pengguna, kontainer API untuk menangani permintaan, kontainer basis data untuk menyimpan data vault terenkripsi, serta layanan pendukung untuk lampiran dan ikon. Docker Compose mengorkestrasi kontainer-kontainer ini agar dapat saling berkomunikasi.

Semuanya sudah dikonfigurasi sebelumnya untuk Anda.

Pendekatan multi-kontainer ini berarti setiap komponen berjalan terisolasi. Jika Anda perlu memodifikasi basis data, Anda dapat memulai ulang hanya kontainer itu tanpa menyentuh antarmuka web. Jika ingin memeriksa log, setiap layanan memiliki aliran log sendiri.

Deployment resmi menggunakan Docker Compose untuk mengelola semuanya melalui satu berkas konfigurasi, yang membuat keseluruhan sistem lebih mudah dipahami dan dipelihara daripada instalasi server tradisional.

Persyaratan Sebelum Menjalankan Bitwarden dengan Docker

Anda memerlukan beberapa hal sebelum dapat menjalankan Bitwarden, namun tidak ada yang membutuhkan perangkat keras kelas enterprise atau penyiapan kompleks.

Server atau VM Linux adalah titik awal Anda. Ubuntu Server sudah lebih dari cukup. Anda dapat menggunakan instance cloud dari AWS, DigitalOcean, atau Linode. Instance dasar dengan RAM 2GB dan penyimpanan 20GB cukup untuk menjalankan Bitwarden untuk penggunaan pribadi atau tim kecil.

Docker dan Docker Compose menangani instalasi sebenarnya. Anda akan memasang Docker Engine (bukan Docker Desktop) dan Docker Compose sebagai paket terpisah. Sebagian besar distribusi Linux menyertakan keduanya dalam manajer paketnya.

Nama domain diperlukan karena Bitwarden membutuhkan HTTPS untuk bekerja. Anda tidak dapat menjalankannya pada alamat IP. Anda harus mengarahkan domain ke alamat IP server Anda sebelum memulai instalasi.

Port 80 dan 443 harus terbuka di server Anda. Port 80 menangani trafik HTTP dan validasi sertifikat, sementara port 443 melayani trafik HTTPS sebenarnya. Konfigurasikan firewall dan security group penyedia cloud Anda untuk mengizinkan koneksi masuk pada kedua port.

Anda juga memerlukan keterampilan dasar baris perintah. Anda akan melakukan SSH ke server, menjalankan skrip instalasi, dan mengedit berkas konfigurasi. Jika Anda tahu cara menavigasi direktori dan menjalankan perintah dengan sudo, Anda siap.

Itu saja! Ada hal-hal yang perlu diketahui, tentu, tetapi hampir semua orang yang cukup melek teknologi bisa melakukannya. Selanjutnya akan saya tunjukkan caranya.

Cara Menginstal Bitwarden Menggunakan Docker (Metode Resmi)

Panduan ini menggunakan DigitalOcean Ubuntu droplet dan Cloudflare untuk manajemen domain dan DNS. Anda bebas menggunakan penyedia dan layanan lain — namun jika ingin mengikuti tanpa repot, saya sarankan memilih yang sama.

Menyiapkan lingkungan Anda

Pertama, buat droplet DigitalOcean dengan Ubuntu 24.04 LTS. Droplet Basic $12/bulan (RAM 2GB, 1 CPU, SSD 50GB) sudah cukup untuk Bitwarden bagi penggunaan pribadi atau tim kecil. Pilih wilayah pusat data yang dekat dengan Anda untuk waktu respons yang lebih baik. Jangan lupa tambahkan kunci SSH yang ada atau buat yang baru.

Setelah droplet menyala, catat alamat IP publiknya dari dasbor DigitalOcean.

Detail droplet DigitalOcean

Detail droplet DigitalOcean

Selanjutnya, konfigurasikan DNS di Cloudflare. Masuk ke akun Cloudflare Anda dan tambahkan catatan A yang mengarahkan domain Anda ke IP droplet:

  • Type: A

  • Name: vault (atau subdomain pilihan Anda)

  • IPv4 address: IP droplet Anda

  • Proxy status: Off (awan abu-abu)

Matikan proxy Cloudflare untuk penyiapan awal. Let's Encrypt membutuhkan akses langsung ke server Anda untuk memverifikasi kepemilikan domain. Anda dapat mengaktifkan proxy setelah Bitwarden berjalan dan sertifikat dibuat.

Saya menggunakan salah satu domain aktif saya untuk keperluan artikel ini:

Penyiapan DNS Cloudflare

Penyiapan DNS Cloudflare

Propagasi DNS memakan waktu beberapa menit. Jalankan perintah shell ini untuk memverifikasi perubahan terlihat:

nslookup vault.yourdomain.com

Anda harus melihat alamat IP droplet Anda dalam respons.

Hasil Nslookup

Hasil Nslookup

Sekarang Anda dapat terhubung ke droplet melalui SSH:

ssh root@your-droplet-ip

Dan Anda masuk:

Menghubungkan ke instance Ubuntu

Menghubungkan ke instance Ubuntu

Baik, hal pertama yang harus dilakukan adalah memperbarui paket sistem. Jalankan perintah berikut:

apt update && apt upgrade -y

Sekarang Anda siap menginstal Docker dan Bitwarden.

Seperti disebutkan sebelumnya, Anda memerlukan Docker dan Docker Compose. Jalankan perintah ini untuk memasangnya:

sudo apt install docker.io docker-compose-v2 -y
sudo systemctl enable docker
sudo systemctl start docker

Sekarang verifikasi instalasinya:

docker --version
docker compose version

Anda harus melihat nomor versi untuk kedua perintah.

Versi Docker dan Docker Compose

Versi Docker dan Docker Compose

Selanjutnya, saya akan menunjukkan cara memasang Bitwarden.

Mengunduh dan Menyiapkan Installer Bitwarden

Installer resmi Bitwarden disimpan di repositori GitHub mereka. Anda dapat mengunduhnya langsung ke server Anda:

curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod +x bitwarden.sh

Perintah ini mengunduh skrip instalasi dan membuatnya dapat dieksekusi. Skrip ini menangani semuanya mulai dari mengunduh image Docker, membuat berkas konfigurasi, hingga menyiapkan struktur direktori.

Langkah berikutnya adalah membuat direktori tempat Bitwarden menyimpan datanya:

sudo mkdir /opt/bitwarden

Sekarang Anda dapat memindahkan skrip instalasi ke sana:

sudo mv bitwarden.sh /opt/bitwarden/
cd /opt/bitwarden

Dan terakhir, jalankan installer:

sudo ./bitwarden.sh install

Skrip akan membuat direktori bwdata yang berisi semua berkas konfigurasi, sertifikat, log, dan berkas basis data Bitwarden. Di sinilah semuanya berada, jadi lakukan pencadangan direktori ini secara berkala.

Menjalankan Instalasi

Installer akan menanyakan beberapa hal. Jawablah dengan cermat karena jika salah Anda harus memulai dari awal.

Masukkan nama domain Anda persis seperti yang muncul di catatan DNS Anda. Jika Anda menyiapkan vault.yourdomain.com di Cloudflare, masukkan string itu persis. Jangan sertakan https:// atau garis miring di akhir.

Pilih Let's Encrypt untuk sertifikat SSL. Installer akan menangani pembuatan dan pembaruan sertifikat secara otomatis. Jika Anda menggunakan proxy Cloudflare (awan oranye), Anda mungkin perlu menonaktifkannya sementara selama penyiapan awal agar Let's Encrypt dapat memverifikasi domain Anda.

Masukkan alamat email Anda. Di sinilah Anda akan menerima pengingat kedaluwarsa sertifikat.

Instalasi Bitwarden (1)

Instalasi Bitwarden (1)

Bitwarden kemudian akan menarik image Docker yang diperlukan. Ini akan memakan waktu sekitar satu menit, lalu Anda akan menjawab serangkaian pertanyaan lagi.

Pilih nama untuk basis data. Tidak perlu kreatif, vault sudah sangat baik.

Instalasi Bitwarden (2)

Instalasi Bitwarden (2)

Kemudian instalasi akan melanjutkan mengunduh image Docker tambahan.

Dapatkan installation ID dan key. Buka halaman Bitwarden Host dan masukkan email admin dan wilayah Anda. Anda akan mendapatkan kedua nilai tersebut — salin/tempel saat diminta selama instalasi.

Installation ID dan key Bitwarden

Installation ID dan key Bitwarden

Selesai — instalasi selesai:

Instalasi Bitwarden (3)

Instalasi Bitwarden (3)

Skrip menghasilkan berkas konfigurasi di ./bwdata/config.yml dan ./bwdata/env/global.override.env. Anda dapat mengedit berkas-berkas ini langsung jika perlu mengubah pengaturan nanti.

Hal terakhir yang perlu dilakukan sekarang adalah memulai Bitwarden:

sudo ./bitwarden.sh start

Docker menarik semua image yang diperlukan dan memulai kontainer. Ini memakan waktu beberapa menit pada menjalankan pertama kali. Skrip menampilkan progres saat setiap kontainer dimulai.

Instalasi Bitwarden (4)

Instalasi Bitwarden (4)

Setelah beberapa menit, Anda seharusnya melihat pesan Bitwarden is up and running! tercetak di terminal. Ini berarti instalasi berhasil, dan Anda siap melanjutkan ke bagian berikutnya.

Instalasi Bitwarden (5)

Instalasi Bitwarden (5)

Memverifikasi Instalasi

Buka domain Anda di peramban. Anda akan melihat halaman masuk Bitwarden dengan sertifikat HTTPS yang valid.

Halaman masuk Bitwarden

Jika Anda melihat peringatan sertifikat, kemungkinan Let's Encrypt tidak dapat memverifikasi domain Anda. Periksa bahwa:

  • Catatan DNS Anda mengarah ke alamat IP yang benar
  • Port 80 dan 443 terbuka di firewall Anda
  • Jika Anda menggunakan proxy Cloudflare, coba nonaktifkan sementara

Klik "Create Account" untuk membuat pengguna pertama Anda. Akun ini menjadi pemilik vault Anda, jadi gunakan kata sandi utama yang kuat dan tidak Anda lupakan. Bitwarden tidak dapat memulihkan kata sandi ini — jika Anda kehilangannya, data vault Anda hilang.

Pembuatan pengguna Bitwarden

Pembuatan pengguna Bitwarden

Setelah membuat akun, masuk untuk memverifikasi semuanya berfungsi. Anda dapat membuat item login uji dan memastikan tersimpan dengan benar.

Menambahkan item login ke Bitwarden

Menambahkan item login ke Bitwarden

Ini bekerja sebagaimana mestinya, jadi berikutnya, saya akan kembali ke terminal untuk memverifikasi semuanya berjalan baik di sana juga.

Jalankan perintah ini untuk memeriksa semua kontainer berjalan:

sudo docker ps

Anda harus melihat beberapa kontainer dengan nama seperti bitwarden-web, bitwarden-api, bitwarden-db, dan lainnya.

Kontainer berjalan

Kontainer berjalan

Jika ada kontainer berstatus "Restarting" atau tidak terdaftar, periksa log dengan perintah ini:

sudo docker logs bitwarden-api
sudo docker logs bitwarden-web

Jika Anda mengalami masalah saat startup, biasanya disebabkan konflik port atau masalah izin.

Konflik port terjadi jika ada layanan lain yang menggunakan port 80 atau 443. Hentikan layanan yang berbenturan atau ubah port Bitwarden di ./bwdata/config.yml.

Kegagalan inisialisasi basis data biasanya berarti ada masalah izin. Periksa bahwa pengguna Docker dapat menulis ke direktori bwdata:

sudo chown -R root:root /opt/bitwarden/bwdata
sudo chmod -R 755 /opt/bitwarden/bwdata

Kegagalan pembuatan sertifikat berarti Let's Encrypt tidak dapat menjangkau server Anda. Verifikasi bahwa domain Anda mengarah ke IP yang benar dan firewall Anda mengizinkan trafik masuk pada port 80 dan 443.

Jika kontainer terus-menerus restart, periksa ruang disk dan memori yang tersedia. Bitwarden memerlukan setidaknya RAM 2GB untuk menjalankan semua layanannya.

Mengonfigurasi HTTPS dan Sertifikat

Bitwarden mewajibkan HTTPS untuk semua koneksi. Tidak ada cara menjalankannya melalui HTTP biasa.

Ekstensi peramban dan aplikasi seluler Bitwarden menolak terhubung ke endpoint HTTP. Protokol itu sendiri mengharuskan koneksi terenkripsi untuk melindungi data vault Anda saat transit.

Skrip instalasi menyiapkan sertifikat Let's Encrypt. Let's Encrypt adalah otoritas sertifikat gratis yang menerbitkan sertifikat SSL/TLS dan menangani pembaruan. Saat Anda memasukkan domain selama instalasi, skrip mengonfigurasi pembuatan sertifikat otomatis melalui protokol ACME milik Let's Encrypt.

Sertifikat kedaluwarsa setelah 90 hari, tetapi penyiapan Docker Bitwarden menyertakan pembaruan otomatis. Cron job memeriksa sertifikat yang akan kedaluwarsa dan memperbaruinya sebelum lewat masa berlakunya. Anda tidak perlu melakukan apa pun secara manual.

Sertifikat kustom masuk akal dalam beberapa situasi. Jika Anda menjalankan Bitwarden di belakang reverse proxy yang sudah menangani terminasi SSL, Anda dapat menonaktifkan Let's Encrypt dan membiarkan proxy mengelola sertifikat. Jika organisasi Anda memiliki otoritas sertifikat internal, Anda dapat mengonfigurasi Bitwarden untuk menggunakan sertifikat tersebut.

Untuk menggunakan sertifikat kustom, edit ./bwdata/config.yml dan tetapkan ssl_certificate_path serta ssl_key_path ke berkas sertifikat Anda.

Menggunakan sertifikat kustom docker bitwarden

Menggunakan sertifikat kustom

Lalu mulai ulang Bitwarden:

sudo ./bitwarden.sh restart

Saat pembaruan sertifikat gagal, periksa log terlebih dahulu:

sudo docker logs bitwarden-nginx

Kegagalan pembaruan umum terjadi ketika:

  • DNS domain Anda berubah dan tidak lagi mengarah ke server
  • Proxy Cloudflare diaktifkan (awan oranye), memblokir verifikasi Let's Encrypt
  • Port 80 diblokir, mencegah tantangan ACME selesai
  • Berkas sertifikat memiliki izin yang salah

Perbaiki masalah yang mendasarinya, lalu picu pembaruan secara manual:

sudo docker exec bitwarden-nginx certbot renew

Jika berhasil, cron job pembaruan otomatis seharusnya berfungsi pada percobaan berikutnya.

Konfigurasi Email (SMTP)

Bitwarden membutuhkan email untuk mengirim undangan pengguna, tautan setel ulang kata sandi, dan kode autentikasi dua faktor.

Tanpa SMTP yang dikonfigurasi, pengguna tidak dapat mengatur ulang kata sandi. Anda tidak bisa mengundang anggota tim ke organisasi Anda. Permintaan akses darurat tidak akan berfungsi. Sistemnya berjalan, tetapi Anda kehilangan fitur penting pemulihan akun dan manajemen pengguna.

Pengaturan SMTP ada di ./bwdata/env/global.override.env.

Berkas pengaturan SMTP docker bitwarden

Berkas pengaturan SMTP

Buka berkas ini dan tambahkan konfigurasi penyedia email Anda:

globalSettings__mail__replyToEmail=[email protected]
globalSettings__mail__smtp__host=smtp.gmail.com
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__ssl=false
globalSettings__mail__smtp__username=[email protected]
globalSettings__mail__smtp__password=your-app-password

Formatnya menggunakan garis bawah ganda untuk merepresentasikan konfigurasi bertingkat. Setiap __ memisahkan level dalam hierarki pengaturan.

Setelah mengedit berkas, jangan lupa mulai ulang Bitwarden:

sudo ./bitwarden.sh restart

Uji pengiriman email dengan meminta setel ulang kata sandi atau mengirim email uji melalui panel admin.

Berikut beberapa kesalahan SMTP umum yang perlu Anda hindari:

  • Menggunakan kata sandi email biasa alih-alih kata sandi khusus aplikasi. Sebagian besar penyedia mengharuskan Anda membuat kata sandi khusus untuk akses SMTP. Gmail menyebutnya "App Passwords," dan Anda membuatnya di pengaturan keamanan akun Google.

  • Nomor port yang salah. Port 587 menangani koneksi STARTTLS, port 465 untuk SSL/TLS, dan port 25 biasanya diblokir oleh penyedia cloud. Jika satu port tidak berfungsi, coba port lain.

  • Kebingungan SSL/TLS. Atur ssl=false untuk STARTTLS di port 587, atau ssl=true untuk SSL langsung di port 465. Mencampur pengaturan ini menyebabkan kegagalan koneksi.

  • Firewall memblokir SMTP keluar. Beberapa penyedia cloud memblokir port 25 keluar secara default. Gunakan port 587 atau 465 sebagai gantinya yang jarang diblokir.

Jika email tidak terkirim, periksa log kontainer API:

sudo docker logs bitwarden-api

Cari kesalahan koneksi SMTP atau kegagalan autentikasi. Log menunjukkan dengan jelas apa yang salah dengan pengiriman email.

Memperbarui dan Mencadangkan Bitwarden

Dengan instalasi self-host, ada pekerjaan pencadangan dan pembaruan manual. Untungnya, ini mudah dilakukan.

Memperbarui Bitwarden

Sebelum memperbarui, hentikan Bitwarden dan cadangkan data Anda. Pembaruan bisa gagal atau menimbulkan masalah, dan Anda perlu cara untuk kembali jika terjadi sesuatu.

cd /opt/bitwarden
sudo ./bitwarden.sh stop

Cadangkan seluruh direktori bwdata:

sudo tar -czf bitwarden-backup-$(date +%Y%m%d).tar.gz bwdata/

Pindahkan cadangan ini ke tempat yang aman, seperti drive eksternal atau server lain.

Sekarang perbarui Bitwarden dengan perintah ini:

sudo ./bitwarden.sh update

Skrip pembaruan menarik image Docker terbaru, memperbarui berkas konfigurasi jika diperlukan, dan memulai ulang semua kontainer. Biasanya memakan waktu beberapa menit.

Memperbarui Bitwarden

Memperbarui Bitwarden

Setelah pembaruan selesai, verifikasi semuanya bekerja dengan masuk ke web vault Anda dan memeriksa bahwa data Anda utuh.

Jika pembaruan merusak sesuatu, cukup pulihkan cadangan Anda:

sudo ./bitwarden.sh stop
sudo rm -rf bwdata/
sudo tar -xzf bitwarden-backup-YYYYMMDD.tar.gz
sudo ./bitwarden.sh start

Pencadangan

Direktori bwdata berisi semua yang dibutuhkan Bitwarden untuk berjalan. Anda harus mencadangkannya secara rutin.

Direktori ini mencakup:

  • Basis data vault Anda dengan semua kata sandi terenkripsi
  • Sertifikat SSL
  • Berkas konfigurasi
  • Log dan lampiran
  • Definisi Docker Compose

Hentikan Bitwarden sebelum mencadangkan untuk memastikan konsistensi data:

sudo ./bitwarden.sh stop
sudo tar -czf bitwarden-backup-$(date +%Y%m%d).tar.gz bwdata/
sudo ./bitwarden.sh start

Simpan cadangan di beberapa lokasi. Simpan satu di server, satu di mesin lain, dan satu di penyimpanan cloud jika memungkinkan.

Untuk memulihkan dari cadangan, hentikan Bitwarden, hapus direktori bwdata saat ini, ekstrak cadangan Anda, lalu mulai ulang. Prosesnya sama seperti kembali dari pembaruan yang gagal.

Anda bahkan dapat mengotomatiskan pencadangan dengan cron job yang berjalan harian atau mingguan, tergantung seberapa sering data vault Anda berubah.

Masalah Umum Saat Menjalankan Bitwarden di Docker

Bahkan dengan instalasi bersih, Anda bisa mengalami masalah. Berikut cara mendiagnosis yang paling umum.

Konflik port terjadi ketika layanan lain sudah menggunakan port 80 atau 443. Periksa apa yang menggunakan port ini:

sudo netstat -tlnp | grep ':80\\|:443'

Jika Anda melihat Apache, Nginx, atau server web lain berjalan, Anda harus menghentikan layanan itu atau mengubah port Bitwarden. Untuk mengubah port, edit ./bwdata/config.yml dan tetapkan http_port dan https_port ke nilai berbeda seperti 8080 dan 8443. Lalu mulai ulang:

sudo ./bitwarden.sh restart

Kegagalan sertifikat muncul sebagai peringatan peramban atau Bitwarden menolak untuk mulai. Periksa log kontainer nginx dengan perintah ini:

sudo docker logs bitwarden-nginx

Cari kegagalan tantangan ACME atau kesalahan validasi sertifikat. Berikut penyebab paling umum:

  • DNS belum mengarah ke server Anda
  • Proxy Cloudflare memblokir verifikasi Let's Encrypt
  • Port 80 diblokir oleh firewall Anda
  • Domain di konfigurasi tidak cocok dengan catatan DNS Anda

Perbaiki masalah DNS atau firewall, lalu minta sertifikat secara manual:

sudo docker exec bitwarden-nginx certbot renew --force-renewal

Kontainer tidak mulai biasanya berarti masalah basis data atau berkas yang hilang. Periksa kontainer mana yang berjalan dengan menjalankan ini:

sudo docker ps -a

Kontainer dengan status "Exited" atau "Restarting" bermasalah. Periksa lognya:

sudo docker logs bitwarden-db
sudo docker logs bitwarden-api

Kesalahan inisialisasi basis data berarti direktori bwdata memiliki masalah izin. Perbaiki izin:

sudo chown -R root:root /opt/bitwarden/bwdata
sudo chmod -R 755 /opt/bitwarden/bwdata

Jika kontainer masih tidak mau mulai, periksa ruang disk:

df -h

Ingat bahwa Bitwarden memerlukan beberapa GB ruang kosong agar berjalan dengan baik.

SMTP tidak berfungsi mencegah setel ulang kata sandi dan undangan pengguna. Uji pengaturan SMTP Anda terlebih dahulu dengan memeriksa log API saat Anda mencoba mengirim email:

sudo docker logs -f bitwarden-api

Picu percobaan setel ulang kata sandi dan perhatikan kesalahan SMTP di log. Berikut masalah paling umum:

  • Nama pengguna atau kata sandi salah (gunakan kata sandi khusus aplikasi, bukan kata sandi biasa)
  • Port atau pengaturan SSL yang salah
  • Firewall memblokir koneksi SMTP keluar
  • Penyedia email membutuhkan langkah autentikasi tambahan

Anda dapat memverifikasi pengaturan SMTP di ./bwdata/env/global.override.env sesuai dengan dokumentasi penyedia Anda. Typo kecil pada hostname atau port dapat merusak pengiriman email.

Setelah memperbaiki pengaturan SMTP, mulai ulang Bitwarden dan uji lagi.

Bitwarden vs Vaultwarden (Pilihan Pengguna Docker)

Vaultwarden adalah implementasi server Bitwarden tidak resmi yang dikelola komunitas dan ditulis dengan Rust.

Ini tidak berafiliasi dengan Bitwarden Inc., namun kompatibel dengan semua klien Bitwarden resmi. Anda menggunakan ekstensi peramban, aplikasi seluler, dan aplikasi desktop yang sama. Perbedaannya sepenuhnya di sisi server.

Mengapa pengguna memilih Vaultwarden

  • Penggunaan sumber daya lebih rendah. Vaultwarden berjalan pada satu kontainer ringan yang membutuhkan kurang dari 100MB RAM. Bitwarden resmi menggunakan beberapa kontainer dan membutuhkan setidaknya 2GB. Jika Anda menjalankan pada VPS kecil atau Raspberry Pi, Vaultwarden lebih masuk akal.
  • Penyiapan lebih sederhana. Satu kontainer berarti lebih sedikit komponen. Tidak ada kontainer basis data terpisah, tidak ada kontainer web terpisah. Anda menarik satu image, mengonfigurasi satu kontainer, dan selesai.
  • Beberapa fitur premium berfungsi tanpa lisensi berbayar. Vaultwarden mengaktifkan fitur seperti lampiran berkas dan akses darurat yang memerlukan langganan premium pada Bitwarden resmi.

Kompromi dengan Vaultwarden

  • Ini adalah proyek komunitas. Pembaruan datang dari relawan, bukan perusahaan dengan staf dukungan khusus.
  • Tidak ada dukungan resmi. Bitwarden Inc. tidak akan membantu Anda dengan masalah Vaultwarden. Anda mengandalkan forum komunitas dan isu di GitHub.
  • Potensi masalah kompatibilitas. Saat Bitwarden merilis fitur baru, Vaultwarden perlu mengejar. Biasanya ada jeda sebelum fungsionalitas baru bekerja.

Mana yang harus Anda gunakan?

Gunakan Bitwarden resmi jika Anda menginginkan dukungan enterprise, kompatibilitas terjamin dengan semua fitur, dan dukungan dari perusahaan yang membangun klien. Persyaratan sumber daya kurang penting jika Anda menggunakan VPS dengan ukuran yang tepat.

Pilih Vaultwarden jika Anda menjalankan pada perangkat keras terbatas, menginginkan penyiapan lebih sederhana, atau membutuhkan fitur premium tanpa membayar. Pahami bahwa Anda menukar dukungan resmi dengan efisiensi sumber daya.

Keduanya bekerja baik untuk self-hosting, dan keduanya melindungi kata sandi Anda dengan enkripsi yang sama seperti yang diharapkan klien.

Praktik Keamanan Dasar Terbaik

Sudah jelas, Bitwarden menyimpan kata sandi Anda, jadi Anda menginginkan perlindungan lebih dari sekadar enkripsi. Berikut beberapa praktik terbaik yang harus diikuti.

Jaga server Anda tetap diperbarui. Patch keamanan penting, jadi jalankan pembaruan secara rutin. Berikut perintahnya:

sudo apt update && sudo apt upgrade -y

Anda dapat menyiapkan pembaruan keamanan otomatis agar patch penting terpasang tanpa intervensi manual. Di Ubuntu, pasang unattended-upgrades:

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

Batasi akses ke panel admin. Antarmuka admin Bitwarden berada di /admin dan menggunakan token admin terpisah untuk autentikasi. Hasilkan token yang kuat saat instalasi dan simpan di tempat aman. Jangan mengekspos panel admin ke internet publik jika bisa dihindari.

Jika Anda membutuhkan akses admin jarak jauh, gunakan tunneling SSH atau VPN alih-alih membiarkan /admin dapat diakses publik.

Gunakan HTTPS di mana pun. Jangan pernah menonaktifkan HTTPS atau mengabaikan peringatan sertifikat. Jika sertifikat Anda bermasalah, perbaiki alih-alih mencari jalan pintas. Klien Bitwarden menolak terhubung melalui HTTP dengan alasan yang baik.

Pantau rilis Bitwarden. Berlangganan rilis GitHub Bitwarden atau cek blog mereka untuk pembaruan keamanan. Saat versi baru rilis, baca catatan rilis sebelum memperbarui untuk memahami apa yang berubah.

Aktifkan autentikasi dua faktor pada akun vault Anda. Bahkan jika seseorang mencuri kata sandi utama Anda, 2FA memblokir akses tidak sah. Gunakan aplikasi authenticator atau kunci perangkat keras.

Gunakan firewall. Sebagai referensi, berikut cara mengonfigurasi UFW untuk hanya mengizinkan port yang diperlukan:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Blokir yang lain secara default.

Periksa log sesekali untuk aktivitas tidak biasa. Cari percobaan masuk gagal atau panggilan API yang tidak terduga:

sudo docker logs bitwarden-api | grep -i "failed\\|error"

Seperti yang Anda lihat, self-hosted Bitwarden berarti Anda harus bekerja sesekali. Itulah harga dari kendali penuh.

Kesimpulan

Docker membuat self-hosting Bitwarden menjadi mudah dan Anda tidak membutuhkan infrastruktur tingkat enterprise.

Skrip instalasi resmi melakukan semuanya untuk Anda. Anda mendapatkan pembaruan otomatis, manajemen sertifikat, dan vault yang berfungsi dalam waktu kurang dari satu jam — saya memerlukan kira-kira 15 menit untuk menyiapkannya, termasuk penyediaan instance komputasi dan penyiapan DNS. Kebanyakan pengguna tidak membutuhkan lebih dari yang saya bahas dalam artikel ini.

Mulailah dengan penyiapan dasar pada satu server. Biasakan diri dengan pencadangan, pembaruan, dan pemecahan masalah dasar sebelum menambahkan reverse proxy, basis data eksternal, atau penyiapan high availability. Konfigurasi lanjutan tersebut menyelesaikan masalah yang kemungkinan belum Anda miliki.

Jika Anda tidak ingin mempercayakan kata sandi kepada pihak ketiga, ini adalah jalannya. Namun juga penting untuk tidak membuat penyiapan terlalu rumit hingga merusak sesuatu. Jalankan deployment Docker resmi, cadangkan secara rutin, dan Anda memiliki pengelola kata sandi yang andal di bawah kendali Anda.

Siap belajar lebih jauh tentang Docker? Mulailah dengan kursus Containerization and Virtualization Concepts kami lalu lihat praktiknya dengan Docker and Kubernetes.

Dario Radečić

Penulis

Dario Radečić

Senior Data Scientist yang berbasis di Kroasia. Penulis Tekno Teratas dengan lebih dari 700 artikel yang telah diterbitkan, menghasilkan lebih dari 10 juta tayangan. Penulis buku Machine Learning Automation with TPOT.

FAQs

Bagaimana saya dapat memastikan high availability untuk instance Bitwarden self-hosted saya?

High availability mengharuskan menjalankan beberapa instance Bitwarden di belakang load balancer dengan basis data eksternal bersama seperti PostgreSQL atau MySQL. Anda harus mengonfigurasi setiap instance untuk terhubung ke basis data yang sama dan menggunakan penyimpanan bersama untuk lampiran. Untuk sebagian besar deployment pribadi dan tim kecil, pencadangan rutin dan proses pemulihan yang terdokumentasi memberikan perlindungan yang memadai tanpa kompleksitas arsitektur HA.

Apa praktik terbaik untuk mengonfigurasi SMTP di Bitwarden?

Gunakan kata sandi khusus aplikasi alih-alih kata sandi email biasa, dan verifikasi pengaturan SMTP Anda sesuai dengan dokumentasi penyedia secara presisi. Selalu uji pengiriman email setelah konfigurasi dengan memicu setel ulang kata sandi atau menggunakan fungsi uji di panel admin. Simpan kredensial SMTP dengan aman di berkas global.override.env dan batasi izin berkas untuk mencegah akses tidak sah.

Bagaimana cara memecahkan masalah error 502 Bad Gateway di Bitwarden?

Periksa apakah semua kontainer berjalan dengan sudo docker ps dan cari yang berstatus "Restarting". Tinjau log kontainer nginx dan API menggunakan sudo docker logs bitwarden-nginx dan sudo docker logs bitwarden-api untuk mengidentifikasi layanan yang gagal. Penyebab umum termasuk kontainer API tidak mulai karena masalah koneksi basis data, memori tidak cukup, atau masalah sertifikat yang memblokir reverse proxy.

Bisakah saya menggunakan port server kustom dengan Bitwarden?

Ya, edit ./bwdata/config.yml dan ubah http_port serta https_port ke nilai yang Anda inginkan seperti 8080 dan 8443. Setelah mengubah port, mulai ulang Bitwarden dengan sudo ./bitwarden.sh restart. Ingat bahwa menggunakan port non-standar berarti Anda harus menyertakan nomor port pada URL domain saat mengakses vault.

Bagaimana cara mengaktifkan logging ke syslog di Bitwarden?

Kontainer Docker Bitwarden mencatat ke stdout/stderr secara default, yang secara otomatis ditangkap Docker. Anda dapat meneruskan log ini ke syslog dengan mengonfigurasi logging driver Docker di pengaturan kontainer atau menggunakan alat agregasi log seperti Fluentd atau Logstash. Untuk integrasi syslog sederhana, gunakan logging driver syslog Docker dengan menambahkan --log-driver=syslog ke konfigurasi kontainer, meski ini memerlukan modifikasi berkas Docker Compose secara manual.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Spaghetti Plot dan Jalur Badai