Tropic Host

Vaultwarden: u nima va uni VPS serveriga qanday o‘rnatish kerak

5 daqiqa o‘qish
Tropic
Vaultwarden: u nima va uni VPS serveriga qanday o‘rnatish kerak

Language: uz

Vaultwarden: VPS serverida shaxsiy parol menejerini o‘rnatish

Vaultwarden parollarni o‘z serveringizda saqlash va ularni kompyuter, telefon hamda brauzer o‘rtasida sinxronlash imkonini beradi. U rasmiy Bitwarden ilovalari va kengaytmalari bilan ishlaydi; ularda o‘z serveringiz manzilini ko‘rsatasiz.

Quyida Vaultwarden uchun qanday VPS kerakligi, uni Docker Compose bilan Ubuntu’da ishga tushirish, ochiq ro‘yxatdan o‘tishni o‘chirish, HTTPS’ni yoqish va zaxira nusxalarini sozlashni ko‘rib chiqamiz.

Vaultwarden besh bosqichda

Ishga tushirishning minimal rejasi:

  1. Ubuntu o‘rnatilgan VPS yarating va unga, masalan, vault.example.com kabi subdomenni yo‘naltiring.
  2. Docker va Docker Compose’ni o‘rnating.
  3. Avtomatik HTTPS uchun Vaultwarden’ni Caddy bilan birga ishga tushiring.
  4. Birinchi hisobni yarating va ochiq ro‘yxatdan o‘tishni o‘chiring.
  5. Ikki bosqichli autentifikatsiya, yangilanishlar va zaxira nusxalarini yoqing.

Shaxsiy seyf yoki kichik oila uchun o‘rnatilgan SQLite ma’lumotlar bazasi yetarli. Alohida PostgreSQL serveri odatda kerak bo‘lmaydi.

Vaultwarden nima?

Vaultwarden — Rust tilida yozilgan va o‘z serverida joylashtirish uchun mo‘ljallangan Bitwarden API’ning norasmiy server implementatsiyasi. U Bitwarden’ning rasmiy mijozlari: veb-interfeys, mobil va ish stoli ilovalari, brauzer kengaytmalari hamda CLI bilan mos keladi.

Seyf ma’lumotlari serverga yuborilishidan oldin foydalanuvchi qurilmasida shifrlanadi. VPS shifrlangan ma’lumotlar bazasini sinxronlaydi, ammo master-parolni bilmaydi va u yo‘qolsa, uni tiklay olmaydi.

Vaultwarden Bitwarden’ning rasmiy mahsuloti emas. Yangilanishlar, mavjudlik, HTTPS, zaxira nusxalari va VPS xavfsizligi uchun egasining o‘zi javob beradi.

Vaultwarden va Bitwarden: farqi nimada?

ParametrBitwarden CloudVaultwarden
ServerBitwarden infratuzilmasiSizning VPS yoki uy serveringiz
IlovalarBitwarden mijozlariSelf-hosted rejimidagi o‘sha mijozlar
Texnik xizmatProvayder tomonidan boshqariladiEgasi tomonidan boshqariladi
Zaxira nusxalarini nazorat qilishXizmat tomonidan cheklanganTo‘liq
SozlashHisobni ro‘yxatdan o‘tkazishDomen, Docker va VPS konfiguratsiyasi

Vaultwarden server qismini nazorat qilishni istaydigan va Linux’ni yangilash hamda zaxiralarni tekshirishga tayyor foydalanuvchilar uchun mos. Boshqaruv bilan shug‘ullanishni istamasangiz, bulut xizmati amaliyroq. O‘z serverida joylashtirish tizimni avtomatik ravishda xavfsiz qilmaydi — mas’uliyat egasiga o‘tadi.

Vaultwarden serveriga qo‘yiladigan talablar

Shaxsiy foydalanish uchun quyidagi boshlang‘ich konfiguratsiya ma’qul:

  • 1 vCPU;
  • 1–2 GB RAM;
  • 10–20 GB SSD yoki NVMe;
  • Ubuntu 24.04 LTS;
  • umumiy IP manzili va domen;
  • 80 va 443 portlari ochiq.

Bu Ubuntu, Docker, Caddy va yangilanishlar uchun amaliy zaxira bo‘lib, loyihaning qat’iy minimal talabi emas. O‘nlab foydalanuvchilar, ko‘p sonli biriktirmalar yoki bir nechta konteyner uchun kamida 2 GB RAM tanlagan ma’qul.

