Tropic Host

Vaultwarden: nədir və VPS-ə necə quraşdırılır

7 dəqiqə oxu
Tropic
Vaultwarden: nədir və VPS-ə necə quraşdırılır

Language: az

Vaultwarden: VPS-də şəxsi parol menecerinin quraşdırılması

Vaultwarden parolları öz serverinizdə saxlamağa və onları kompüter, telefon və brauzer arasında sinxronlaşdırmağa imkan verir. O, rəsmi Bitwarden tətbiqləri və genişləndirmələri ilə işləyir; həmin tətbiqlərdə öz serverinizin ünvanını göstərirsiniz.

Aşağıda Vaultwarden üçün hansı VPS-in lazım olduğunu, onu Ubuntu-da Docker Compose ilə necə işə salmağı, açıq qeydiyyatı söndürməyi, HTTPS-i aktivləşdirməyi və ehtiyat nüsxələrini konfiqurasiya etməyi nəzərdən keçirəcəyik.

Vaultwarden beş addımda

Minimum işə salma planı:

  1. Ubuntu ilə VPS yaradın və ona subdomen yönləndirin, məsələn vault.example.com.
  2. Docker və Docker Compose quraşdırın.
  3. Avtomatik HTTPS üçün Vaultwarden-i Caddy ilə birlikdə işə salın.
  4. İlk hesabı yaradın və açıq qeydiyyatı söndürün.
  5. İki faktorlu autentifikasiyanı, yeniləmələri və ehtiyat nüsxələrini aktivləşdirin.

Şəxsi kassa və ya kiçik ailə üçün daxili SQLite verilənlər bazası kifayətdir. Ayrı PostgreSQL serveri adətən lazım deyil.

Vaultwarden nədir

Vaultwarden Rust dilində yazılmış və self-hosted yerləşdirmə üçün nəzərdə tutulmuş Bitwarden API-nin qeyri-rəsmi server tətbiqidir. O, rəsmi Bitwarden müştəriləri ilə uyğundur: veb interfeysi, mobil və masaüstü tətbiqləri, brauzer genişləndirmələri və CLI.

Kassadakı məlumatlar serverə göndərilməzdən əvvəl istifadəçinin cihazında şifrələnir. VPS şifrələnmiş verilənlər bazasını sinxronlaşdırır, lakin əsas parolu bilmir və parol itirilərsə onu bərpa edə bilmir.

Vaultwarden rəsmi Bitwarden məhsulu deyil. Yeniləmələr, əlçatanlıq, HTTPS, ehtiyat nüsxələri və VPS təhlükəsizliyinə görə şəxsən server sahibi məsuldur.

Vaultwarden və Bitwarden: fərq nədir

ParametrBitwarden CloudVaultwarden
ServerBitwarden infrastrukturuSizin VPS və ya ev serveriniz
TətbiqlərBitwarden müştəriləriSelf-hosted rejimində eyni müştərilər
Texniki xidmətProvayder həyata keçirirSahib həyata keçirir
Ehtiyat nüsxələrinə nəzarətXidmətlə məhdudlaşırTam
QuraşdırmaHesab qeydiyyatıDomen, Docker və VPS konfiqurasiyası

Vaultwarden server tərəfinə nəzarət etmək və Linux-u yeniləyib ehtiyat nüsxələrini yoxlamaq istəyənlər üçün uyğundur. Administrasiya ilə məşğul olmaq istəmirsinizsə, bulud xidməti daha praktikdir. Self-hosting sistemi avtomatik olaraq təhlükəsiz etmir — məsuliyyəti sahibə ötürür.

Vaultwarden server tələbləri

Şəxsi istifadə üçün münasib başlanğıc konfiqurasiyası:

  • 1 vCPU;
  • 1–2 GB RAM;
  • 10–20 GB SSD və ya NVMe;
  • Ubuntu 24.04 LTS;
  • ictimai IP ünvanı və domen;
  • açıq 80 və 443 portları.

Bu, Ubuntu, Docker, Caddy və yeniləmələr üçün praktik ehtiyatdır, layihənin sərt minimum tələbi deyil. Onlarla istifadəçi, çoxlu əlavə fayl və ya bir neçə konteyner üçün ən azı 2 GB RAM seçmək daha yaxşıdır.

