Vaultwarden: কী এবং VPS-এ কীভাবে ইনস্টল করবেন

3 মিনিট পড়া
Tropic
Vaultwarden: কী এবং VPS-এ কীভাবে ইনস্টল করবেন

Vaultwarden: VPS-এ নিজের password manager ইনস্টল করুন

Vaultwarden নিজের server-এ password রাখে এবং computer, phone ও browser-এর মধ্যে synchronize করে। এটি official Bitwarden application ও extension-এর সঙ্গে কাজ করে, যেখানে নিজের server-এর address নির্দিষ্ট করা যায়।

নিচে Vaultwarden-এর জন্য কেমন VPS দরকার, Docker Compose দিয়ে Ubuntu-এ কীভাবে চালাতে হয়, open registration বন্ধ, HTTPS চালু এবং backup configure করার পদ্ধতি দেখব।

পাঁচ ধাপে Vaultwarden

ন্যূনতম launch plan:

  1. Ubuntu-সহ একটি VPS তৈরি করে vault.example.com-এর মতো subdomain সেখানে point করুন।
  2. Docker ও Docker Compose install করুন।
  3. Automatic HTTPS-এর জন্য Caddy-সহ Vaultwarden চালু করুন।
  4. প্রথম account তৈরি করে open registration বন্ধ করুন।
  5. Two-factor authentication, update ও backup চালু করুন।

Personal vault বা ছোট family-র জন্য built-in SQLite database যথেষ্ট। আলাদা PostgreSQL server সাধারণত প্রয়োজন হয় না।

Vaultwarden কী

Vaultwarden হলো Bitwarden API-এর unofficial server implementation, Rust-এ লেখা এবং self-hosted deployment-এর জন্য তৈরি। এটি official Bitwarden client—web interface, mobile ও desktop application, browser extension এবং CLI—এর সঙ্গে compatible।

Server-এ পাঠানোর আগে user-এর device-এই vault data encrypt হয়। VPS শুধু encrypted database synchronize করে, master password জানে না এবং সেটি হারিয়ে গেলে recover করতে পারে না।

Vaultwarden official Bitwarden product নয়। Update, availability, HTTPS, backup ও VPS security-এর দায়িত্ব সম্পূর্ণ owner-এর।

Vaultwarden ও Bitwarden: পার্থক্য কী

ParameterBitwarden CloudVaultwarden
ServerBitwarden infrastructureআপনার VPS বা home server
ApplicationBitwarden clientSelf-hosted mode-এ একই client
MaintenanceProvider করেOwner করে
Backup-এর ওপর controlService দ্বারা সীমিতসম্পূর্ণ
SetupAccount registrationDomain, Docker ও VPS configuration

যারা server-side control চান এবং Linux update ও backup যাচাই করতে প্রস্তুত, তাদের জন্য Vaultwarden উপযুক্ত। Administration করতে না চাইলে cloud service বেশি practical। Self-hosting system-কে স্বয়ংক্রিয়ভাবে secure করে না—দায়িত্ব owner-এর কাছে স্থানান্তর করে।

Vaultwarden server requirements

Personal use-এর জন্য যুক্তিসঙ্গত starting configuration:

  • 1 vCPU;
  • 1–2 GB RAM;
  • 10–20 GB SSD বা NVMe;
  • Ubuntu 24.04 LTS;
  • public IP address ও domain;
  • open port 80 ও 443।

এটি Ubuntu, Docker, Caddy ও update-এর জন্য ব্যবহারিক allowance, কঠোর project minimum নয়। Dozens of user, অনেক attachment বা একাধিক container থাকলে অন্তত 2 GB RAM নেওয়া ভালো।

VPS-এ Vaultwarden ইনস্টল করার উপায়

এই উদাহরণে Ubuntu 24.04 ও vault.example.com subdomain ব্যবহার করা হয়েছে। সব file-এ এটিকে নিজের address দিয়ে প্রতিস্থাপন করুন।

