Хостване на Vaultwarden на Managed VPS: паролите ви на ваш сървър

Хостването на Vaultwarden на Managed VPS означава да пазите своите пароли и тези на екипа си на своя собствена машина, която нашите екипи поддържат актуална и наблюдават денем и нощем. Vaultwarden е свободен софтуер с лиценз AGPL-3.0. Това ръководство следва официалната му документация: инсталиране с Docker Compose, HTTPS, затваряне на регистрациите, администраторски токен, какво защитава трезора, база данни, имейли, резервни копия и обновления.

Simon Vasconcelos Lee Автор: Публикувано на 8 ноември 2026 г.Време за четене: 15 минути

Всички ръководства

Накратко

  1. Лицензът AGPL-3.0 позволява свободно да пускате Vaultwarden, във фирма и другаде; ако го промените, предлагате кода на своята версия на тези, които я използват.
  2. Инсталирайте го с Docker Compose: един образ, порт, публикуван локално, и папка с данни, зад обратен прокси.
  3. HTTPS е задължителен за уеб трезора: предоставяйте Vaultwarden на собствено име на домейн и въведете това име в DOMAIN.
  4. Създайте акаунта си, после затворете регистрациите с SIGNUPS_ALLOWED: по подразбиране всеки, който стигне до инстанцията, може да се регистрира. Силна главна парола и двуфакторно удостоверяване защитават след това трезора.
  5. Архивирайте всеки ден базата и прикачените файлове, тествайте възстановяването и обновявайте с docker compose pull.

Какво прави Vaultwarden

Vaultwarden е сървър за управление на пароли, написан на Rust и създаден за самостоятелно хостване. Уикито му го определя за частни лица, семейства и организации с човешки мащаб. Уеб трезорът се доставя в Docker образите му.

Той реализира API, съвместимо с официалните клиенти на Bitwarden, в браузъра, на компютъра и на телефона. README уточнява, че проектът не е свързан с Bitwarden нито с Bitwarden, Inc., и моли всеки проблем да се подава директно към него, независимо от използвания клиент, а не към официалните канали за поддръжка.

Уикито изброява и това, което липсва в сравнение с официалния сървър, като влизане с ключ за достъп, персонализирани роли и някои корпоративни политики. То уточнява, че функциите, полезни най-вече за големи организации, не са приоритет на проекта: прочетете този списък, ако имате нужда от тях.

Какво позволява лицензът AGPL-3.0

Vaultwarden е публикуван с GNU Affero General Public License, версия 3. Текстът потвърждава неограничено разрешение да пускате непроменената програма. Можете следователно да използвате образа, публикуван от проекта, за фирмата и екипа си, без да купувате лиценз.

Член 13 добавя условие, присъщо на AGPL: ако променяте програмата, вашата версия трябва да предложи на всеки, който я използва от разстояние, през мрежата, начин да получи безплатно нейния изходен код.

Инсталиране с Docker Compose

README препоръчва образите на контейнери. На сървър с инсталиран Docker създайте папка и поставете в нея този compose.yaml, взет от README и от уикито:

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/
    ports:
      - 127.0.0.1:8000:80
Терминал
docker compose up -d

Името на домейна ви сочи към сървъра със записи A и AAAA, а посетителите пристигат на портове 80 и 443. Докато обратният прокси не е на мястото си, уеб трезорът остава неизползваем: преминете направо към следващия раздел.

Проектът не дава числа за паметта и процесора; той се представя само като решение за случаите, когато официалната, ресурсоемка услуга не върши работа. Размерът зависи от броя на акаунтите и от обема на прикачените файлове. На Managed VPS ни опишете как го използвате и ще ви препоръчаме подходящия размер.

HTTPS и WebSocket: обратният прокси

Уеб трезорът се опира на API-то Web Crypto, което браузърите резервират за защитени контексти: README посочва, че работи само след като HTTPS е включен, а уикито смята HTTPS за „pretty much required“, тоест почти задължителен. Проектът препоръчва обратен прокси пред Vaultwarden и не препоръчва вграденото TLS на неговата рамка Rocket.

Вземете признат сертификат, като тези на Let's Encrypt, които уикито препоръчва: със самоподписан сертификат някои платформи отказват връзката. Сертификатът трябва да носи пълната си верига, иначе устройствата с Android не се свързват.

Известията през WebSocket, включени по подразбиране, уведомяват браузъра, настолното приложение и разширението, че запис е променен. Те минават през основния HTTP порт, а проксито трябва да предава заглавките Upgrade и Connection. Мобилните приложения използват собствените известия на системата си, които се настройват отделно.

С Caddy

Уикито съветва първо да погледнете Caddy, ако нямате предпочитание: той сам включва HTTPS, получава сертификата Let's Encrypt и поддържа WebSocket. Настройката от уикито предава на Vaultwarden и истинския адрес на посетителя, за журналите му:

Caddyfile
vault.example.com {
  reverse_proxy 127.0.0.1:8000 {
    header_up X-Real-IP {remote_host}
  }
}

С Nginx и Certbot

Този блок възпроизвежда примера за Nginx от уикито, сведен до порт 80, за да остави на Certbot да постави HTTPS:

Блок на Nginx
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

Проверка на WebSocket

Отворете инструментите за разработчици на браузъра, раздела за мрежата, филтъра WS, и влезте отново в трезора: отговор 101 на /notifications/hub потвърждава връзката. Друг тест от уикито: отворете трезора в два браузъра, преименувайте запис в единия и промяната се появява веднага в другия.

Затваряне на регистрациите

По подразбиране всеки, който стигне до инстанцията ви, може да създаде акаунт в нея. Това е удобно за първия ви акаунт, а уикито препоръчва после да затворите, за да попречите на нападател да създаде такъв.

  1. Отворете своя HTTPS адрес и създайте акаунта си, после свържете приложенията си с този адрес.
  2. Сменете SIGNUPS_ALLOWED на "false" в compose.yaml.
  3. Стартирайте отново с docker compose up -d: променливата на средата е свързана с контейнера, който трябва да бъде създаден наново, за да я вземе предвид.
compose.yaml, в environment
SIGNUPS_ALLOWED: "false"

Щом запишете конфигурацията от администраторската страница, в папката с данни се появява файл config.json, който взема превес над променливите на средата. Засегнатите настройки се сменят тогава от тази страница: промяната на compose.yaml вече не е достатъчна.

Администраторската страница и нейният токен

Страницата /admin служи за настройване на Vaultwarden, за преглед и изтриване на акаунти и организации, за премахване на двуфакторното удостоверяване на потребител, за покани и за четене на диагностиката. Без ADMIN_TOKEN тя остава изключена: ако нямате нужда от нея, оставете я така.

Уикито настоятелно препоръчва да включите HTTPS преди тази страница. Токенът служи за парола и може да се пази в хеширан вид, с argon2id, а не в чист вид в конфигурацията. Vaultwarden предоставя командата: тя иска паролата два пъти, после връща низ PHC.

Терминал
docker run --rm -it vaultwarden/server /vaultwarden hash

Поставете този низ във файл .env, до compose.yaml, между апострофи, после го извикайте от услугата:

.env
VAULTWARDEN_ADMIN_TOKEN='$argon2id$...'
compose.yaml, в environment
ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN}

Проверете резултата, стартирайте отново, после влезте в /admin с вашата парола, а не с низа PHC:

Терминал
docker compose config
docker compose up -d

Какво защитава трезора

Първата защита е главната парола. Данните в трезора са шифровани с лични или организационни ключове: който получи копие на базата или наложи сесия, трябва пак да пробие тази парола, за да ги прочете. Нейната сила е следователно най-важна. Самата администраторска сесия позволява да изтриете акаунт или да премахнете двуфакторно удостоверяване, без да дава достъп до данните в трезора.

ЗащитаКакво даваКъде се настройва
Главна паролаДържи данните шифровани, дори копие на базата да се носи наоколоВсеки потребител я избира, дълга и специфична за този трезор
Двуфакторно удостоверяванеБез него уикито напомня, че налучкването на парола с груба сила остава теоретично възможноВ всеки акаунт; политика на организацията може да го изисква
HTTPSШифрова пътя между клиента и сървъраОбратният прокси
Затворени регистрацииПречи на непознат да си създаде акаунтSIGNUPS_ALLOWED
Подсказки за паролаПоказани на страницата, те биха помогнали да се налучка парола; версия 1.37.5 ги държи скрити по подразбиранеОставете SHOW_PASSWORD_HINT на false; PASSWORD_HINTS_ALLOWED ги премахва напълно
Ограничение на опититеЗабавя опитите от един и същи адрес, за влизане и за /adminLOGIN_RATELIMIT_SECONDS и ADMIN_RATELIMIT_SECONDS
Fail2banБлокира адресите след твърде много неуспехи, което уикито смята за особено важно за публична инстанцияНа сървъра, по журнал LOG_FILE

Подгответе се за забравена главна парола, преди да се случи: включете спешния достъп на акаунта си и, в организация, възстановяването на акаунт, което изисква конфигуриран имейл.

Още три настройки, взети от ръководството за заздравяване

SQLite, MariaDB или PostgreSQL

Един и същи образ поддържа трите бази. Уикито описва SQLite като най-използваната и най-тестваната и я препоръчва за повечето случаи, освен при конкретна нужда от друга.

