Cara Install Vaultwarden dengan Docker di VPS Ubuntu

Kalau kamu udah baca artikel Nextcloud sebelumnya buat self-host cloud storage, sekarang giliran kita self-host password manager. Vaultwarden Docker jadi pilihan populer buat ini, implementasi ringan dari server Bitwarden yang kompatibel penuh sama aplikasi Bitwarden resmi (desktop, mobile, browser extension), tapi jauh lebih hemat resource.

Di artikel ini kita bahas cara install Vaultwarden lewat Docker di VPS Ubuntu, dari setup dasar sampai catatan penting soal HTTPS yang wajib kamu tau.

Kenapa Pakai Vaultwarden Docker

Server Bitwarden resmi itu ditulis pakai .NET dan butuh resource lumayan gede buat dijalanin sendiri. Vaultwarden ditulis ulang pakai Rust, jauh lebih ringan, dan tetap kompatibel penuh sama semua client resmi Bitwarden, jadi kamu gak perlu install aplikasi khusus, tinggal pakai app Bitwarden biasa tapi diarahin ke server Vaultwarden kamu sendiri. Ini cocok banget buat VPS kecil yang gak sanggup jalanin server Bitwarden resmi.

Buat referensi lengkap, kamu bisa cek repository resmi Vaultwarden di GitHub. Project ini aktif dikembangkan dan komunitasnya lumayan besar, jadi kalau nemu masalah biasanya udah ada yang bahas di issue tracker mereka.

Dari pengalaman ngurusin keamanan infrastruktur, ada satu prinsip yang selalu dipegang buat aplikasi kayak Vaultwarden: makin sensitif data yang disimpen, makin sedikit toleransi buat setup yang “asal jalan dulu”. Beda sama tools lain yang kalau kena masalah paling downtime doang, kalau password manager bocor, dampaknya nyambung ke semua akun kamu. Jadi sebelum mulai, pastiin VPS dengan Docker udah terinstal, domain yang udah diarahin ke IP VPS kamu (wajib buat HTTPS, dijelasin di bawah), dan port 8000 masih kosong.

Wajib Baca: Kenapa Butuh HTTPS

Ini bagian paling penting sebelum kamu lanjut install. Vaultwarden (dan Bitwarden secara umum) butuh HTTPS buat bisa dipakai beneran, karena browser modern kayak Chrome nge-block Web Crypto API (yang dipakai buat enkripsi password) kalau diakses lewat HTTP biasa. Jadi setelah install, kamu wajib pasang reverse proxy dengan SSL (misal pakai Nginx yang udah kita bahas di artikel UFW firewall buat proteksi tambahan) sebelum Vaultwarden ini beneran bisa dipakai penuh.

1. Bikin Folder buat Data Vaultwarden

Bikin folder khusus buat nyimpen database dan attachment Vaultwarden kamu:

mkdir -p ~/vaultwarden/data
cd ~/vaultwarden

2. Install Vaultwarden Docker Pakai Docker Compose

Bikin file docker-compose.yml:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      - DOMAIN=https://vault.domainmu.com
      - SIGNUPS_ALLOWED=true
    volumes:
      - ./data:/data
    ports:
      - "127.0.0.1:8000:80"

Ganti DOMAIN sesuai domain kamu (yang udah diarahin ke IP VPS dan bakal dipasangin SSL nanti). Kita sengaja publish port cuma ke 127.0.0.1 (localhost), bukan ke semua interface, karena akses publik nantinya bakal lewat reverse proxy, bukan langsung ke container. Ini praktik keamanan standar biar container gak bisa diakses langsung dari luar tanpa lewat lapisan SSL.

Jalankan dengan:

docker compose up -d

3. Matiin Pendaftaran Setelah Bikin Akun Sendiri

Setelah reverse proxy dan SSL kamu siap, buka domain kamu dan daftar akun pertama. Begitu akun kamu udah jadi, segera balik ke docker-compose.yml dan matiin pendaftaran biar gak ada orang asing yang bisa daftar ke instance kamu:

- SIGNUPS_ALLOWED=false

Terus restart container-nya biar perubahan kepake:

docker compose up -d

4. Konek Vaultwarden Docker dari Aplikasi Bitwarden

Salah satu kelebihan Vaultwarden itu kamu gak perlu install aplikasi khusus buat dia. Di aplikasi Bitwarden (desktop, mobile, atau browser extension), sebelum login, masuk ke setting dan cari opsi “Self-hosted” atau “Server URL”, isi dengan domain Vaultwarden kamu. Setelah itu, login pakai akun yang tadi kamu bikin, dan semua data password kamu bakal sync ke server sendiri, bukan ke server Bitwarden resmi.

Kalau Login Gagal atau Ada yang Aneh

Kalau muncul error “Cannot read property importKey” pas login, itu konfirmasi kamu masih akses lewat HTTP, bukan HTTPS, pasang SSL dulu sebelum lanjut pakai Vaultwarden beneran. Kalau gak bisa daftar akun baru, cek environment variable SIGNUPS_ALLOWED, pastiin masih true sampai kamu selesai bikin akun pertama.

Kalau data ilang setelah container di-update, cek lagi volume ./data:/data udah bener kemount, ini folder yang nyimpen semua database dan attachment kamu. Dan kalau reverse proxy gak bisa connect ke container, inget kita publish port cuma ke 127.0.0.1:8000, jadi pastiin reverse proxy kamu jalan di server yang sama (bukan server terpisah), atau sesuaikan binding port-nya.

Penutup

Nah, segitu aja cara install Vaultwarden dengan Docker di VPS Ubuntu. Password manager itu salah satu hal paling sensitif buat di-self-host, karena kalau salah konfigurasi risikonya jauh lebih besar dibanding aplikasi self-hosted lainnya. Jadi pastiin kamu bener-bener setup HTTPS dan matiin pendaftaran publik sebelum dipakai serius. Kalau ada yang error atau nyangkut, drop komentar aja bro.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.