Apa itu Vaultwarden?
Vaultwarden adalah implementasi ringan dan tidak resmi dari Bitwarden, yaitu layanan pengelola kata sandi sumber terbuka (open-source). Vaultwarden ditulis dalam bahasa Rust dan dirancang agar lebih hemat sumber daya dibandingkan dengan server resmi Bitwarden.
Vaultwarden sering digunakan oleh pengguna yang ingin menjalankan self-hosted Bitwarden di perangkat dengan spesifikasi rendah, seperti Raspberry Pi, VPS dengan spesifikasi yang rendah. Meskipun lebih ringan, Vaultwarden tetap kompatibel dengan aplikasi klien Bitwarden resmi (web, desktop, dan mobile), sehingga pengguna tetap dapat menyinkronkan dan mengelola kata sandi mereka dengan aman.
Keunggulan Vaultwarden
- Lebih Ringan dan Lebih Cepat: Vaultwarden jauh lebih ringan karena menggunakan Rust, yang dikenal karena efisiensi sumber daya. Bitwarden, di sisi lain, membutuhkan lebih banyak sumber daya, terutama dalam hal CPU dan memori. Vaultwarden lebih cocok untuk digunakan di perangkat dengan keterbatasan sumber daya, seperti Raspberry Pi atau server pribadi kecil.
- Hosting Sendiri (Self-Hosting): Vaultwarden memungkinkan untuk menghosting sendiri server Bitwarden di perangkat atau server pribadi. Ini memberi kontrol penuh atas data tanpa bergantung pada layanan cloud pihak ketiga. Jika ingin menggunakan Bitwarden dengan opsi self-hosting, Vaultwarden adalah pilihan yang lebih mudah diatur dan lebih ringan dibandingkan Bitwarden asli yang memerlukan server dengan kapasitas lebih besar.
- Kompatibilitas dengan Bitwarden: Vaultwarden sepenuhnya kompatibel dengan klien resmi Bitwarden (aplikasi desktop, mobile, dan browser extension), sehingga masih dapat menikmati antarmuka dan fungsionalitas Bitwarden sambil meng-hosting server sendiri menggunakan Vaultwarden.
- Biaya: Vaultwarden adalah proyek open-source yang dapat diunduh dan digunakan secara gratis tanpa biaya berlangganan. Bitwarden menawarkan model freemium di mana penggunaan dasar gratis, tetapi fitur premium seperti penyimpanan dua faktor, pelaporan pelanggaran, dan lainnya memerlukan langganan berbayar. Untuk orang yang hanya membutuhkan penyimpanan kata sandi pribadi dan tidak ingin membayar biaya langganan, Vaultwarden bisa menjadi pilihan yang lebih hemat biaya.
- Kemudahan Pemasangan: Vaultwarden lebih mudah untuk dipasang di berbagai platform, seperti Docker, Raspberry Pi, atau server pribadi lainnya. Bitwarden, meskipun juga memiliki opsi self-hosting, bisa lebih kompleks dan membutuhkan lebih banyak konfigurasi.
- Penggunaan Sumber Daya yang Efisien: Vaultwarden lebih hemat dalam penggunaan memori dan CPU karena lebih minimalis dalam hal kebutuhan sistem. Bitwarden membutuhkan lebih banyak sumber daya, terutama dalam kasus self-hosting dengan pengaturan database yang lebih besar.
Apa yang Dibutuhkan?
- Pastikan memiliki domain yang sudah terkoneksi dengan Cloudflare.
- Sistem Operasi Linux dengan distro Debian, tepatnya Debian 12 (bookworm).
- Docker, ini bisa di install dari repository Debian.
Install Vaultwarden
Untuk menginstall Vaultwarden, kita akan menggunakan Docker. Pastikan Docker sudah terinstall di sistem. Jika belum, bisa mengikuti langkah-langkah berikut:
Install Docker
sudo apt updatesudo apt install docker.io docker-compose
Docker Compose
Docker Compose adalah alat yang memungkinkan kita untuk mendefinisikan dan menjalankan aplikasi multi-kontainer Docker. Dengan Docker Compose, kita dapat menggunakan file YAML
untuk mengkonfigurasi layanan aplikasi, termasuk kontainer, jaringan, dan volume yang diperlukan.
- Buat folder untuk menyimpan data Vaultwarden dan Cloudflare (disini disimpan di
$HOME/.local/share/vaultwarden
)
mkdir -p $HOME/.local/share/vaultwarden
- Buat file
docker-compose.yml
di dalam folder tersebut:
nano $HOME/.local/share/vaultwarden/docker-compose.yml
- Salin dan tempel konfigurasi berikut ke dalam file
docker-compose.yml
:
services: vaultwarden: restart: unless-stopped container_name: vaultwarden image: vaultwarden/server:latest environment: DOMAIN: 'https://vaultwarden.example.org' SIGNUPS_ALLOWED: 'true' INVITATIONS_ALLOWED: 'false' volumes: - ./vw-data:/data networks: - vaultwarden-network
17 collapsed lines
cloudflared: restart: unless-stopped image: cloudflare/cloudflared:latest container_name: vaultwarden-cloudflared read_only: true volumes: - ./cloudflared-config:/root/.cloudflared/ command: ['tunnel', 'run', '${TUNNEL_ID'] user: root depends_on: - vaultwarden networks: - vaultwarden-networknetworks: vaultwarden-network: name: vaultwarden-network external: false
Ganti DOMAIN: https://vaultwarden.example.org
dengan domain yang didaftarkan
di Cloudflare.
Configurasi Cloudflare
Pastikan sudah login ke Cloudflare dan sudah membuat domain yang akan digunakan. Setelah itu, kita perlu membuat tunnel di Cloudflare untuk menghubungkan Vaultwarden dengan domain kita.
Membuat Tunnel di Zero Trust
- Login ke akun Cloudflare dan masuk ke bagian Zero Trust
- Klik pada bagian Networks dan pilih Tunnels