1. DNS configure করে Ubuntu প্রস্তুত করুন

VPS-এর IPv4 address-এ point করা A DNS record তৈরি করুন। তারপর SSH দিয়ে connect করুন:

ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

নতুন connection কাজ করছে নিশ্চিত না হওয়া পর্যন্ত বর্তমান SSH session বন্ধ করবেন না।

2. Docker ও Docker Compose install করুন

Official Docker repository যোগ করুন:

apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

apt update
apt install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin
docker compose version

3. Configuration তৈরি করুন

mkdir -p /opt/vaultwarden
cd /opt/vaultwarden

compose.yaml তৈরি করুন:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2-alpine
    container_name: vaultwarden-caddy
    restart: unless-stopped
    depends_on:
      - vaultwarden
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config

Caddyfile তৈরি করুন:

vault.example.com {
    reverse_proxy vaultwarden:80
}

শুধু Caddy externally exposed। Vaultwarden container Docker network-এর ভেতরে accessible, আর data /opt/vaultwarden/vw-data-তে সংরক্ষিত হয়। বর্তমান setup-এ আলাদা WebSocket port দরকার নেই।

4. Vaultwarden চালু করুন

docker compose up -d
docker compose ps
docker compose logs --tail=100 caddy

https://vault.example.com খুলুন। DNS VPS-এ point করা এবং port 80 ও 443 accessible থাকলে Caddy স্বয়ংক্রিয়ভাবে TLS certificate নেবে। Site না খুললে DNS, firewall এবং অন্য web server port-গুলো ব্যবহার করছে কি না check করুন।

5. Account তৈরি করে registration বন্ধ করুন

প্রথম account register করুন। দীর্ঘ, unique master password ব্যবহার করুন এবং Vaultwarden-এর বাইরে emergency copy রাখুন: server administrator master password reset বা recover করতে পারেন না।

Registration-এর পরে compose.yaml-এ নিচের setting বদলান:

SIGNUPS_ALLOWED: "false"

Setting apply করুন:

docker compose up -d

এখন অন্যরা account তৈরি করতে পারবে না। নতুন user যোগ করতে registration সাময়িকভাবে enable করতে পারেন বা invitation configure করতে পারেন।

Bitwarden application কীভাবে connect করবেন

আলাদা Vaultwarden client install করার দরকার নেই। Bitwarden application বা extension-এর sign-in screen-এ Self-hosted বেছে নিয়ে লিখুন:

https://vault.example.com

Computer, phone ও browser-এ এই address ব্যবহার করুন। Migration-এর জন্য আগের password manager থেকে export import করুন। Transfer-এর পরই unencrypted CSV বা JSON file delete করুন এবং email বা public link-এর মাধ্যমে পাঠাবেন না।

Vaultwarden-এর নিরাপদ configuration

Launch-এর পরে কয়েকটি কাজ করুন:

  • TOTP বা WebAuthn চালু করে recovery code আলাদা রাখুন;
  • SIGNUPS_ALLOWED disabled রাখুন;
  • SSH key ব্যবহার করে Ubuntu নিয়মিত update করুন;
  • Vaultwarden container-এর internal port expose করবেন না;
  • একই VPS-এ questionable container চালাবেন না;
  • Backup restore করা যায় কি না যাচাই করুন।

Personal vault-এর জন্য /admin panel সাধারণত অপ্রয়োজনীয়। চালু করলে Argon2 hash-এর form-এ দীর্ঘ token ব্যবহার করুন এবং সম্ভব হলে IP address বা VPN দিয়ে access সীমিত করুন। Plain-text ADMIN_TOKEN রাখা উচিত নয়।

Update-এর আগে backup তৈরি করে চালান:

cd /opt/vaultwarden
docker compose pull
docker compose up -d

Server নিয়মিত update করা উচিত: Bitwarden client আলাদাভাবে release হয়, তাই খুব পুরোনো Vaultwarden version-এর সঙ্গে compatibility নষ্ট হতে পারে।