БазаНастройванеРезервно копие
SQLiteНикакво: един файл, vw-data/db.sqlite3Командата /vaultwarden backup или копие на папката, при спряна услуга
MariaDB или MySQLВашият сървър за бази и DATABASE_URL с mysql://Експорт на базата, освен папката vw-data
PostgreSQLВашият сървър за бази и DATABASE_URL с postgresql://Експорт на базата, освен папката vw-data
compose.yaml, в environment (PostgreSQL)
DATABASE_URL: "postgresql://user_name:user_password@db_host:5432/vaultwarden"

Създайте празна база и неин потребител: при стартиране Vaultwarden сам поставя в нея схемата си. Парола със специални знаци се записва в процентно кодиране в този адрес.

Направете този избор, преди да напълните трезора. Уикито описва преминаване от SQLite към PostgreSQL с pgloader, като уточнява, че този път не се поддържа от проекта, че се минава на ваш риск и че започва с резервно копие.

Имейлите: SMTP конфигурацията

Vaultwarden стартира без имейл, но няколко функции зависят от него: поканите, проверката на адресите, изпращането на подсказките за парола, двуфакторното удостоверяване по имейл и възстановяването на акаунт.

На VPS на Simafri изпращането минава през удостоверено SMTP реле, на порт 587: адресът на пощенски акаунт, който вече имате, или Simafri Suite. Паролата се поставя във файла .env, както администраторският токен:

compose.yaml, в environment
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}

Ако нищо не излиза, уикито предлага да тествате връзката с релето от сървъра. Командата връща 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, и той обхваща и прикачените файлове:

Терминал, в папката на compose.yaml
docker compose down
tar -czf vaultwarden-$(date +%F).tar.gz vw-data
docker compose up -d

Уикито смята, че слой шифроване е полезен, особено когато копието носи администраторския токен и SMTP достъпите, и цитира rclone, restic и rustic за изпращане на копията далеч. С MariaDB или PostgreSQL добавете експорт на базата към папката vw-data.

Уикито моли да не разчитате само на моментните снимки на диска, по-неудобни за възстановяване. Пазете затова тези копия, специфични за приложението: поставени на диска на сървъра, те влизат и в нощните му резервни копия.

Възстановяване

  1. Спрете Vaultwarden.
  2. Заменете всеки файл или папка в vw-data с архивираната му версия.
  3. Ако базата идва от /vaultwarden backup, наименувайте я db.sqlite3 и първо изтрийте всеки съществуващ файл db.sqlite3-wal: журнал, който не съответства, може да повреди базата. Ако идва от директно копие, възстановете заедно db.sqlite3 и неговия db.sqlite3-wal.
  4. Стартирайте отново, после проверете, че можете да отворите трезора.

Уикито съветва да повтаряте това упражнение от време на време, като пазите копие на данните, които са на място: така проверявате, че резервното копие работи.

Обновленията

Уикито дава две команди, от папката на compose.yaml. Папката с данни остава на мястото си:

Терминал
docker compose pull
docker compose up -d

Тези обновления значат повече, отколкото другаде. Мобилните приложения и разширенията за браузър се обновяват сами, а уикито предупреждава, че разлика във версиите със сървъра може да предизвика внезапни повреди. Уеб трезорът, доставян в образа, остава винаги съгласуван със своя сървър.

Проектът няма календар на версиите: следете бележките към версиите му и правете резервно копие непосредствено преди всяко обновяване. Някои съдържат поправки за сигурността, като 1.37.5 от 1 ноември 2026 г., чиито бележки препоръчват да обновите възможно най-скоро. Тези бележки предупреждават също, че от версия 1.37.5 невалидна стойност в конфигурацията спира стартирането на Vaultwarden: прегледайте файла си с променливи на средата преди обновяване. Диагностичната страница на /admin показва дали съществува по-нова версия.

Кой какво прави на Managed VPS

Самостоятелното хостване изисква да поддържате сървъра освен приложението. На Managed VPS нашите екипи поемат сървъра и следят проактивно вашата инстанция; Vaultwarden остава ваш софтуер, с неговите настройки и данни.

ТемаНашите екипиВие
СървърътОбновления на системата и на сигурността, включително намеси на сървъраМоментът, който пасва на вашата дейност
НаблюдениетоСървър, следен денонощно, 7 дни в седмицата, с намеса, без да се чака обаждането виЧетенето на журналите на вашата инстанция
VaultwardenПроактивно проследяване: грешки, забавяния и дисково пространство се откриват, препоръчва се корекцияИнсталирането, обновяванията и настройките му, които прилагате вие или вашият AI асистент
Акаунтите и трезорътСървърът, който ги носи, наблюдаван и архивиранПотребителите, поканите, главните пароли и двуфакторното удостоверяване
Резервните копияВсяка нощ, криптирани и пазени извън машината; възстановяването е включеноКопията, специфични за Vaultwarden, и заявката за възстановяване, когато ви потрябва
МиграциятаСегашният ви сървър е мигриран, безплатноМоментът на превключването