VPS serverida Vaultwarden’ni qanday o‘rnatish kerak?

Bu misolda Ubuntu 24.04 va vault.example.com subdomenidan foydalaniladi. Barcha fayllarda uni o‘z manzilingiz bilan almashtiring.

1. DNS’ni sozlang va Ubuntu’ni tayyorlang

VPS’ning IPv4 manziliga yo‘naltiruvchi A turidagi DNS yozuvini yarating. Keyin SSH orqali ulaning:

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

Yangi ulanish ishlashini tekshirmaguningizcha joriy SSH sessiyasini yopmang.

2. Docker va Docker Compose’ni o‘rnating

Rasmiy Docker repozitoriysini qo‘shing:

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. Konfiguratsiyani yarating

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

compose.yaml faylini yarating:

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 faylini yarating:

vault.example.com {
    reverse_proxy vaultwarden:80
}

Tashqariga faqat Caddy ochilgan. Vaultwarden konteyneriga Docker tarmog‘i ichidan kirish mumkin, ma’lumotlar esa /opt/vaultwarden/vw-data ichida saqlanadi. Joriy sozlamada alohida WebSocket porti kerak emas.

4. Vaultwarden’ni ishga tushiring

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

https://vault.example.com. Bu manzilni oching. DNS VPS’ga yo‘naltirilgan va 80 hamda 443 portlari ochiq bo‘lsa, Caddy TLS sertifikatini avtomatik oladi. Sayt ochilmasa, DNS, firewall va bu portlardan boshqa veb-server foydalanmayotganini tekshiring.

5. Hisob yarating va ro‘yxatdan o‘tishni o‘chiring

Birinchi hisobni ro‘yxatdan o‘tkazing. Uzun va noyob master-paroldan foydalaning hamda favqulodda nusxani Vaultwarden’dan tashqarida saqlang: server administratori master-parolni tiklay yoki qayta o‘rnata olmaydi.

Ro‘yxatdan o‘tgach, compose.yaml ichidagi quyidagi qatorni o‘zgartiring:

SIGNUPS_ALLOWED: "false"

Sozlamani qo‘llang:

docker compose up -d

Endi boshqa odamlar hisob yarata olmaydi. Yangi foydalanuvchi qo‘shish uchun ro‘yxatdan o‘tishni vaqtincha yoqing yoki taklifnomalarni sozlang.

Bitwarden ilovasini qanday ulash kerak?

Alohida Vaultwarden mijozini o‘rnatish shart emas. Bitwarden ilovasi yoki kengaytmasining kirish ekranida Self-hosted ni tanlang va quyidagini kiriting:

https://vault.example.com

Bu manzildan kompyuter, telefon va brauzeringizda foydalaning. Ko‘chirish uchun avvalgi parol menejeridan eksport qilingan faylni import qiling. Shifrlanmagan CSV yoki JSON faylini o‘tkazishdan keyin darhol o‘chiring va uni elektron pochta yoki umumiy havolalar orqali yubormang.

Vaultwarden’ni xavfsiz sozlash

Ishga tushirgandan keyin quyidagi amallarni bajaring:

  • TOTP yoki WebAuthn’ni yoqing va tiklash kodlarini alohida saqlang;
  • SIGNUPS_ALLOWED o‘chirilgan holda qolsin;
  • SSH kalitlaridan foydalaning va Ubuntu’ni muntazam yangilang;
  • Vaultwarden konteynerining ichki portini tashqariga ochmang;
  • shubhali konteynerlarni shu VPS’da ishga tushirmang;
  • zaxira nusxalarini tiklash mumkinligini tekshiring.

Shaxsiy seyf uchun /admin paneli odatda kerak emas. Uni yoqsangiz, Argon2 xeshi ko‘rinishidagi uzun token ishlating va imkon qadar kirishni IP manzili yoki VPN bo‘yicha cheklang. Oddiy matn ko‘rinishidagi ADMIN_TOKEN ni saqlash tavsiya etilmaydi.

Yangilashdan oldin zaxira yarating, so‘ng quyidagilarni bajaring:

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