Vaultwarden backup

Main SQLite database vw-data/db.sqlite3-এ থাকে, আর attachment আলাদা file হিসেবে সংরক্ষিত হয়। Running database সাধারণ cp command দিয়ে copy করবেন না: সেই মুহূর্তে write operation হলে copy inconsistent হতে পারে।

Built-in command দিয়ে নিরাপদ snapshot তৈরি করুন:

docker exec vaultwarden /vaultwarden backup

Data directory-তে আলাদা db_.sqlite3 file তৈরি হবে। এর সঙ্গে attachments, sends, তৈরি হয়ে থাকলে config.json এবং rsa_key file-ও সংরক্ষণ করুন।

একই VPS-এ থাকা backup server delete বা disk failure থেকে সুরক্ষা দেয় না। Copy-গুলো অন্য device বা আলাদা object storage-এ automatic পাঠান, সম্ভব হলে additional encryption-সহ। নিয়মিত test restoration করুন।

Vaultwarden-এর জন্য কোন VPS বেছে নেবেন

Personal বা family vault-এর জন্য 2 GB RAM-সহ basic Linux VPS যথেষ্ট। Ubuntu, Docker, Caddy, update ও automated backup-এর জন্য এটি অতিরিক্ত capacity দেয়।

tropic.host-এর entry-level VPS-এ Vaultwarden চালিয়ে পরে server-এ অন্য self-hosted service যোগ হলে resource বাড়াতে পারেন। Password manager-এর জন্য extra CPU core-এর চেয়ে stable network, permanent public address ও reliable disk বেশি গুরুত্বপূর্ণ।

Home server-ও উপযুক্ত, তবে external access, HTTPS, stable power এবং failure-এর পরে recovery নিশ্চিত করতে হবে। যেকোনো network থেকে vault কাজ করা দরকার হলে VPS সাধারণত সহজ।

উপসংহার

Vaultwarden হলো self-hosted password manager, যা নিজের infrastructure-এ server-side রেখে Bitwarden client ব্যবহার করতে দেয়। শুরু করার জন্য ছোট VPS, domain, Docker Compose ও Caddy যথেষ্ট।

Installation-এর পরেই মূল দায়িত্ব শুরু: registration বন্ধ করুন, 2FA চালু করুন, container update করুন এবং server-এর বাইরে tested backup রাখুন।

FAQ

Domain ছাড়া Vaultwarden install করা যায়?

Technical ভাবে local address ব্যবহার করা যায়, কিন্তু web vault-এর জন্য secure HTTPS context দরকার। বিভিন্ন device থেকে access-এর ক্ষেত্রে domain ও TLS certificate ব্যবহার করা সহজ।

Vaultwarden-এর কত RAM দরকার?

এক বা কয়েকজন user-এর জন্য 1 GB RAM সাধারণত যথেষ্ট। 2 GB VPS system, Docker, Caddy ও update-এর জন্য বেশি আরামদায়ক reserve দেয়।

Vaultwarden কি Bitwarden mobile application-এর সঙ্গে কাজ করে?

হ্যাঁ। Sign-in screen-এ self-hosted server বেছে নিয়ে Vaultwarden instance-এর সম্পূর্ণ HTTPS address লিখুন।

VPS সাময়িকভাবে unavailable হলে কী হবে?

আগে synchronize হওয়া data সাধারণত client-এর local encrypted cache-এ থাকে। তবে server restore না হওয়া পর্যন্ত synchronization, নতুন device-এ sign-in এবং change পাওয়া কাজ করবে না।

/admin দিয়ে ভুলে যাওয়া master password recover করা যায়?

না। Administrator server ও account manage করতে পারেন, কিন্তু user vault-এর decryption key তার কাছে থাকে না। Master password ও recovery code আলাদা করে সংরক্ষণ করতে হবে।

Vaultwarden: কী এবং VPS-এ কীভাবে ইনস্টল করবেন