Language: bg
Vaultwarden: инсталиране на собствен мениджър на пароли на VPS
Vaultwarden ви позволява да съхранявате паролите на собствен сървър и да ги синхронизирате между компютър, телефон и браузър. Той работи с официалните приложения и разширения на Bitwarden, в които посочвате адреса на своя сървър.
По-долу ще разгледаме от какъв VPS се нуждае Vaultwarden, как да го стартирате в Ubuntu с Docker Compose, да изключите отворената регистрация, да активирате HTTPS и да конфигурирате резервни копия.
Vaultwarden в пет стъпки
Минималният план за стартиране:
- Създайте VPS с Ubuntu и насочете поддомейн към него, например
vault.example.com. - Инсталирайте Docker и Docker Compose.
- Стартирайте Vaultwarden заедно с Caddy за автоматичен HTTPS.
- Създайте първия акаунт и изключете отворената регистрация.
- Активирайте двуфакторна автентикация, актуализации и резервни копия.
За личен трезор или малко семейство вградената SQLite база данни е достатъчна. Отделен PostgreSQL сървър обикновено не е необходим.
Какво представлява Vaultwarden
Vaultwarden е неофициална реализация на Bitwarden API, написана на Rust и предназначена за self-hosted инсталация. Тя е съвместима с официалните клиенти на Bitwarden: уеб интерфейс, мобилни и настолни приложения, разширения за браузъри и CLI.
Данните в трезора се криптират на устройството на потребителя, преди да бъдат изпратени към сървъра. VPS синхронизира криптираната база, но не знае главната парола и не може да я възстанови, ако бъде изгубена.
Vaultwarden не е официален продукт на Bitwarden. Собственикът лично отговаря за актуализациите, достъпността, HTTPS, резервните копия и сигурността на VPS.
Vaultwarden и Bitwarden: каква е разликата
| Параметър | Bitwarden Cloud | Vaultwarden |
|---|---|---|
| Сървър | Инфраструктурата на 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
Създайте A DNS запис, който сочи към IPv4 адреса на VPS. След това се свържете по 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 version3. Създайте конфигурацията
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. Caddy автоматично ще получи TLS сертификат, ако DNS вече сочи към VPS и портове 80 и 443 са достъпни. Ако сайтът не се отваря, проверете DNS, защитната стена и дали друг уеб сървър използва тези портове.
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 обикновено не е необходим за личен трезор. Ако го активирате, използвайте дълъг токен във вид на Argon2 хеш и, когато е възможно, ограничете достъпа по IP адрес или чрез VPN. Съхраняването на обикновен текстов ADMIN_TOKEN е нежелателно.
Създайте резервно копие преди актуализацията, след което изпълнете:
cd /opt/vaultwarden
docker compose pull
docker compose up -dСървърът трябва да се актуализира редовно: клиентите на Bitwarden се издават независимо, затова много стара версия на Vaultwarden може да загуби съвместимост с тях.
Резервни копия на Vaultwarden
Основната SQLite база данни се намира в vw-data/db.sqlite3, а прикачените файлове се съхраняват като отделни файлове. Не копирайте работеща база с обикновената команда cp: операция по запис в този момент може да направи копието несъгласувано.
Създайте безопасна моментна снимка с вградената команда:
docker exec vaultwarden /vaultwarden backupВ директорията с данни ще се появи отделен файл db_.sqlite3. Запазете заедно с него attachments, sends, config.json, ако е създаден, и файловете rsa_key.
Резервно копие на същия VPS не защитава от изтриване на сървъра или повреда на диска. Автоматично изпращайте копия към друго устройство или отделно обектно хранилище, по възможност с допълнително шифроване. Периодично извършвайте пробно възстановяване.
Кой VPS да изберете за Vaultwarden
Основен Linux VPS с 2 GB RAM е достатъчен за личен или семеен трезор. Това осигурява допълнителен ресурс за Ubuntu, Docker, Caddy, актуализации и автоматични резервни копия.
Можете да стартирате Vaultwarden на базов VPS от tropic.host и по-късно да увеличите ресурсите, ако добавите други self-hosted услуги на сървъра. За мениджър на пароли стабилната мрежа, постоянният публичен адрес и надеждният диск са по-важни от допълнителните CPU ядра.
Домашен сървър също е подходящ, но тогава ще трябва сами да осигурите външен достъп, HTTPS, стабилно електрозахранване и възстановяване след повреди. VPS обикновено е по-прост, когато трезорът трябва да работи от всяка мрежа.
Заключение
Vaultwarden е удобен self-hosted мениджър на пароли за хората, които искат да използват клиентите на Bitwarden, но да държат сървърната страна в собствената си инфраструктура. Малък VPS, домейн, Docker Compose и Caddy са достатъчни за начало.
Основната отговорност започва след инсталацията: изключете регистрацията, активирайте 2FA, актуализирайте контейнерите и пазете проверени резервни копия извън сървъра.
FAQ
Може ли Vaultwarden да се инсталира без домейн?
Технически можете да използвате локален адрес, но уеб трезорът изисква защитен HTTPS контекст. За достъп от различни устройства използването на домейн и TLS сертификат е по-просто.
Колко RAM е необходим на Vaultwarden?
За един или няколко потребители обикновено е достатъчен 1 GB RAM. VPS с 2 GB осигурява по-комфортен ресурсен запас за системата, Docker, Caddy и актуализациите.
Работи ли Vaultwarden с мобилното приложение Bitwarden?
Да. На екрана за вход изберете self-hosted сървър и въведете пълния HTTPS адрес на вашата инсталация на Vaultwarden.
Какво става, ако VPS временно е недостъпен?
Вече синхронизираните данни обикновено остават в локалния криптиран кеш на клиента. Синхронизирането, входът от ново устройство и получаването на промени обаче няма да работят, докато сървърът не бъде възстановен.
Може ли забравена главна парола да се възстанови чрез /admin?
Не. Администраторът може да управлява сървъра и акаунтите, но не разполага с ключа за декриптиране на трезора. Главната парола и кодовете за възстановяване трябва да се съхраняват отделно.
