Пароли · без KYC
Хостинг Vaultwarden на офшорном VPS
Запустите собственное Bitwarden-совместимое хранилище паролей на оборудовании, которое контролируете только вы, в юрисдикции с дружественным отношением к приватности, оплачивая в криптовалюте без привязки к личности.
Что это такое
Vaultwarden — это лёгкий неофициальный сервер Bitwarden, написанный на Rust и использующий тот же API, что и Bitwarden, поэтому с ним синхронизируются все официальные клиенты Bitwarden (расширения для браузера, desktop-приложения, iOS/Android, CLI). Он хранит зашифрованные хранилища паролей, passkeys, seed-ключей TOTP, банковских карт и защищённых заметок, поддерживает организации, вложения и панель администратора, при этом потребляя лишь малую часть RAM по сравнению с официальным стеком.
Почему размещать это оффшорно
Хранилище паролей — самый чувствительный актив, которым вы владеете, поэтому то, кто держит сервер и по каким законам, важно не меньше, чем шифрование. VPS без KYC с оплатой в криптовалюте в юрисдикции privacy-уровня (NL/CH/RO/IS) означает, что сервер, хранящий ваши зашифрованные хранилища, не привязан к вашей юридической личности, не подпадает под повестку США/Великобритании и не может быть заблокирован платёжным провайдером, отключившим вас от сервиса.
Развёртывание
Рабочая эталонная конфигурация
Скопируйте это на новый инстанс ChainVPS. Замените плейсхолдеры и запустите.
# 1) DNS: point vault.example.com -> your ChainVPS IP (A/AAAA record)
# 2) Generate an Argon2 ADMIN_TOKEN (do NOT use a plain string):
# docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the resulting '$argon2id$...' string as ADMIN_TOKEN below (single-quote it in .env)
# 3) Save as docker-compose.yml, create the Caddyfile shown, then: docker compose up -d
services:
vaultwarden:
image: vaultwarden/server:1.32.7
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com" # must match the public URL exactly
SIGNUPS_ALLOWED: "false" # create your account, then keep this false
INVITATIONS_ALLOWED: "true"
ADMIN_TOKEN: "${ADMIN_TOKEN}" # Argon2 hash from step 2, kept in .env
WEBSOCKET_ENABLED: "true" # live sync (served on the main port)
SENDS_ALLOWED: "true"
ROCKET_PORT: "80"
volumes:
- ./vw-data:/data # vaults, attachments, sqlite db, keys
networks: [vw]
# no host port published: only Caddy talks to it over the internal network
caddy:
image: caddy:2
container_name: vaultwarden-caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp" # HTTP/3
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/config
networks: [vw]
depends_on: [vaultwarden]
networks:
vw:
# ---- Caddyfile (same directory) ----
# vault.example.com {
# encode gzip
# reverse_proxy vaultwarden:80
# }
# Caddy fetches and renews a Let's Encrypt cert automatically; HTTPS is mandatory
# because Bitwarden clients use WebCrypto, which only runs on a secure origin.
Файрвол
Порты для открытия
| Порт | Протокол | Назначение |
|---|---|---|
| 443 | TCP | HTTPS-хранилище + синхронизация клиентов + WebSocket (через Caddy); единственный порт, который должен быть публичным |
| 80 | TCP | Редирект HTTP -> HTTPS и выпуск сертификата ACME/Let's Encrypt |
| 443 | UDP | Опционально HTTP/3 (QUIC) для более быстрой синхронизации клиентов |
Подбор оптимального размера
Какой план вам нужен
VPS Nano/Small (1 vCPU, 1-2 GB RAM)
В режиме ожидания Vaultwarden потребляет около 15-30 МБ RAM при работе на SQLite, так что Nano вполне достаточно. Хранилище занимает минимум места, если только вы не храните большие вложения.
VPS Pro (2 vCPU, 4 GB RAM)
Запас мощности для одновременных синхронизаций, вложений и запуска Caddy вместе с fail2ban/резервным копированием на том же сервере.
VPS Pro (старший тариф) или начальный Dedicated
Перейдите с SQLite на Postgres/MySQL и разместите вложения на тарифе Storage или диске большего объёма; выделенный CPU удерживает задержку синхронизации стабильной под нагрузкой.
Лучшие локации: Выберите для хранилища локацию ChainVPS privacy-уровня: Швейцария (CH) и Исландия (IS) обладают сильными традициями защиты данных и приватности, Нидерланды (NL) предлагают отличную связность в сочетании с законодательством ЕС о приватности, а Румыния (RO) и Молдова (MD) находятся вне самых строгих блоков обмена данными слежки. Выбирайте локацию, географически ближайшую к вам и вашим пользователям, чтобы минимизировать задержку — в любом случае хранилище шифруется на стороне клиента.
Обеспечьте полную защиту
Чек-лист по усилению защиты
- После создания своей учётной записи оставьте SIGNUPS_ALLOWED=false и добавляйте пользователей через INVITATIONS; открытая точка регистрации на публичном хранилище — приманка для злоупотреблений.
- Всегда задавайте ADMIN_TOKEN как хеш Argon2, сгенерированный командой 'vaultwarden hash' (никогда не используйте открытую строку), либо полностью отключите панель /admin, оставив ADMIN_TOKEN незаданным после настройки. Рассмотрите возможность ограничить доступ к /admin брандмауэром только для своего IP.
- Разрешайте работу только по HTTPS и доверьте Caddy управление сертификатами Let's Encrypt; клиенты Bitwarden отказываются выполнять криптографические операции через обычный HTTP, а действительный сертификат предотвращает downgrade-атаки и MITM при синхронизации.
- Регулярно делайте резервные копии каталога ./vw-data (особенно rsa_key.pem, config.json, db.sqlite3 и вложений) во внешнее хранилище, например на тариф ChainVPS Storage; потеря rsa_key.pem делает недействительными все существующие сессии и токены.
- Запустите fail2ban для мониторинга лога Vaultwarden (LOG_FILE + LOG_LEVEL), чтобы блокировать попытки подбора пароля, и требуйте от каждого пользователя включить 2FA; открывайте наружу только порты 80/443 через ufw/nftables и блокируйте всё остальное.
Разверните на
Правильный продукт ChainVPS
Вопросы
Хостинг Vaultwarden — FAQ
Vaultwarden — это то же самое, что и Bitwarden?
Нет, это отдельная лёгкая серверная реализация API Bitwarden. Она не разрабатывается компанией Bitwarden Inc., но с ней работают официальные приложения и расширения Bitwarden; поддерживаются хранилища, организации, вложения, Sends и passkeys. Это идеальный вариант для отдельных пользователей и небольших команд, которые хотят самостоятельный хостинг без ресурсных затрат официального серверного стека.
Будут ли мои данные в безопасности, если сервер изымут или хостинг будет скомпрометирован?
Хранилища шифруются и расшифровываются на стороне клиента с помощью ключа, производного от вашего мастер-пароля, поэтому сервер хранит только зашифрованные данные. Размещение на сервере без KYC в юрисдикции с дружественным отношением к приватности сокращает круг тех, кто может принудить к раскрытию доступа, но вам всё равно нужно использовать надёжный мастер-пароль, включить 2FA и держать DOMAIN на HTTPS, чтобы защитить сам процесс входа.
Нужен ли мне HTTPS, или можно использовать обычный IP?
Вам нужен HTTPS с действительным сертификатом и доменным именем. Клиенты Bitwarden используют браузерный API WebCrypto, который работает только в защищённом источнике (secure origin), поэтому настройка с обычным http:// или голым IP не позволит синхронизироваться. Включённый сервис Caddy автоматически выпускает и продлевает бесплатный сертификат Let's Encrypt.
SQLite или MySQL/Postgres?
SQLite (используется по умолчанию) отлично подходит и работает быстрее всего для личного использования и небольших команд до нескольких десятков пользователей. Переходите на MySQL или PostgreSQL только для крупных развёртываний с несколькими организациями или если вам нужны централизованные резервные копии и репликация БД; настройте DATABASE_URL соответствующим образом.
Как добавить пользователей, не открывая публичную регистрацию?
Оставьте SIGNUPS_ALLOWED=false и INVITATIONS_ALLOWED=true, а затем приглашайте пользователей из организации (Organization) или через панель /admin. Приглашённые пользователи получают инвайт и могут зарегистрироваться, даже если публичная регистрация закрыта, что защищает точку регистрации от злоупотреблений.
Могу ли я оплатить VPS, не предоставляя удостоверение личности?
Да. ChainVPS работает без KYC и принимает оплату в криптовалюте, поэтому сервер, хранящий ваши зашифрованные хранилища, не привязан к вашей юридической личности или платёжному процессору, который мог бы заморозить счёт.
Больше для самостоятельного хостинга
Другие стеки в один клик
Разверните Vaultwarden
в течение следующих 60 секунд.
Безлимитный трафик · DDoS-защита включена · 21 криптовалюта · без KYC.