Self Host Bitwarden Password Manager
Password manager memudahkan kita dalam mengelola password. Kita bisa membuat password radom berbeda untuk setiap account dan cukup mengingat 1 password ataupun menggunakan passkey untuk membuka passwordnya.
Google, apple dan microsoft juga memiliki password manager sendiri. Terkadang password mereka ini kurang compatible untuk berjalan pada perangkat lain. Aplikasi password manager pihak ketiga juga banyak tersedia seperti last pass, proton dan bahkan synology juga menyediakan aplikasi password manager. Bitwarden salah satu aplikasi yang memiliki tingkat kepercayaan tinggi. yang menarik dari bitwarden adalah kita bisa host sendiri di server kita.
Vaultwarden adalah versi open source dari bitwarden. kita bisa deploy vault warden menggunakan docker image dan menggunakan aplikasi bitwarden client untuk PC, Browser Extension dan di mobile device android maupun iOS. Aplikasi client bitwarden juga sudah mendukung TOTP sehingga kita bisa menggunakan Bitwarden sebagai authenticator app.
Prerequisite
- Service dengan docker engine
- Domain
- Caddy Reverse Proxy
Installasi Bitwarden
docker pull vaultwarden/server:latest
docker run --detach --name vaultwarden \
--env DOMAIN="https://vw.domain.tld" \
--volume /vw-data/:/data/ \
--restart unless-stopped \
--publish 127.0.0.1:8000:80 \
vaultwarden/server:latestVaultwarden akan listen di port 8000 pada host port. 127.0.0.1. pada langkah ini vaultwarden sudah bisa digunakan tetapi belum bisa remote dari client. Kamu bisa mengganti IP 127.0.0.1 ke 0.0.0.0 agar bisa langsung di remote dari client ke port 8000.
Reverse Proxy
Supaya kita bisa digunakan dari client dengan domain name maka kita perlu menggunakan reverse proxy. Di sini saya menggunakan Caddy Reverse proxy
Install Caddy di ubuntu server
apt install caddyTambahkan bari berikut pada konfigurasi caddy di file /etc/caddy/Caddy
bitwarden.domain.com {
reverse_proxy localhost:8000
}Jangan lupa aktifkan service caddy
systemctl start caddy
systemctl enable caddySebelumnya kamu perlu pointing domain ke IP address dari VPS yang digunakan