Serverni muntazam yangilang: Bitwarden mijozlari mustaqil ravishda chiqariladi, shuning uchun juda eski Vaultwarden versiyasi ular bilan mosligini yo‘qotishi mumkin.

Vaultwarden’ni zaxiralash

Asosiy SQLite ma’lumotlar bazasi vw-data/db.sqlite3 ichida, biriktirmalar esa alohida fayllar sifatida saqlanadi. Ishlayotgan ma’lumotlar bazasini oddiy cp buyrug‘i bilan ko‘chirmang: ayni vaqtdagi yozish operatsiyasi nusxani nomuvofiq holga keltirishi mumkin.

O‘rnatilgan buyruq yordamida xavfsiz snapshot yarating:

docker exec vaultwarden /vaultwarden backup

Ma’lumotlar katalogida alohida db_.sqlite3 fayli paydo bo‘ladi. U bilan birga attachments, sends, yaratilgan bo‘lsa config.json va rsa_key fayllarini ham saqlang.

Bitta VPS’dagi zaxira server o‘chirilishi yoki disk ishdan chiqishidan himoya qilmaydi. Nusxalarni avtomatik ravishda boshqa qurilmaga yoki alohida obyekt xotirasiga yuboring, yaxshisi qo‘shimcha shifrlashdan foydalaning. Vaqti-vaqti bilan tiklashni sinab ko‘ring.

Vaultwarden uchun qaysi VPS’ni tanlash kerak?

2 GB RAM’li oddiy Linux VPS shaxsiy yoki oilaviy seyf uchun yetarli. Bu Ubuntu, Docker, Caddy, yangilanishlar va avtomatik zaxiralar uchun qo‘shimcha imkon beradi.

Vaultwarden’ni tropic.host ning boshlang‘ich VPS’ida ishga tushirib, keyin serverga boshqa self-hosted xizmatlar qo‘shsangiz, resurslarni oshirishingiz mumkin. Parol menejeri uchun qo‘shimcha CPU yadrolaridan ko‘ra barqaror tarmoq, doimiy umumiy manzil va ishonchli disk muhimroq.

Uy serveri ham mos keladi, ammo bunda tashqi kirish, HTTPS, barqaror elektr ta’minoti va nosozliklardan keyingi tiklashni o‘zingiz ta’minlashingiz kerak. Seyf istalgan tarmoqdan ishlashi zarur bo‘lsa, VPS odatda soddaroq.

Xulosa

Vaultwarden — server qismini o‘z infratuzilmasida saqlagan holda Bitwarden mijozlaridan foydalanishni istaganlar uchun qulay self-hosted parol menejeri. Boshlash uchun kichik VPS, domen, Docker Compose va Caddy yetarli.

Asosiy mas’uliyat o‘rnatishdan keyin boshlanadi: ro‘yxatdan o‘tishni o‘chiring, 2FA’ni yoqing, konteynerlarni yangilang va serverdan tashqarida tekshirilgan zaxiralarni saqlang.

FAQ

Vaultwarden’ni domainsiz o‘rnatish mumkinmi?

Texnik jihatdan lokal manzildan foydalanish mumkin, ammo veb seyf xavfsiz HTTPS kontekstini talab qiladi. Turli qurilmalardan kirish uchun domen va TLS sertifikatidan foydalanish osonroq.

Vaultwarden’ga qancha RAM kerak?

Bitta yoki bir nechta foydalanuvchi uchun odatda 1 GB RAM yetarli. 2 GB’li VPS tizim, Docker, Caddy va yangilanishlar uchun qulayroq zaxira beradi.

Vaultwarden Bitwarden mobil ilovasi bilan ishlaydimi?

Ha. Kirish ekranida self-hosted serverni tanlang va Vaultwarden instansingizning to‘liq HTTPS manzilini kiriting.

VPS vaqtincha ishlamasa nima bo‘ladi?

Avval sinxronlangan ma’lumotlar odatda mijozning lokal shifrlangan keshida qoladi. Biroq server tiklanguncha sinxronlash, yangi qurilmada kirish va o‘zgarishlarni qabul qilish ishlamaydi.

Unutilgan master-parolni /admin orqali tiklash mumkinmi?

Yo‘q. Administrator server va hisoblarni boshqarishi mumkin, ammo foydalanuvchi seyfidagi shifrni ochish kalitiga ega emas. Master-parol va tiklash kodlari alohida saqlanishi kerak.