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.
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 kamiIntroduction to Docker atauIntermediate Docker — pelajari dasar-dasarnya sebelum mengelola penyiapan multi-kontainer.
Apa Itu Deployment Docker Bitwarden?
Bitwarden memilikiinstalasi 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
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
Propagasi DNS memakan waktu beberapa menit. Jalankan perintah shell ini untuk memverifikasi perubahan terlihat:
Anda harus melihat nomor versi untuk kedua perintah.
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.shDidukung oleh
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:
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)
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)
Kemudian instalasi akan melanjutkan mengunduh image Docker tambahan.
Dapatkan installation ID dan key. Buka halamanBitwarden 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
Selesai — instalasi selesai:
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:
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)
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)
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
Setelah membuat akun, masuk untuk memverifikasi semuanya berfungsi. Anda dapat membuat item login uji dan memastikan tersimpan dengan benar.
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:
Anda harus melihat beberapa kontainer dengan nama seperti bitwarden-web, bitwarden-api, bitwarden-db, dan lainnya.
Kontainer berjalan
Jika ada kontainer berstatus "Restarting" atau tidak terdaftar, periksa log dengan perintah ini:
sudodocker logs bitwarden-api
sudodocker logs bitwarden-webDidukung oleh
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:
sudochown-R root:root /opt/bitwarden/bwdata
sudochmod-R755 /opt/bitwarden/bwdataDidukung oleh
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.
Perbaiki masalah yang mendasarinya, lalu picu pembaruan secara manual:
sudodockerexec bitwarden-nginx certbot renewDidukung oleh
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
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=587globalSettings__mail__smtp__ssl=false
globalSettings__mail__smtp__username=[email protected]globalSettings__mail__smtp__password=your-app-passwordDidukung oleh
Formatnya menggunakan garis bawah ganda untuk merepresentasikan konfigurasi bertingkat. Setiap __ memisahkan level dalam hierarki pengaturan.
Setelah mengedit berkas, jangan lupa mulai ulang Bitwarden:
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:
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 stopDidukung oleh
Cadangkan seluruh direktori bwdata:
sudotar-czf bitwarden-backup-$(date +%Y%m%d).tar.gz bwdata/Didukung oleh
Pindahkan cadangan ini ke tempat yang aman, seperti drive eksternal atau server lain.
Skrip pembaruan menarik image Docker terbaru, memperbarui berkas konfigurasi jika diperlukan, dan memulai ulang semua kontainer. Biasanya memakan waktu beberapa menit.
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:
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:
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:
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:
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:
Anda dapat menyiapkan pembaruan keamanan otomatis agar patch penting terpasang tanpa intervensi manual. Di Ubuntu, pasang unattended-upgrades:
sudoaptinstall unattended-upgrades -ysudo dpkg-reconfigure --priority=low unattended-upgradesDidukung oleh
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:
Periksa log sesekali untuk aktivitas tidak biasa. Cari percobaan masuk gagal atau panggilan API yang tidak terduga:
sudodocker logs bitwarden-api |grep-i"failed\\|error"Didukung oleh
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.
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.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
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
Selanjutnya, konfigurasikan DNS di Cloudflare. Masuk ke akun Cloudflare Anda dan tambahkan catatan A yang mengarahkan domain Anda ke IP droplet:
Type:
AName:
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
Propagasi DNS memakan waktu beberapa menit. Jalankan perintah shell ini untuk memverifikasi perubahan terlihat:
Anda harus melihat alamat IP droplet Anda dalam respons.
Hasil Nslookup
Sekarang Anda dapat terhubung ke droplet melalui SSH:
Dan Anda masuk:
Menghubungkan ke instance Ubuntu
Baik, hal pertama yang harus dilakukan adalah memperbarui paket sistem. Jalankan perintah berikut:
Sekarang Anda siap menginstal Docker dan Bitwarden.
Seperti disebutkan sebelumnya, Anda memerlukan Docker dan Docker Compose. Jalankan perintah ini untuk memasangnya:
Sekarang verifikasi instalasinya:
Anda harus melihat nomor versi untuk kedua perintah.
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:
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:
Sekarang Anda dapat memindahkan skrip instalasi ke sana:
Dan terakhir, jalankan installer:
Skrip akan membuat direktori
bwdatayang 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.comdi Cloudflare, masukkan string itu persis. Jangan sertakanhttps://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)
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,
vaultsudah sangat baik.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
Selesai — instalasi selesai:
Instalasi Bitwarden (3)
Skrip menghasilkan berkas konfigurasi di
./bwdata/config.ymldan./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:
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)
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)
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:
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
Setelah membuat akun, masuk untuk memverifikasi semuanya berfungsi. Anda dapat membuat item login uji dan memastikan tersimpan dengan benar.
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:
Anda harus melihat beberapa kontainer dengan nama seperti
bitwarden-web,bitwarden-api,bitwarden-db, dan lainnya.Kontainer berjalan
Jika ada kontainer berstatus "Restarting" atau tidak terdaftar, periksa log dengan perintah ini:
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: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.ymldan tetapkanssl_certificate_pathsertassl_key_pathke berkas sertifikat Anda.Menggunakan sertifikat kustom
Lalu mulai ulang Bitwarden:
Saat pembaruan sertifikat gagal, periksa log terlebih dahulu:
Kegagalan pembaruan umum terjadi ketika:
Perbaiki masalah yang mendasarinya, lalu picu pembaruan secara manual:
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
Buka berkas ini dan tambahkan konfigurasi penyedia email Anda:
Formatnya menggunakan garis bawah ganda untuk merepresentasikan konfigurasi bertingkat. Setiap
__memisahkan level dalam hierarki pengaturan.Setelah mengedit berkas, jangan lupa mulai ulang Bitwarden:
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=falseuntuk STARTTLS di port 587, ataussl=trueuntuk 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:
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.
Cadangkan seluruh direktori
bwdata:Pindahkan cadangan ini ke tempat yang aman, seperti drive eksternal atau server lain.
Sekarang perbarui Bitwarden dengan perintah ini:
Skrip pembaruan menarik image Docker terbaru, memperbarui berkas konfigurasi jika diperlukan, dan memulai ulang semua kontainer. Biasanya memakan waktu beberapa menit.
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:
Pencadangan
Direktori
bwdataberisi semua yang dibutuhkan Bitwarden untuk berjalan. Anda harus mencadangkannya secara rutin.Direktori ini mencakup:
Hentikan Bitwarden sebelum mencadangkan untuk memastikan konsistensi data:
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
bwdatasaat 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:
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.ymldan tetapkanhttp_portdanhttps_portke nilai berbeda seperti 8080 dan 8443. Lalu mulai ulang:Kegagalan sertifikat muncul sebagai peringatan peramban atau Bitwarden menolak untuk mulai. Periksa log kontainer nginx dengan perintah ini:
Cari kegagalan tantangan ACME atau kesalahan validasi sertifikat. Berikut penyebab paling umum:
Perbaiki masalah DNS atau firewall, lalu minta sertifikat secara manual:
Kontainer tidak mulai biasanya berarti masalah basis data atau berkas yang hilang. Periksa kontainer mana yang berjalan dengan menjalankan ini:
Kontainer dengan status "Exited" atau "Restarting" bermasalah. Periksa lognya:
Kesalahan inisialisasi basis data berarti direktori
bwdatamemiliki masalah izin. Perbaiki izin:Jika kontainer masih tidak mau mulai, periksa ruang disk:
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:
Picu percobaan setel ulang kata sandi dan perhatikan kesalahan SMTP di log. Berikut masalah paling umum:
Anda dapat memverifikasi pengaturan SMTP di
./bwdata/env/global.override.envsesuai 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
Kompromi dengan Vaultwarden
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:
Anda dapat menyiapkan pembaruan keamanan otomatis agar patch penting terpasang tanpa intervensi manual. Di Ubuntu, pasang
unattended-upgrades:Batasi akses ke panel admin. Antarmuka admin Bitwarden berada di
/admindan 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
/admindapat 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:
Blokir yang lain secara default.
Periksa log sesekali untuk aktivitas tidak biasa. Cari percobaan masuk gagal atau panggilan API yang tidak terduga:
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.