- Create a Tunnel & Pilih Clouflared

- Beri nama tunnel sesuai keinginan dan Save tunnel
- Copy token dan decode menggunakan base64
Token dimulai darieyJhIjoiMj…

- Setelah di decode maka akan dapat format JSON seperti ini
{ "a": "MyAccountTag123", "t": "MyTunnelID123", "s": "MyTunnelSecret123" }

Setting token.json
- Masuk ke
$HOME/.local/share/vaultwarden/cloudlared-config/root/.cloudflared
- Buat file dengan nama
token.json
- Masukan baris berikut
{ "AccountTag": "MyAccountTag123", "TunnelID": "MyTunnelID123", "TunnelSecret": "MyTunnelSecret123"}
a
diganti dengan AccountTag
t
diganti dengan TunnelID
s
diganti dengan TunnelSecret
Edit docker-compose.yml
Jangan lupa untuk edit docker-compose.yml
untuk mengganti ${TUNNEL_ID}
--- a/docker-compose.yml+++ b/docker-compose.yml@@ -20,7 +20,7 @@ volumes: - ./cloudflared-config:/root/.cloudflared/- command: ["tunnel", "run", "${TUNNEL_ID"]+ command: ["tunnel", "run", "MyTunnelID123"]
Settings Cloudflared
- Masuk ke
$HOME/.local/share/vaultwarden/cloudlared-config
- Buat file dengan nama
config.yml
- Copy dan Edit baris berikut lalu save
tunnel: TunnelID # Ganti dengan TunnelID yang didapat pada langkah sebelumnyacredentials-file: /root/.cloudflared/token.json
originRequest: noHappyEyeballs: true disableChunkedEncoding: true noTLSVerify: true
ingress: - hostname: vaultwarden.example.org # Ganti domain dengan milik kalian service: http_status:404 path: admin - hostname: vaultwarden.example.org # Ganti domain dengan milik kalian service: http://vaultwarden - service: http_status:404
Menjalankan Vaultwarden
Jika semua langkah diatas sudah dijalankan, selanjutnya tinggal menjalankan Vaultwarden via Docker
- Masuk ke
$HOME/.local/share/vaultwarden
- jalankan perintah berikut
docker-compose up -d

Jika perintah diatas error, bisa menggunakan perintah dibawah ini
sudo docker compose up
- Jika tidak ada error, buka domain yang di setting di
docker-compose.yml
- Seharusnya halaman login Vaultwarden bisa terlihat dan daftarkan akun disana

- Stop docker dengan
CTRL+C
lalu jalankan perintah
sudo docker compose down
- Edit file
docker-compose.yml
untuk menonaktifkan pendaftaran user baru Ganti dariSIGNUPS_ALLOWED: "true"
menjadiSIGNUPS_ALLOWED: "false"
--- a/docker-compose.yml+++ b/docker-compose.yml@@ -6,7 +6,7 @@ environment: DOMAIN: 'https://vaultwarden.example.org'- SIGNUPS_ALLOWED: 'true'+ SIGNUPS_ALLOWED: 'false' INVITATIONS_ALLOWED: 'false'
- Selanjutnya untuk menjalankan docker di background, bisa menggunakan perintah berikut:
docker-compose up -d
- Untuk melihat log dari docker, bisa menggunakan perintah berikut:
docker-compose logs -f
Menggunakan Vaultwarden di Ekstensi Bitwarden
- Pada Accessing pilih
Self-hosted
- Isi URL dengan domain kalian dan harus memakai
https://
Contoh:https://vaultwarden.example.org
- Login dengan akun Vaultwarden yang dibuat
- Selesai
Kesimpulan
Vaultwarden adalah solusi yang sangat baik untuk mengelola kata sandi secara mandiri. Dengan menggunakan Docker dan Cloudflare, kita dapat dengan mudah mengatur dan mengamankan Vaultwarden di server pribadi kita. Dengan langkah-langkah di atas, sekarang memiliki pengelola kata sandi yang aman dan efisien.
Beberapa hal penting yang perlu diperhatikan:
- Backup data secara rutin untuk menghindari kehilangan informasi penting.
- Keamanan sistem tetap terjaga dengan selalu memperbarui Docker, Vaultwarden, dan Debian.
- Konfigurasi Cloudflare dapat disesuaikan untuk memastikan perlindungan maksimal terhadap layanan yang digunakan.
Vaultwarden kini dapat diakses melalui domain yang telah dikonfigurasi di Cloudflare, baik melalui browser maupun aplikasi mobile, sehingga pengelolaan kata sandi menjadi lebih mudah dan aman.