Установка bitwarden на Docker

Системные требования

Минимальные:

  • CPU: x64, 1.4GHz
  • RAM: 2GB
  • Disk: 12GB

Рекомендуемые:

  • CPU: x64, 2GHz dual core
  • RAM: 4GB
  • Disk: 25GB

Системные требования по документации расположенной по адресу: https://bitwarden.com/help/install-on-premise-linux/, но когда я установил на VDS соответствующий минимальным системным требованиям bitwarden очень сильно зависал и переставал работать периодически, приходилось перезагружать VDS.

В моем случае ОС выбрана: Alma Linux 8

обновил Linux:

dnf update

установить yum-utils:

dnf install yum-utils

добавить репозиторий Docker:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

устанавливаем пакеты из репозитория Docker:

dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin

запускаем и ставим на автозапуск Docker:

systemctl start docker && systemctl enable docker

заходим по адресу https://bitwarden.com/host/ и получаем идентификаторы (Installation ID, Installation Key) и сохраняем:

результат нужно сохранить, он понадбится дальше:

добавил пользователя:

useradd bw

задал пароль пользователю:

passwd bw

добавил пользователя в группу docker:

usermod -aG docker bw

заходим под пользователя bw:

su bw

переходим в домашнюю директорию пользователя:

cd ~

скачиваем bash скрипт bitwarden и делаем еще выполняемым:

curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod +x bitwarden.sh

устанавливаем bitwarden:

./bitwarden.sh install

указываем домен:

(!) Enter the domain name for your Bitwarden instance (ex. bitwarden.example.com):

если нужен SSL сертификат:

(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n):

указываем email куда приходят уведомления от Let’s Encrypt о SSL сертификатах:

(!) Enter your email address (Let's Encrypt will send you certificate expiration reminders):

указываем имя базы (по умолчанию: vault):

(!) Enter the database name for your Bitwarden instance (ex. vault):

указываем идентификатор (Installation ID) который получили ранее:

(!) Enter your installation id (get at https://bitwarden.com/host):

указываем ключ (Installation Key) идентификатора:

(!) Enter your installation key:

указываем выбранный регион созданного идентификатора:

(!) Enter your region (US/EU) [US]:

успешное завершение установки:

...
Building nginx config.
Building docker environment files.
Building docker environment override files.
Building FIDO U2F app id.
Building docker-compose.yml.

Installation complete

If you need to make additional configuration changes, you can modify
the settings in `./bwdata/config.yml` and then run:
`./bitwarden.sh rebuild` or `./bitwarden.sh update`

Next steps, run:
`./bitwarden.sh start`

Настройки хранятся в файле: ./bwdata/config.yml

Для применения настроек нужно выполнить команду:

./bitwarden.sh rebuild

открыть файл ./bwdata/env/global.override.env и указать:

...
adminSettings__admins=email_Администратора
...

если нужно запретить регистрацию (только это надо сделать после того как первого пользователя зарегистрируете):

...
globalSettings__disableUserRegistration=true
...

пример конфигурации SMTP яндекс:

...
globalSettings__mail__replyToEmail=example@yandex.ru
globalSettings__mail__smtp__host=smtp.yandex.ru
globalSettings__mail__smtp__port=465
globalSettings__mail__smtp__ssl=true
globalSettings__mail__smtp__username=example@yandex.ru
globalSettings__mail__smtp__password=ПАРОЛЬ_ДЛЯ_ПРИЛОЖЕНИЙ
...

Для запуска bitwarden нужно выполнить команду:

./bitwarden.sh start

при первом запуске будут скачены пакеты:

перейти на домен указанный при установке:

и нажать создать аккаунт:

Адрес для администрирования: https://your.domain.com/admin