Vaultwarden-i VPS-ə necə quraşdırmaq olar

Bu nümunədə Ubuntu 24.04 və vault.example.com subdomenindən istifadə edilir. Bütün fayllarda onu öz ünvanınızla əvəz edin.

1. DNS-i konfiqurasiya edin və Ubuntu-nu hazırlayın

VPS-in IPv4 ünvanına yönələn A DNS yazısı yaradın. Sonra SSH vasitəsilə qoşulun:

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

Yeni bağlantının işlədiyini yoxlayana qədər mövcud SSH sessiyasını bağlamayın.

2. Docker və Docker Compose quraşdırın

Rəsmi Docker repozitoriyasını əlavə edin:

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. Konfiqurasiyanı yaradın

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

compose.yaml yaradın:

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 yaradın:

vault.example.com {
    reverse_proxy vaultwarden:80
}

Xaricə yalnız Caddy açılır. Vaultwarden konteynerinə daxili Docker şəbəkəsindən daxil olmaq mümkündür və məlumatlar /opt/vaultwarden/vw-data daxilində saxlanılır. Mövcud quraşdırmada ayrıca WebSocket portu tələb olunmur.

4. Vaultwarden-i işə salın

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

https://vault.example.com ünvanını açın. DNS artıq VPS-ə yönəlirsə və 80 və 443 portları əlçatandırsa, Caddy avtomatik TLS sertifikatı alacaq. Sayt açılmırsa, DNS-i, firewall-ı və həmin portlardan başqa veb serverin istifadə edib-etmədiyini yoxlayın.

5. Hesab yaradın və qeydiyyatı söndürün

İlk hesabı qeydiyyatdan keçirin. Uzun, unikal əsas paroldan istifadə edin və Vaultwarden-dən kənarda fövqəladə ehtiyat nüsxə saxlayın: server administratoru əsas parolu sıfırlaya və ya bərpa edə bilməz.

Qeydiyyatdan sonra compose.yaml daxilində aşağıdakı dəyəri dəyişin:

SIGNUPS_ALLOWED: "false"

Parametri tətbiq edin:

docker compose up -d

Artıq başqa şəxslər hesab yarada bilməyəcək. Yeni istifadəçi əlavə etmək üçün qeydiyyatı müvəqqəti aktivləşdirin və ya dəvətləri konfiqurasiya edin.

Bitwarden tətbiqini necə qoşmaq olar

Ayrıca Vaultwarden müştərisi quraşdırmağa ehtiyac yoxdur. Bitwarden tətbiqinin və ya genişləndirməsinin giriş ekranında Self-hosted seçin və bu ünvanı daxil edin:

https://vault.example.com

Bu ünvandan kompüterdə, telefonda və brauzerdə istifadə edin. Köçürmə üçün əvvəlki parol menecerinizdən ixrac edilmiş məlumatları idxal edin. Şifrələnməmiş CSV və ya JSON faylını köçürmədən dərhal sonra silin və onu e-poçtla və ya ictimai keçidlər vasitəsilə göndərməyin.

Vaultwarden-in təhlükəsiz konfiqurasiyası

İşə saldıqdan sonra bir neçə addım atın:

  • TOTP və ya WebAuthn aktivləşdirin, bərpa kodlarını ayrıca saxlayın;
  • SIGNUPS_ALLOWED parametrini söndürülmüş saxlayın;
  • SSH açarlarından istifadə edin və Ubuntu-nu müntəzəm yeniləyin;
  • Vaultwarden konteynerinin daxili portunu xaricə açmayın;
  • eyni VPS-də şübhəli konteynerlər işə salmayın;
  • ehtiyat nüsxələrinin bərpa edilə bildiyini yoxlayın.

/admin paneli şəxsi kassa üçün adətən lazım deyil. Onu aktivləşdirsəniz, Argon2 heşi formasında uzun tokendən istifadə edin və mümkün olduqda girişi IP ünvanı və ya VPN ilə məhdudlaşdırın. Sadə mətn şəklində ADMIN_TOKEN saxlamaq məsləhət deyil.

Yeniləmədən əvvəl ehtiyat nüsxəsi yaradın, sonra bu əmrləri icra edin:

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

Server müntəzəm yenilənməlidir: Bitwarden müştəriləri müstəqil buraxılır, buna görə Vaultwarden-in çox köhnə versiyası onlarla uyğunluğu itirə bilər.

