fbpx
Перейти к содержимому

Установка Vaultwarden (Bitwarden) на VPS

Большинство нашей личной и финансовой информации скрывается всего лишь за логином и паролем, важность надежного хранения этих данных очень высока.

Для удобства хранения и ввода паролей на сайтах существуют менеджеры паролей, они бывают как локальные таки облачные.

Сегодня мы с вами разберемся как установить собственный менеджер паролей на ваш виртуальный сервер.

Установка Vaultwarden

Для установки Vaultwarden нам необходимо установить на сервере Docker, доменное имя которое будет направлено на ваш сервер и SSL сертификат. Вы можете направить доменное имя на Cloudflare и использовать их SSL сертификат. Подробнее про то как установить Docker вы можете узнать в данной статье.

Для установки Vaultwarden нам необходимо будет выполнить всего одну команду

docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest

В данной команде замените путь /vw-data/ на ваш собственный, в данной директории будут сохранены файлы необходимые для работы Vaultwarden.

После завершения установки контейнера вы можете перейти по адресу доменному имени вашего сервера и вы попадете на страницу входа в Vaultwarden.

Vaultwarden и HTTPS

Для корректной работы Vaultwarden необходимо чтобы на доменном имени был сконфигурирован ssl сертификат, к примеру вы можете использовать Cloudflare и просто направить ваше доменное имя на сервер, либо настроить реверс прокси.

Один из самых простых способов — использовать реверс прокси Caddy. Чтобы сразу же развернуть Vaultwarden и Caddy создадим файл docker-compose.yaml и внесем в него следующие данные

version: '3'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      WEBSOCKET_ENABLED: "true"  # Enable WebSocket notifications.
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2
    container_name: caddy
    restart: always
    ports:
      - 80:80  # Needed for the ACME HTTP-01 challenge.
      - 443:443
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-config:/config
      - ./caddy-data:/data
    environment:
      DOMAIN: "https://vaul.domain.com"  # Your domain.
      EMAIL: "[email protected]"                 # The email address to use for ACME registration.
      LOG_FILE: "/data/access.log"

В этой же директории создадим файл Caddyfile в который мы внесем следующие данные

{$DOMAIN}:443 {
  log {
    level INFO
    output file {$LOG_FILE} {
      roll_size 10MB
      roll_keep 10
    }
  }

  # Use the ACME HTTP-01 challenge to get a cert for the configured domain.
  tls {$EMAIL}

  # This setting may have compatibility issues with some browsers
  # (e.g., attachment downloading on Firefox). Try disabling this
  # if you encounter issues.
  encode gzip

  # Notifications redirected to the WebSocket server
  reverse_proxy /notifications/hub vaultwarden:3012

  # Proxy everything else to Rocket
  reverse_proxy vaultwarden:80 {
       # Send the true remote IP to Rocket, so that vaultwarden can put this in the
       # log, so that fail2ban can ban the correct IP.
       header_up X-Real-IP {remote_host}
  }
}

Если же вы хотите запустить Vaultwarden в локальной сети для локального доменного имени то файл Caddyfile будет выглядеть следующим образом

domain.local:443 {
        reverse_proxy vaultwarden:80
        tls internal
}

Создание пользователя в Vaultwarden

Для создания нового аккаунта необходимо нажать Create account в низу под кнопкой Continue.

На этом установка Vaultwarden завершена. Вы можете использовать Bitwarden расширение для браузера или десктопа, в настройках вам необходимо будет указать доменное имя на котором доступе Vaultwarden.