Install Vaultwarden Server di NAT VPS

NATVPS.id – Vaultwarden adalah sebuah password manager (pengelola kata sandi) open-source yang dapat di self-host untuk menyimpan kata sandi Anda sendiri. Vaultwarden adalah implementasi server alternatif untuk Bitwarden yang ditulis dalam bahasa pemrograman Rust, dengan penggunaan resource yang lebih ringan.

Artikel ini membahas mengenai langkah-langkah instalasi Vaultwarden di NAT VPS menggunakan Docker Compose, beserta konfigurasi NGINX untuk reverse-proxy. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS.

Konfigurasi Port Forwarding

Mengingat kita menggunakan NAT, kita perlu menambahkan 2 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu port forwarding HTTP dan HTTPS untuk domain Vaultwarden.

Sebagai contoh, pada artikel ini akan menggunakan domain password.tutorial.mdinata.my.id untuk mengakses Vaultwarden. Anda bebas mengganti domain sesuai pilihan Anda. Catat domain ini, karena kita akan menggunakannya lagi pada proses instalasi.

Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:

Jika bingung, silahkan membaca artikel kami mengenai domain forwarding di sini: Penjelasan Domain Forwarding di NAT VPS.

Install Docker

Kita akan menggunakan Docker dan Docker Compose untuk deploy Vaultwarden.

Pertama, Install curl menggunakan perintah:

apt update && apt install curl -y

Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:

curl -fsSL get.docker.com | sh

Tunggu hingga proses instalasi selesai.

Install Vaultwarden

Pertama, buat direktori baru untuk Vaultwarden:

mkdir /opt/vaultwarden
cd /opt/vaultwarden

 

Kemudian, buat file Docker Compose:

apt install nano -y # Jika belum
nano docker-compose.yml

Isi dengan konfigurasi berikut:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "
    volumes:
      - ./vw-data/:/data/
    ports:
      - 127.0.0.1:8000:80

Simpan file tersebut dengan Ctrl-X, y, kemudian Enter.

Terakhir, jalankan Vaultwarden:

docker compose up -d

Tunggu hingga proses deploy selesai. Deploy pertama kali dapat memakan waktu beberapa menit karena harus mengunduh image Vaultwarden , serta mengonfigurasinya dari awal.

Konfigurasi NGINX (Reverse Proxy)

Vaultwarden memerlukan koneksi terenkripsi menggunakan HTTPS demi keamanan password yang disimpan. Agar kita dapat mengakses URL dengan HTTPS melalui domain seperti https://password.tutorial.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.

Pertama, install NGINX melalui perintah:

# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ)
apt purge apache2* -y

# Install NGINX
apt install nginx -y

Buat konfigurasi host baru khusus untuk Vaultwarden:

nano /etc/nginx/sites-available/vaultwarden

Kemudian tempelkan konfigurasi berikut:

# 
# Reference: 

# The `upstream` directives ensure that you have a http/1.1 connection
# This enables the keepalive option and better performance
#
# Define the server IP and ports here.
upstream vaultwarden-default {
  zone vaultwarden-default 64k;
  server 127.0.0.1:8000;
  keepalive 2;
}

# Needed to support websocket connections
# See: 
# Instead of "close" as stated in the above link we send an empty value.
# Else all keepalive connections will not work.
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      "";
}

server {
    listen 80;
    listen [::]:80;
    server_name password.tutorial.mdinata.my.id;

    client_max_body_size 525M;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    # If you use Cloudflare proxying, replace $remote_addr with $http_cf_connecting_ip
    # See 
    # alternatively use ngx_http_realip_module
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    location / {
      proxy_pass 
    }
}

Ganti password.tutorial.mdinata.my.id dengan domain Anda.

Aktifkan konfigurasi tersebut dengan:

ln -sf /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/

# Restart NGINX
systemctl restart nginx

Generate Sertifikat SSL (Let’s Encrypt)

Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.

Install Certbot dan plugin NGINX nya menggunakan perintah:

apt install python3-certbot python3-certbot-nginx

Lalu, generate sertifikat melalui Certbot dengan perintah

certbot --nginx -d password.tutorial.mdinata.my.id

Ganti password.tutorial.mdinata.my.id dengan domain Anda.

Selamat! Vaultwarden saat ini dapat diakses melalui koneksi aman HTTPS.

Mengakses Vaultwarden

Vaultwarden dapat diakses melalui domain Anda sebelumnya. Contoh: https://password.tutorial.mdinata.my.id. Anda perlu membukanya untuk membuat master account, yang akan digunakan pada Bitwarden.

Klik Create account, lalu masukkan informasi akun seperti biasa.

Jika sudah, Anda akan masuk ke dashboard.

Menggunakan Server Vaultwarden di Bitwarden

Anda perlu mengganti alamat server pada Bitwarden ke server Vaultwarden yang telah dikonfigurasi.

Buka aplikasi Bitwarden, namun jangan login terlebih dahulu.

Pada Accessing: bitwarden.com di bagian bawah, klik lalu ubah ke self-host.

Kemudian masukkan alamat server Vaultwarden Anda.

Anda akan diminta untuk memasukkan akun. Gunakan akun yang telah dibuat pada Vaultwarden sebelumnya.

Jika sudah, Bitwarden telah siap digunakan. Selamat!

Penutup

Demikianlah artikel ini mengenai langkah-langkah install Vaultwarden di NAT VPS.

Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!

News
Berita
News Flash
Blog
Technology
Sports
Sport
Football
Tips
Finance
Berita Terkini
Berita Terbaru
Berita Kekinian
News
Berita Terkini
Olahraga
Pasang Internet Myrepublic
Jasa Import China
Jasa Import Door to Door

Download Film

A gaming center is a dedicated space where people come together to play video games, whether on PCs, consoles, or arcade machines. These centers can offer a range of services, from casual gaming sessions to competitive tournaments.

More From Author

Peristiwa Tragis, Bocah 6 Tahun Tertimpa Kentongan di Kopi Ingkar Janji Kulon Progo

Jejak Kuliner Tradisional Jawa yang Nyaris Terlupakan