Vaultwarden üçün ehtiyat nüsxələri

Əsas SQLite verilənlər bazası vw-data/db.sqlite3 ünvanında yerləşir, əlavə fayllar isə ayrıca fayllar kimi saxlanılır. İşləyən verilənlər bazasını adi cp əmri ilə kopyalamayın: həmin anda aparılan yazma əməliyyatı nüsxəni uyğunsuz edə bilər.

Daxili əmrlə təhlükəsiz snapshot yaradın:

docker exec vaultwarden /vaultwarden backup

Məlumat kataloqunda ayrıca db_.sqlite3 faylı görünəcək. Onunla birlikdə attachments, sends, yaradılıbsa config.json və rsa_key fayllarını saxlayın.

Eyni VPS-dəki ehtiyat nüsxəsi serverin silinməsindən və ya disk nasazlığından qoruy​ur. Nüsxələri avtomatik olaraq başqa cihaza və ya ayrıca obyekt yaddaşına göndərin, imkan olduqda əlavə şifrələmədən istifadə edin. Vaxtaşırı sınaq bərpası həyata keçirin.

Vaultwarden üçün hansı VPS-i seçmək lazımdır

2 GB RAM-li əsas Linux VPS şəxsi və ya ailə kassası üçün kifayətdir. Bu, Ubuntu, Docker, Caddy, yeniləmələr və avtomatik ehtiyat nüsxələri üçün əlavə resurs ehtiyatı yaradır.

Vaultwarden-i tropic.host-in başlanğıc səviyyəli VPS-ində işlədə və serverə başqa self-hosted xidmətlər əlavə etdikdə resursları sonradan artıra bilərsiniz. Parol meneceri üçün əlavə CPU nüvələrindən daha vacib olan sabit şəbəkə, daimi ictimai ünvan və etibarlı diskdir.

Ev serveri də uyğundur, lakin bu halda xarici girişi, HTTPS-i, sabit enerji təchizatını və nasazlıqlardan sonra bərpanı özünüz təmin etməlisiniz. Kassa istənilən şəbəkədən işləməlidirsə, VPS adətən daha sadədir.

Nəticə

Vaultwarden Bitwarden müştərilərindən istifadə etmək, server tərəfini isə öz infrastrukturunda saxlamaq istəyənlər üçün rahat self-hosted parol meneceridir. Başlamaq üçün kiçik VPS, domen, Docker Compose və Caddy kifayətdir.

Əsas məsuliyyət quraşdırmadan sonra başlayır: qeydiyyatı söndürün, 2FA-nı aktivləşdirin, konteynerləri yeniləyin və serverdən kənarda yoxlanılmış ehtiyat nüsxələrini saxlayın.

FAQ

Vaultwarden-i domen olmadan quraşdırmaq olar?

Texniki olaraq lokal ünvandan istifadə edə bilərsiniz, lakin veb kassa təhlükəsiz HTTPS mühiti tələb edir. Müxtəlif cihazlardan giriş üçün domen və TLS sertifikatından istifadə daha sadədir.

Vaultwarden-ə nə qədər RAM lazımdır?

Bir və ya bir neçə istifadəçi üçün adətən 1 GB RAM kifayətdir. 2 GB-li VPS sistem, Docker, Caddy və yeniləmələr üçün daha rahat ehtiyat yaradır.

Vaultwarden Bitwarden mobil tətbiqi ilə işləyirmi?

Bəli. Giriş ekranında self-hosted server seçin və Vaultwarden nümunənizin tam HTTPS ünvanını daxil edin.

VPS müvəqqəti əlçatmaz olarsa nə baş verir?

Əvvəl sinxronlaşdırılmış məlumatlar adətən müştərinin yerli şifrələnmiş keşində qalır. Lakin server bərpa edilənədək sinxronizasiya, yeni cihazdan giriş və dəyişikliklərin alınması işləməyəcək.

Unudulmuş əsas parolu /admin vasitəsilə bərpa etmək olar?

Xeyr. Administrator serveri və hesabları idarə edə bilər, lakin istifadəçi kassasını açan deşifrləmə açarına malik deyil. Əsas parol və bərpa kodları ayrıca saxlanmalıdır.