Dipublikasikan 23 Agustus 2026
Mengelola ratusan password untuk berbagai layanan digital menjadi tantangan nyata bagi developer dan profesional IT. Solusi commercial seperti 1Password atau LastPass menawarkan kemudahan, tetapi data kredensialmu disimpan di server pihak ketiga. Vaultwarden hadir sebagai alternatif self-hosted yang kompatibel dengan ekosistem Bitwarden, memungkinkanmu membangun password manager sendiri dengan biaya minimal dan kontrol penuh. Artikel ini membahas panduan lengkap setup Vaultwarden menggunakan Docker Compose.
Vaultwarden adalah implementasi alternatif dari server Bitwarden yang ditulis dalam Rust. Berbeda dengan server official Bitwarden yang membutuhkan minimal 2GB RAM dan menjalankan 6 container terpisah, Vaultwarden menjalankan seluruh fungsionalitas dalam satu binary yang menggunakan kurang dari 50MB RAM. Open Source Alternatives mencatat bahwa Vaultwarden telah mengumpulkan lebih dari 59.000 bintang di GitHub dan menjadi pilihan utama untuk self-hosted password manager individu maupun tim kecil.
Vaultwarden mendukung semua klien resmi Bitwarden: ekstensi browser, aplikasi mobile, desktop, dan CLI. Ini berarti kamu bisa menggunakannya tanpa mengorbankan user experience.
Untuk deployment production, siapkan VPS dengan spesifikasi minimal 1 vCPU dan 1GB RAM. Ubuntu 24.04 LTS adalah pilihan yang solid. Pastikan juga memiliki domain yang sudah diarahkan ke IP VPS melalui record A. HTTPS adalah keharusan untuk password manager, jadi domain publik menjadi prasyarat yang tidak bisa ditawar.
Sebelum melanjutkan, pastikan port 80 dan 443 terbuka di firewall. UFW (Uncomplicated Firewall) biasanya aktif secara default di Ubuntu, jadi konfigurasi yang tepat diperlukan nanti.
Buat direktori khusus untuk Vaultwarden dan buat file docker-compose.yml:
mkdir -p ~/vaultwarden && cd ~/vaultwarden
nano docker-compose.ymlIsi file dengan konfigurasi berikut:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
WEBSOCKET_ENABLED: "true"
SIGNUPS_ALLOWED: "false"
ADMIN_TOKEN: "$argon2id$v=19$m=65540,t=3,p=4$..."
volumes:
- ./vw-data:/data
ports:
- "8080:80"
networks:
- vaultwarden-net
networks:
vaultwarden-net:
driver: bridgeSejak versi 1.30, WebSocket notifications sudah terintegrasi ke dalam server utama sehingga tidak perlu lagi mengekspos port 3012 secara terpisah. Ini menyederhanakan konfigurasi reverse proxy dibandingkan panduan lama.
Vaultwarden harus diakses melalui HTTPS. Gunakan Caddy sebagai reverse proxy karena konfigurasinya yang sangat ringkas. Buat file Caddyfile di direktori yang sama:
password.example.com {
reverse_proxy vaultwarden:80
header {
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options "nosniff"
X-Frame-Options "DENY"
}
}Tambahkan service Caddy ke docker-compose.yml:
caddy:
image: caddy:2-alpine
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- vaultwarden-net
volumes:
caddy_data:
caddy_config:Caddy akan secara otomatis memprovisikan sertifikat Let us Encrypt untuk domainmu.
Admin token digunakan untuk mengakses admin panel Vaultwarden. Gunakan Argon2id untuk menghasilkan hash yang aman:
docker run -it --rm vaultwarden/server:latest /vaultwarden hashCopy seluruh string hash yang dihasilkan, termasuk prefix $argon2id. Perhatian: tanda dollar dalam hash bersifat special untuk Docker Compose. Jika kamu memasukkannya langsung ke environment block, gandakan setiap tanda dollar ($ menjadi $$) agar Compose tidak mencoba melakukan interpolasi variabel.
Setelah konfigurasi selesai, jalankan stack:
docker compose up -dAkses admin panel di https://password.example.com/admin. Di sana kamu bisa mengelola pengguna, melihat log, dan mengkonfigurasi kebijakan keamanan.
Vaultwarden memberikan solusi password manager yang powerful dengan resource footprint yang minimal. Dengan Docker Compose, seluruh stack bisa dideploy dalam hitungan menit dan direproduksi dengan mudah di environment lain. Kontrol penuh atas data kredensial adalah nilai tambah yang tidak ternilai, terutama bagi developer yang menghargai privasi dan security. Untuk dokumentasi resmi, kunjungi repository GitHub Vaultwarden.
SSH ke VPS dan update sistem terlebih dahulu. Jalankan perintah berikut secara berurutan:
apt update
apt upgrade -yInstall Docker Engine menggunakan official repository:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
usermod -aG docker \$USERVerifikasi instalasi dengan docker --version dan docker compose version. Docker Compose V2 kini terintegrasi sebagai plugin sejak Docker Engine 24.0.
Backup adalah aspek paling kritis dalam menjalankan password manager. Data Vaultwarden tersimpan di direktori vw-data. Buat script backup harian menggunakan cron:
#!/bin/bash
BACKUP_DIR="/opt/backups/vaultwarden"
mkdir -p \$BACKUP_DIR
tar czf \$BACKUP_DIR/vw-\$(date +%Y%m%d).tar.gz ~/vaultwarden/vw-dataUntuk membersihkan file backup lama, tambahkan perintah rotasi di akhir script. Aktifkan juga proteksi brute-force pada endpoint login menggunakan tools seperti fail2ban. Matikan pendaftaran publik setelah membuat akun utama dengan mengatur SIGNUPS_ALLOWED: "false".
Pastikan backup tersimpan di lokasi terpisah dari server utama. Gunakan object storage seperti AWS S3, Backblaze B2, atau rsync ke mesin lain. redundancy adalah kunci dalam melindungi data kredensial. Selain itu, aktifkan two-factor authentication untuk semua akun Vaultwarden dan gunakan master password yang kuat dengan minimal 16 karakter kombinasi huruf, angka, dan simbol.
Setelah deployment berjalan, ada beberapa praktik terbaik yang perlu diterapkan. Pertama, selalu gunakan generator password bawaan Vaultwarden untuk membuat password unik di setiap layanan. Hindari reuse password meskipun password tersebut terlihat kuat. Kedua, manfaatkan fitur collections untuk mengorganisir password berdasarkan klien atau proyek. Ini sangat berguna jika kamu bekerja dengan banyak tim atau klien freelance.
Ketiga, aktifkan emergency access untuk memberikan akses darurat kepada orang terpercaya. Fitur ini memungkinkan kontak darurat mengakses vault setelah periode tunggu tertentu. Keempat, rutin periksa laporan keamanan di admin panel untuk melihat apakah ada password yang terekspos dalam data breach. Vaultwarden mendukung integrasi dengan Have I Been Pwned untuk pemeriksaan ini.
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu