Tropic Host

Vaultwarden: бұл не және оны VPS-ке қалай орнатуға болады

5 мин оқу
Tropic
Vaultwarden: бұл не және оны VPS-ке қалай орнатуға болады

Language: kk

Vaultwarden: VPS-ке жеке құпиясөз менеджерін орнату

Vaultwarden құпиясөздерді өз серверіңізде сақтап, оларды компьютер, телефон және браузер арасында синхрондауға мүмкіндік береді. Ол Bitwarden-нің ресми қолданбалары мен кеңейтімдерімен жұмыс істейді, ал сол жерлерде өз серверіңіздің мекенжайын көрсетесіз.

Төменде Vaultwarden-ге қандай VPS керегін, оны Ubuntu жүйесінде Docker Compose арқылы іске қосуды, ашық тіркелуді өшіруді, HTTPS қосуды және резервтік көшірмелерді баптауды қарастырамыз.

Vaultwarden бес қадамда

Іске қосудың минималды жоспары:

  1. Ubuntu бар VPS жасап, оған қосалқы доменді бағыттаңыз, мысалы vault.example.com.
  2. Docker және Docker Compose орнатыңыз.
  3. Автоматты HTTPS үшін Vaultwarden-ді Caddy-мен бірге іске қосыңыз.
  4. Бірінші есептік жазбаны жасап, ашық тіркелуді өшіріңіз.
  5. Екі факторлы аутентификацияны, жаңартуларды және резервтік көшірмелерді қосыңыз.

Жеке қойма немесе шағын отбасы үшін кірістірілген SQLite дерекқоры жеткілікті. Бөлек PostgreSQL сервері әдетте қажет емес.

Vaultwarden деген не

Vaultwarden — Rust тілінде жазылған және self-hosted орнатуға арналған Bitwarden API-інің ресми емес серверлік іске асырылуы. Ол Bitwarden-нің ресми клиенттерімен: веб-интерфейспен, мобильді және компьютерлік қолданбалармен, браузер кеңейтімдерімен және CLI-мен үйлесімді.

Қоймадағы деректер серверге жіберілмес бұрын пайдаланушының құрылғысында шифрланады. VPS шифрланған дерекқорды синхрондайды, бірақ негізгі құпиясөзді білмейді және ол жоғалса, қалпына келтіре алмайды.

Vaultwarden Bitwarden-нің ресми өнімі емес. Жаңартуларға, қолжетімділікке, HTTPS-ке, резервтік көшірмелерге және VPS қауіпсіздігіне иесі өзі жауап береді.

Vaultwarden және Bitwarden: айырмашылығы неде

ПараметрBitwarden CloudVaultwarden
СерверBitwarden инфрақұрылымыСіздің VPS немесе үй серверіңіз
ҚолданбаларBitwarden клиенттеріSelf-hosted режиміндегі сол клиенттер
Қызмет көрсетуПровайдер орындайдыИесі орындайды
Резервтік көшірмелерді бақылауҚызмет шектейдіТолық
БаптауЕсептік жазбаны тіркеуДомен, Docker және VPS конфигурациясы

Vaultwarden сервер жағын бақылағысы келетін және Linux-ті жаңартып, резервтік көшірмелерді тексеруге дайын пайдаланушыларға қолайлы. Әкімшілікпен айналысқыңыз келмесе, бұлтты қызмет практикалық болуы мүмкін. Self-hosting жүйені автоматты түрде қауіпсіз етпейді — жауапкершілікті иесіне береді.

Vaultwarden серверіне қойылатын талаптар

Жеке пайдалану үшін қолайлы бастапқы конфигурация:

  • 1 vCPU;
  • 1–2 GB RAM;
  • 10–20 GB SSD немесе NVMe;
  • Ubuntu 24.04 LTS;
  • жалпыға ашық IP мекенжайы және домен;
  • ашық 80 және 443 порттары.

Бұл Ubuntu, Docker, Caddy және жаңартуларға арналған практикалық қор, жобаның қатаң минималды талабы емес. Ондаған пайдаланушы, көп тіркеме немесе бірнеше контейнер болса, кемінде 2 GB RAM таңдаған дұрыс.

Vaultwarden-ді VPS-ке қалай орнатуға болады

