OffshoreVps
Инструкции5 окт. 20266 мин чтенияАвтор: команда OffshoreVps

Vaultwarden на собственном VPS с Docker

Запустите собственный сервер паролей, совместимый с Bitwarden: файл Compose, хешированный токен администратора, HTTPS, закрытие регистрации и проверенная резервная копия.

Vaultwarden — это легковесный сервер паролей, совместимый с Bitwarden. Вы пользуетесь обычными приложениями и расширениями браузера Bitwarden, но ваше хранилище находится на сервере, который вы контролируете. Он потребляет очень мало памяти, так что небольшого VPS более чем достаточно. Поскольку на нём хранятся ваши пароли, настраивайте его внимательно.

Окно терминала на VPS с командами для размещения Vaultwarden на собственном сервере, начиная с «mkdir -p ~/vaultwarden && cd ~/vaultwarden»
Примерно такие команды вы будете выполнять на своём сервере в этом руководстве.

Перед началом

Дополнительную информацию вы найдёте на нашей странице Vaultwarden на собственном сервере.

Шаг 1: файл Docker Compose

mkdir -p ~/vaultwarden && cd ~/vaultwarden
cat > compose.yaml <<'EOF'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "true"   # switch to false after you create your account
      ADMIN_TOKEN: "${ADMIN_TOKEN}"
    volumes:
      - ./data:/data
    ports:
      - "127.0.0.1:8081:80"
EOF

Шаг 2: создайте токен администратора

Страница администратора позволяет управлять пользователями. Храните хэшированный токен, а не обычный текст. В образ Vaultwarden включена вспомогательная команда:

docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
Шаги этого руководства по порядку: 1. Перед началом; 2. Файл Docker Compose; 3. создайте токен администратора; 4. HTTPS с Caddy; 5. включите двухэтапный вход; 6. Сделайте резервную копию хранилища
Шаги этого руководства по порядку.

Шаг 3: запустите сервис

docker compose up -d
docker compose logs -f

Шаг 4: HTTPS с помощью Caddy

Клиенты Bitwarden требуют HTTPS.

vault.example.com {
  reverse_proxy 127.0.0.1:8081
}

Перезагрузите конфигурацию Caddy и откройте сайт. Создайте свою учётную запись, затем установите для SIGNUPS_ALLOWED значение false и снова выполните docker compose up -d, чтобы посторонние не могли зарегистрироваться.

Шаг 5: включите двухэтапный вход

В веб-хранилище включите двухэтапный вход с помощью приложения-аутентификатора или аппаратного ключа. Сохраните код восстановления в автономном режиме.

Резервное копирование хранилища

Все данные находятся в ./data, в основном это база данных SQLite и вложения. Делайте согласованную копию по расписанию и храните её вне сервера:

sqlite3 data/db.sqlite3 ".backup '/backup/vaultwarden-$(date +%F).sqlite3'"
tar czf /backup/vw-files-$(date +%F).tgz data/attachments data/rsa_key*

Проверьте восстановление хотя бы один раз. Резервная копия, которую вы ни разу не проверяли, — это лишь надежда.