Большинство нашей личной и финансовой информации скрывается всего лишь за логином и паролем, важность надежного хранения этих данных очень высока.
Для удобства хранения и ввода паролей на сайтах существуют менеджеры паролей, они бывают как локальные таки облачные.
Сегодня мы с вами разберемся как установить собственный менеджер паролей на ваш виртуальный сервер.
Установка 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.