Мысалда Ubuntu 24.04 және vault.example.com қосалқы домені қолданылады. Оны барлық файлда өз мекенжайыңызбен ауыстырыңыз.

1. DNS-ті баптап, Ubuntu-ды дайындау

VPS-тің IPv4 мекенжайына бағытталған A DNS жазбасын жасаңыз. Содан кейін SSH арқылы қосылыңыз:

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

Жаңа қосылым жұмыс істейтініне көз жеткізбейінше, қазіргі SSH сеансын жаппаңыз.

2. Docker және Docker Compose орнату

Docker-дің ресми репозиторийін қосыңыз:

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. Конфигурация жасау

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 шығарылады. Vaultwarden контейнері ішкі Docker желісінде қолжетімді, ал деректер /opt/vaultwarden/vw-data ішінде сақталады. Қазіргі конфигурацияда бөлек WebSocket порты қажет емес.

4. Vaultwarden-ді іске қосу

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

https://vault.example.com мекенжайын ашыңыз. DNS VPS-ке бағытталып, 80 және 443 порттары қолжетімді болса, Caddy TLS сертификатын автоматты түрде алады. Сайт ашылмаса, DNS-ті, firewall-ды және бұл порттарды басқа веб-сервер қолданып тұрмағанын тексеріңіз.

5. Есептік жазба жасап, тіркелуді өшіру

Бірінші есептік жазбаны тіркеңіз. Ұзын әрі бірегей негізгі құпиясөз қолданыңыз және Vaultwarden-нен тыс жерде төтенше жағдайға арналған көшірме сақтаңыз: сервер әкімшісі негізгі құпиясөзді қалпына келтіре немесе қайтара алмайды.

Тіркелгеннен кейін compose.yaml ішіндегі мына мәнді өзгертіңіз:

SIGNUPS_ALLOWED: "false"

Баптауды қолданыңыз:

docker compose up -d

Енді басқа адамдар есептік жазба жасай алмайды. Жаңа пайдаланушы қосу үшін тіркелуді уақытша қосыңыз немесе шақыруларды баптаңыз.

Bitwarden қолданбасын қалай қосуға болады

Бөлек Vaultwarden клиентін орнатудың қажеті жоқ. Bitwarden қолданбасының немесе кеңейтімінің кіру экранында Self-hosted таңдаңыз да, мына мекенжайды енгізіңіз:

https://vault.example.com

Бұл мекенжайды компьютерде, телефонда және браузерде қолданыңыз. Көшіру үшін бұрынғы құпиясөз менеджерінен экспортталған деректерді импорттаңыз. Шифрланбаған CSV немесе JSON файлын тасымалдаудан кейін бірден жойыңыз және оны электрондық поштаға немесе ашық сілтемелер арқылы жібермеңіз.

Vaultwarden-ді қауіпсіз баптау

Іске қосқаннан кейін бірнеше қадам жасаңыз:

  • TOTP немесе WebAuthn қосып, қалпына келтіру кодтарын бөлек сақтаңыз;
  • SIGNUPS_ALLOWED параметрін өшірулі қалдырыңыз;
  • SSH кілттерін пайдаланып, Ubuntu-ды тұрақты жаңартыңыз;
  • Vaultwarden контейнерінің ішкі портын сыртқа ашпаңыз;
  • бір VPS-те күмәнді контейнерлерді іске қоспаңыз;
  • резервтік көшірмелерді қалпына келтіруге болатынын тексеріңіз.

/admin панелі жеке қойма үшін әдетте қажет емес. Оны қоссanız, Argon2 хеші түріндегі ұзын токенді пайдаланып, мүмкін болса, қолжетімділікті IP мекенжайы немесе VPN арқылы шектеңіз. Ашық мәтін түріндегі ADMIN_TOKEN мәнін сақтау дұрыс емес.

Жаңартудан бұрын резервтік көшірме жасаңыз да, мына пәрмендерді орындаңыз:

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

Серверді тұрақты жаңартып тұру керек: Bitwarden клиенттері бөлек шығарылады, сондықтан Vaultwarden-нің өте ескі нұсқасы олармен үйлесімділігін жоғалтуы мүмкін.