Ако предпочитате нашите екипи да се намесват в самото приложение, тази услуга се фактурира на час или на фиксирана цена, с оферта, съобщена преди намесата.

Vaultwarden, на сървър, поддържан вместо вас

С Managed VPS от Simafri нашите екипи поддържат актуален сървъра на вашата инстанция на Vaultwarden, наблюдават го денем и нощем и се намесват, без да чакат обаждането ви; те следят проактивно и вашата инстанция и ви препоръчват полезните корекции, които прилагате вие или вашият AI асистент. Резервните копия се криптират всяка нощ и се пазят извън машината, възстановяването им е включено, а миграцията от сегашния ви сървър е безплатна.

Разгледайте Managed VPS

Често задавани въпроси

Безплатен ли е Vaultwarden за фирма?

Да. Vaultwarden е с лиценз AGPL-3.0: можете да го пускате във фирма, без да купувате лиценз. Ако го промените, вашата версия трябва да предложи изходния си код на тези, които я използват през мрежата. Остава цената на сървъра, на който работи.

Работи ли Vaultwarden с приложенията на Bitwarden?

Да. README представя Vaultwarden като съвместим с официалните клиенти на Bitwarden, като уточнява, че проектът не е свързан с Bitwarden нито с Bitwarden, Inc. Проблем се подава следователно към проекта Vaultwarden, независимо от използвания клиент.

Как се инсталира Vaultwarden с Docker Compose?

Създайте compose.yaml с образа vaultwarden/server, папка с данни и порт, публикуван на 127.0.0.1, после изпълнете docker compose up -d. Поставете след това пред него обратен прокси с HTTPS: без HTTPS уеб трезорът не работи. Въведете и адреса си в DOMAIN.

Как се изключват регистрациите във Vaultwarden?

След като създадете акаунта си, сменете SIGNUPS_ALLOWED на false в compose.yaml, после изпълнете docker compose up -d. Организациите все още могат да канят: INVITATIONS_ALLOWED със стойност false премахва тази възможност. Ако администраторската страница вече е записала конфигурацията си, направете тази настройка от нея.

Как се настройва администраторският токен на Vaultwarden?

Изпълнете командата vaultwarden hash, която връща низ argon2id, после го поставете в ADMIN_TOKEN, от файл .env с Docker Compose. Влизате след това в /admin с вашата парола. Без ADMIN_TOKEN страницата остава изключена.

Какво защитава трезор на Vaultwarden?

Първо главната парола: данните са шифровани, а копие на базата се чете само ако тя бъде пробита. Към нея се добавят двуфакторното удостоверяване, HTTPS, затворените регистрации, хеширан администраторски токен и шифровани резервни копия.

Как се архивира Vaultwarden?

Със SQLite изпълнявайте всеки ден командата /vaultwarden backup в контейнера и копирайте и папката attachments, config.json и файловете rsa_key. С MariaDB или PostgreSQL добавете експорт на базата. Тествайте редовно възстановяването.

Покрива ли Managed VPS Vaultwarden?

Managed VPS покрива сървъра: система, сигурност, наблюдение и резервни копия. Нашите екипи следят проактивно и вашата инстанция и ви препоръчват полезните корекции, които прилагате вие. Намеса в самото приложение се фактурира на час или на фиксирана цена.

Източници и официална документация

Свързани ръководства

Разлика между управляван и неуправляван VPS: кой какво правиРазликата между управляван и неуправляван VPS се свежда до един въпрос: кой се грижи за сървъра, след като той вече работи. Думата „управляван“ обаче няма официално определение и от един хостинг доставчик до друг обхваща всичко от простото инсталиране на системата до цялостното стопанисване на сървъра. Това ръководство показва кой какво прави, ред по ред, заедно с междинното ниво на експертното съдействие, и дава въпросите, които премахват двусмислието, преди да подпишете.Резервни копия на VPS: какво да проверите, преди да подпишетеПочти всяко предложение за VPS обявява „включени резервни копия“. Зад тези думи може да стои копие всяка нощ, пазено извън машината и възстановявано от експерти, или моментна снимка, поставена на същия диск като сървъра. Това ръководство дава въпросите, които правят разликата, какво означава всеки отговор и как да проверите, че едно резервно копие наистина се възстановява.Колко RAM е нужна за VPS: правилото, според всяка употребаПаметта (RAM) е ресурсът, който най-често определя размера на един VPS: тя свършва първа, а когато свърши, сървърът не се забавя, а спира услуги. Това ръководство дава правилото за изчисление, колко консумира всеки компонент на едно приложение, типични профили и начина да измерите сървър, който вече работи.
Свържете се с нас