Хостването на Vaultwarden на Managed VPS означава да пазите своите пароли и тези на екипа си на своя собствена машина, която нашите екипи поддържат актуална и наблюдават денем и нощем. Vaultwarden е свободен софтуер с лиценз AGPL-3.0. Това ръководство следва официалната му документация: инсталиране с Docker Compose, HTTPS, затваряне на регистрациите, администраторски токен, какво защитава трезора, база данни, имейли, резервни копия и обновления.
Автор: Simon Vasconcelos Lee
Публикувано на 8 ноември 2026 г.Време за четене: 15 минути
DOMAIN.SIGNUPS_ALLOWED: по подразбиране всеки, който стигне до инстанцията, може да се регистрира. Силна главна парола и двуфакторно удостоверяване защитават след това трезора.docker compose pull.Vaultwarden е сървър за управление на пароли, написан на Rust и създаден за самостоятелно хостване. Уикито му го определя за частни лица, семейства и организации с човешки мащаб. Уеб трезорът се доставя в Docker образите му.
Той реализира API, съвместимо с официалните клиенти на Bitwarden, в браузъра, на компютъра и на телефона. README уточнява, че проектът не е свързан с Bitwarden нито с Bitwarden, Inc., и моли всеки проблем да се подава директно към него, независимо от използвания клиент, а не към официалните канали за поддръжка.
/admin за настройките, акаунтите и диагностиката.Уикито изброява и това, което липсва в сравнение с официалния сървър, като влизане с ключ за достъп, персонализирани роли и някои корпоративни политики. То уточнява, че функциите, полезни най-вече за големи организации, не са приоритет на проекта: прочетете този списък, ако имате нужда от тях.
Vaultwarden е публикуван с GNU Affero General Public License, версия 3. Текстът потвърждава неограничено разрешение да пускате непроменената програма. Можете следователно да използвате образа, публикуван от проекта, за фирмата и екипа си, без да купувате лиценз.
Член 13 добавя условие, присъщо на AGPL: ако променяте програмата, вашата версия трябва да предложи на всеки, който я използва от разстояние, през мрежата, начин да получи безплатно нейния изходен код.
README препоръчва образите на контейнери. На сървър с инсталиран Docker създайте папка и поставете в нея този compose.yaml, взет от README и от уикито:
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/
ports:
- 127.0.0.1:8000:80
docker compose up -d
127.0.0.1: както в README, Vaultwarden е достъпен само през обратния прокси, поставен на същия сървър.DOMAIN: основният адрес на инстанцията ви, с https. Уикито предупреждава, че без него се чупят функции, сред които прикачените файлове и връзките за покана.vw-data на локален диск: тя пази всички данни. Уикито отбелязва проблемите на SQLite върху том CIFS или Samba, който не поддържа заключване.latest следва последната публикувана версия, а уикито го препоръчва за повечето случаи. Етикет като 1.37.5 фиксира версия, а latest-alpine дава същото върху основа Alpine.Името на домейна ви сочи към сървъра със записи A и AAAA, а посетителите пристигат на портове 80 и 443. Докато обратният прокси не е на мястото си, уеб трезорът остава неизползваем: преминете направо към следващия раздел.
Проектът не дава числа за паметта и процесора; той се представя само като решение за случаите, когато официалната, ресурсоемка услуга не върши работа. Размерът зависи от броя на акаунтите и от обема на прикачените файлове. На Managed VPS ни опишете как го използвате и ще ви препоръчаме подходящия размер.
Уеб трезорът се опира на API-то Web Crypto, което браузърите резервират за защитени контексти: README посочва, че работи само след като HTTPS е включен, а уикито смята HTTPS за „pretty much required“, тоест почти задължителен. Проектът препоръчва обратен прокси пред Vaultwarden и не препоръчва вграденото TLS на неговата рамка Rocket.
Вземете признат сертификат, като тези на Let's Encrypt, които уикито препоръчва: със самоподписан сертификат някои платформи отказват връзката. Сертификатът трябва да носи пълната си верига, иначе устройствата с Android не се свързват.
Известията през WebSocket, включени по подразбиране, уведомяват браузъра, настолното приложение и разширението, че запис е променен. Те минават през основния HTTP порт, а проксито трябва да предава заглавките Upgrade и Connection. Мобилните приложения използват собствените известия на системата си, които се настройват отделно.
Уикито съветва първо да погледнете Caddy, ако нямате предпочитание: той сам включва HTTPS, получава сертификата Let's Encrypt и поддържа WebSocket. Настройката от уикито предава на Vaultwarden и истинския адрес на посетителя, за журналите му:
vault.example.com {
reverse_proxy 127.0.0.1:8000 {
header_up X-Real-IP {remote_host}
}
}
Този блок възпроизвежда примера за Nginx от уикито, сведен до порт 80, за да остави на Certbot да постави HTTPS:
upstream vaultwarden-default {
zone vaultwarden-default 64k;
server 127.0.0.1:8000;
keepalive 2;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' "";
}
server {
listen 80;
listen [::]:80;
server_name vault.example.com;
client_max_body_size 525M;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
location / {
proxy_pass http://vaultwarden-default;
}
}
След това Certbot поставя сертификата и се грижи да го подновява:
sudo certbot --nginx
Отворете инструментите за разработчици на браузъра, раздела за мрежата, филтъра WS, и влезте отново в трезора: отговор 101 на /notifications/hub потвърждава връзката. Друг тест от уикито: отворете трезора в два браузъра, преименувайте запис в единия и промяната се появява веднага в другия.
По подразбиране всеки, който стигне до инстанцията ви, може да създаде акаунт в нея. Това е удобно за първия ви акаунт, а уикито препоръчва после да затворите, за да попречите на нападател да създаде такъв.
SIGNUPS_ALLOWED на "false" в compose.yaml.docker compose up -d: променливата на средата е свързана с контейнера, който трябва да бъде създаден наново, за да я вземе предвид.SIGNUPS_ALLOWED: "false"
INVITATIONS_ALLOWED със стойност "false" премахва тази възможност, а уикито оставя този избор според доверието ви към потребителите.SIGNUPS_DOMAINS_WHITELIST ограничава регистрацията до някои имейл домейни, а SIGNUPS_VERIFY със стойност true тогава налага проверка на адреса. Когато този списък е зададен, SIGNUPS_ALLOWED се игнорира.Щом запишете конфигурацията от администраторската страница, в папката с данни се появява файл config.json, който взема превес над променливите на средата. Засегнатите настройки се сменят тогава от тази страница: промяната на compose.yaml вече не е достатъчна.
Страницата /admin служи за настройване на Vaultwarden, за преглед и изтриване на акаунти и организации, за премахване на двуфакторното удостоверяване на потребител, за покани и за четене на диагностиката. Без ADMIN_TOKEN тя остава изключена: ако нямате нужда от нея, оставете я така.
Уикито настоятелно препоръчва да включите HTTPS преди тази страница. Токенът служи за парола и може да се пази в хеширан вид, с argon2id, а не в чист вид в конфигурацията. Vaultwarden предоставя командата: тя иска паролата два пъти, после връща низ PHC.
docker run --rm -it vaultwarden/server /vaultwarden hash
Поставете този низ във файл .env, до compose.yaml, между апострофи, после го извикайте от услугата:
VAULTWARDEN_ADMIN_TOKEN='$argon2id$...'
ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN}
Проверете резултата, стартирайте отново, после влезте в /admin с вашата парола, а не с низа PHC:
docker compose config
docker compose up -d
ADMIN_SESSION_LIFETIME. Отворена сесия остава валидна след смяна на токена. За да ги прекъснете всички, изтрийте rsa_key.pem от папката с данни и рестартирайте, което изключва и потребителите и анулира текущите покани./admin само за някои адреси или да добавите към него HTTP удостоверяване.DISABLE_ADMIN_TOKEN премахва всякакъв контрол: предвиден е за отделен слой за удостоверяване, поставен пред него, а уикито го резервира за тези, които знаят какво правят.Първата защита е главната парола. Данните в трезора са шифровани с лични или организационни ключове: който получи копие на базата или наложи сесия, трябва пак да пробие тази парола, за да ги прочете. Нейната сила е следователно най-важна. Самата администраторска сесия позволява да изтриете акаунт или да премахнете двуфакторно удостоверяване, без да дава достъп до данните в трезора.
| Защита | Какво дава | Къде се настройва |
|---|---|---|
| Главна парола | Държи данните шифровани, дори копие на базата да се носи наоколо | Всеки потребител я избира, дълга и специфична за този трезор |
| Двуфакторно удостоверяване | Без него уикито напомня, че налучкването на парола с груба сила остава теоретично възможно | В всеки акаунт; политика на организацията може да го изисква |
| HTTPS | Шифрова пътя между клиента и сървъра | Обратният прокси |
| Затворени регистрации | Пречи на непознат да си създаде акаунт | SIGNUPS_ALLOWED |
| Подсказки за парола | Показани на страницата, те биха помогнали да се налучка парола; версия 1.37.5 ги държи скрити по подразбиране | Оставете SHOW_PASSWORD_HINT на false; PASSWORD_HINTS_ALLOWED ги премахва напълно |
| Ограничение на опитите | Забавя опитите от един и същи адрес, за влизане и за /admin | LOGIN_RATELIMIT_SECONDS и ADMIN_RATELIMIT_SECONDS |
| Fail2ban | Блокира адресите след твърде много неуспехи, което уикито смята за особено важно за публична инстанция | На сървъра, по журнал LOG_FILE |
Подгответе се за забравена главна парола, преди да се случи: включете спешния достъп на акаунта си и, в организация, възстановяването на акаунт, което изисква конфигуриран имейл.
root по подразбиране, а уикито смята за по-добре да му се дадат минималните права. Добавете user: 1000:1000 към услугата, с папка vw-data, която принадлежи на този потребител.access_token. Ако проксито ви пази журналите си или ги изпраща към външна услуга, уикито препоръчва да скриете тази стойност в тях./var/run/docker.sock.Един и същи образ поддържа трите бази. Уикито описва SQLite като най-използваната и най-тестваната и я препоръчва за повечето случаи, освен при конкретна нужда от друга.
| База | Настройване | Резервно копие |
|---|---|---|
| SQLite | Никакво: един файл, vw-data/db.sqlite3 | Командата /vaultwarden backup или копие на папката, при спряна услуга |
| MariaDB или MySQL | Вашият сървър за бази и DATABASE_URL с mysql:// | Експорт на базата, освен папката vw-data |
| PostgreSQL | Вашият сървър за бази и DATABASE_URL с postgresql:// | Експорт на базата, освен папката vw-data |
DATABASE_URL: "postgresql://user_name:user_password@db_host:5432/vaultwarden"
Създайте празна база и неин потребител: при стартиране Vaultwarden сам поставя в нея схемата си. Парола със специални знаци се записва в процентно кодиране в този адрес.
Направете този избор, преди да напълните трезора. Уикито описва преминаване от SQLite към PostgreSQL с pgloader, като уточнява, че този път не се поддържа от проекта, че се минава на ваш риск и че започва с резервно копие.
Vaultwarden стартира без имейл, но няколко функции зависят от него: поканите, проверката на адресите, изпращането на подсказките за парола, двуфакторното удостоверяване по имейл и възстановяването на акаунт.
На VPS на Simafri изпращането минава през удостоверено SMTP реле, на порт 587: адресът на пощенски акаунт, който вече имате, или Simafri Suite. Паролата се поставя във файла .env, както администраторският токен:
SMTP_HOST: "smtp.example.com"
SMTP_FROM: "vault@example.com"
SMTP_PORT: "587"
SMTP_SECURITY: "starttls"
SMTP_USERNAME: "vault@example.com"
SMTP_PASSWORD: ${VAULTWARDEN_SMTP_PASSWORD}
DOMAIN и остават валидни 5 дни.No compatible authentication mechanism was found.config.json.Ако нищо не излиза, уикито предлага да тествате връзката с релето от сървъра. Командата връща 0, когато релето отговаря:
timeout 5 bash -c 'cat < /dev/null > /dev/tcp/smtp.example.com/587'; echo $?
README напомня, че проектът не може да носи отговорност за загуба на данни, и настоятелно препоръчва редовни резервни копия. Уикито ги съветва да са автоматични, с поне едно копие другаде. Ето какво съдържа папката с данни със SQLite:
| Елемент | Какво пази | За архивиране |
|---|---|---|
db.sqlite3 | Почти всички данни: акаунти, организации, трезори | Задължително |
attachments/ | Прикачените файлове, съхранявани извън базата | Задължително |
config.json | Конфигурацията на администраторската страница, с чувствителни данни в чист вид | Препоръчително, шифровано |
rsa_key* | Ключовете, които подписват сесиите; загубата им изключва потребителите | Препоръчително, шифровано |
sends/ | Файловете, изпратени чрез Send, по природа временни | По желание |
icon_cache/ | Иконите на сайтовете, изтегляни отново при нужда | По желание |
От версия 1.32.1 Vaultwarden умее сам да архивира своята SQLite база, без да спира услугата:
docker exec -it vaultwarden /vaultwarden backup
Командата записва файл db_AAAAMMJJ_HHMMSS.sqlite3 до базата, в vw-data. Образът не съдържа нито sqlite3, нито cron: уикито съветва да планирате задачата на сървъра, поне веднъж дневно. Махнете тогава -it, защото планираната задача няма терминал, и подреждайте тези файлове, които се трупат.
Когато базата не се използва, достатъчно е просто копиране на всичките ѝ файлове. Това е методът при спряна услуга, който уикито дава за пример за Docker, и той обхваща и прикачените файлове:
docker compose down
tar -czf vaultwarden-$(date +%F).tar.gz vw-data
docker compose up -d
Уикито смята, че слой шифроване е полезен, особено когато копието носи администраторския токен и SMTP достъпите, и цитира rclone, restic и rustic за изпращане на копията далеч. С MariaDB или PostgreSQL добавете експорт на базата към папката vw-data.
Уикито моли да не разчитате само на моментните снимки на диска, по-неудобни за възстановяване. Пазете затова тези копия, специфични за приложението: поставени на диска на сървъра, те влизат и в нощните му резервни копия.
vw-data с архивираната му версия./vaultwarden backup, наименувайте я db.sqlite3 и първо изтрийте всеки съществуващ файл db.sqlite3-wal: журнал, който не съответства, може да повреди базата. Ако идва от директно копие, възстановете заедно db.sqlite3 и неговия db.sqlite3-wal.Уикито съветва да повтаряте това упражнение от време на време, като пазите копие на данните, които са на място: така проверявате, че резервното копие работи.
Уикито дава две команди, от папката на compose.yaml. Папката с данни остава на мястото си:
docker compose pull
docker compose up -d
Тези обновления значат повече, отколкото другаде. Мобилните приложения и разширенията за браузър се обновяват сами, а уикито предупреждава, че разлика във версиите със сървъра може да предизвика внезапни повреди. Уеб трезорът, доставян в образа, остава винаги съгласуван със своя сървър.
Проектът няма календар на версиите: следете бележките към версиите му и правете резервно копие непосредствено преди всяко обновяване. Някои съдържат поправки за сигурността, като 1.37.5 от 1 ноември 2026 г., чиито бележки препоръчват да обновите възможно най-скоро. Тези бележки предупреждават също, че от версия 1.37.5 невалидна стойност в конфигурацията спира стартирането на Vaultwarden: прегледайте файла си с променливи на средата преди обновяване. Диагностичната страница на /admin показва дали съществува по-нова версия.
Самостоятелното хостване изисква да поддържате сървъра освен приложението. На Managed VPS нашите екипи поемат сървъра и следят проактивно вашата инстанция; Vaultwarden остава ваш софтуер, с неговите настройки и данни.
| Тема | Нашите екипи | Вие |
|---|---|---|
| Сървърът | Обновления на системата и на сигурността, включително намеси на сървъра | Моментът, който пасва на вашата дейност |
| Наблюдението | Сървър, следен денонощно, 7 дни в седмицата, с намеса, без да се чака обаждането ви | Четенето на журналите на вашата инстанция |
| Vaultwarden | Проактивно проследяване: грешки, забавяния и дисково пространство се откриват, препоръчва се корекция | Инсталирането, обновяванията и настройките му, които прилагате вие или вашият AI асистент |
| Акаунтите и трезорът | Сървърът, който ги носи, наблюдаван и архивиран | Потребителите, поканите, главните пароли и двуфакторното удостоверяване |
| Резервните копия | Всяка нощ, криптирани и пазени извън машината; възстановяването е включено | Копията, специфични за Vaultwarden, и заявката за възстановяване, когато ви потрябва |
| Миграцията | Сегашният ви сървър е мигриран, безплатно | Моментът на превключването |
Ако предпочитате нашите екипи да се намесват в самото приложение, тази услуга се фактурира на час или на фиксирана цена, с оферта, съобщена преди намесата.
С Managed VPS от Simafri нашите екипи поддържат актуален сървъра на вашата инстанция на Vaultwarden, наблюдават го денем и нощем и се намесват, без да чакат обаждането ви; те следят проактивно и вашата инстанция и ви препоръчват полезните корекции, които прилагате вие или вашият AI асистент. Резервните копия се криптират всяка нощ и се пазят извън машината, възстановяването им е включено, а миграцията от сегашния ви сървър е безплатна.
Да. Vaultwarden е с лиценз AGPL-3.0: можете да го пускате във фирма, без да купувате лиценз. Ако го промените, вашата версия трябва да предложи изходния си код на тези, които я използват през мрежата. Остава цената на сървъра, на който работи.
Да. README представя Vaultwarden като съвместим с официалните клиенти на Bitwarden, като уточнява, че проектът не е свързан с Bitwarden нито с Bitwarden, Inc. Проблем се подава следователно към проекта Vaultwarden, независимо от използвания клиент.
Създайте compose.yaml с образа vaultwarden/server, папка с данни и порт, публикуван на 127.0.0.1, после изпълнете docker compose up -d. Поставете след това пред него обратен прокси с HTTPS: без HTTPS уеб трезорът не работи. Въведете и адреса си в DOMAIN.
След като създадете акаунта си, сменете SIGNUPS_ALLOWED на false в compose.yaml, после изпълнете docker compose up -d. Организациите все още могат да канят: INVITATIONS_ALLOWED със стойност false премахва тази възможност. Ако администраторската страница вече е записала конфигурацията си, направете тази настройка от нея.
Изпълнете командата vaultwarden hash, която връща низ argon2id, после го поставете в ADMIN_TOKEN, от файл .env с Docker Compose. Влизате след това в /admin с вашата парола. Без ADMIN_TOKEN страницата остава изключена.
Първо главната парола: данните са шифровани, а копие на базата се чете само ако тя бъде пробита. Към нея се добавят двуфакторното удостоверяване, HTTPS, затворените регистрации, хеширан администраторски токен и шифровани резервни копия.
Със SQLite изпълнявайте всеки ден командата /vaultwarden backup в контейнера и копирайте и папката attachments, config.json и файловете rsa_key. С MariaDB или PostgreSQL добавете експорт на базата. Тествайте редовно възстановяването.
Managed VPS покрива сървъра: система, сигурност, наблюдение и резервни копия. Нашите екипи следят проактивно и вашата инстанция и ви препоръчват полезните корекции, които прилагате вие. Намеса в самото приложение се фактурира на час или на фиксирана цена.
Simafri
Да поговорим за Вашия проект
Кажете ни с няколко думи от какво имате нужда: отговаряме Ви бързо.
Благодарим! Вашето запитване е изпратено. Ще се свържем с вас скоро.
Предпочитате имейл? Пишете ни на support@simafri.com.