Vaultwarden резервтік көшірмелері

Негізгі SQLite дерекқоры vw-data/db.sqlite3 жолында орналасады, ал тіркемелер бөлек файлдар ретінде сақталады. Жұмыс істеп тұрған дерекқорды қарапайым cp пәрменімен көшірмеңіз: сол сәттегі жазу операциясы көшірмені үйлесімсіз етуі мүмкін.

Кірістірілген пәрмен арқылы қауіпсіз snapshot жасаңыз:

docker exec vaultwarden /vaultwarden backup

Деректер каталогында бөлек db_.sqlite3 файлы пайда болады. Онымен бірге attachments, sends, егер жасалған болса config.json, және rsa_key файлдарын сақтаңыз.

Сол VPS-тегі резервтік көшірме сервердің өшірілуінен немесе дискінің істен шығуынан қорғамайды. Көшірмелерді басқа құрылғыға немесе бөлек объектілік сақтау қоймасына автоматты түрде жіберіңіз, мүмкін болса қосымша шифрлау қолданыңыз. Мезгіл-мезгіл сынақ арқылы қалпына келтіруді орындаңыз.

Vaultwarden үшін қай VPS-ті таңдау керек

2 GB RAM бар базалық Linux VPS жеке немесе отбасылық қоймаға жеткілікті. Бұл Ubuntu, Docker, Caddy, жаңартулар және автоматты резервтік көшірмелер үшін қосымша қор береді.

Vaultwarden-ді tropic.host базалық VPS-інде іске қосып, кейін серверге басқа self-hosted қызметтер қосылса, ресурстарды арттыра аласыз. Құпиясөз менеджері үшін қосымша CPU ядроларынан гөрі тұрақты желі, тұрақты жалпыға ашық мекенжай және сенімді диск маңызды.

Үй сервері де жарайды, бірақ сыртқы қолжетімділікті, HTTPS-ті, тұрақты электр қуатын және ақаудан кейін қалпына келтіруді өзіңіз қамтамасыз етуіңіз керек. Қойма кез келген желіден жұмыс істеуі қажет болса, VPS әдетте қарапайымырақ.

Қорытынды

Vaultwarden — Bitwarden клиенттерін пайдаланып, сервер жағын өз инфрақұрылымында сақтағысы келетіндерге арналған ыңғайлы self-hosted құпиясөз менеджері. Бастау үшін шағын VPS, домен, Docker Compose және Caddy жеткілікті.

Негізгі жауапкершілік орнатудан кейін басталады: тіркелуді өшіріңіз, 2FA қосыңыз, контейнерлерді жаңартыңыз және серверден тыс тексерілген резервтік көшірмелерді сақтаңыз.

FAQ

Vaultwarden-ді доменсіз орнатуға бола ма?

Техникалық тұрғыдан жергілікті мекенжайды пайдалануға болады, бірақ веб-қоймаға қауіпсіз HTTPS ортасы қажет. Әртүрлі құрылғыдан кіру үшін домен мен TLS сертификатын қолдану оңайырақ.

Vaultwarden-ге қанша RAM керек?

Бір немесе бірнеше пайдаланушыға әдетте 1 GB RAM жеткілікті. 2 GB бар VPS жүйеге, Docker-ге, Caddy-ге және жаңартуларға жайлырақ қор береді.

Vaultwarden Bitwarden мобильді қолданбасымен жұмыс істей ме?

Иә. Кіру экранында self-hosted серверді таңдап, Vaultwarden орнатылымының толық HTTPS мекенжайын енгізіңіз.

VPS уақытша қолжетімсіз болса не болады?

Бұрын синхрондалған деректер әдетте клиенттің жергілікті шифрланған кэшінде қалады. Бірақ сервер қалпына келгенше синхрондау, жаңа құрылғыдан кіру және өзгерістерді алу жұмыс істемейді.

Ұмытылған негізгі құпиясөзді /admin арқылы қалпына келтіруге бола ма?

Жоқ. Әкімші сервер мен есептік жазбаларды басқара алады, бірақ пайдаланушы қоймасын ашатын дешифрлау кілті оған берілмейді. Негізгі құпиясөз бен қалпына келтіру кодтарын бөлек сақтау қажет.