Блог BearPass

Установка BearPass через Docker: пошаговая настройка, запуск, SSL и обновление

Установка BearPass через Docker и Docker Compose на сервере с настройкой SSL и резервным копированием

Установка BearPass через Docker: пошаговая настройка, запуск, SSL и обновление

Если вам нужен self-hosted менеджер паролей, который можно быстро развернуть в собственной инфраструктуре, BearPass удобно устанавливать через Docker. Такой способ упрощает запуск, снижает количество ручных действий на сервере и помогает быстрее перейти к тестированию или внедрению в рабочую среду.
В этой статье разберем, как установить BearPass через Docker, зачем создавать отдельного пользователя, как настроить переменные окружения, запустить контейнеры, создать первого администратора, организовать резервное копирование, обновление продукта и SSL.

Почему удобно устанавливать BearPass через Docker

Установка BearPass с помощью Docker подходит компаниям, которым важно:
  • быстро развернуть менеджер паролей на сервере;
  • сократить количество ручных зависимостей;
  • стандартизировать окружение;
  • упростить обновление и администрирование;
  • получить self-hosted решение с контролем над данными и инфраструктурой.
Такой вариант особенно удобен для DevOps-инженеров, системных администраторов и команд, которые уже используют контейнеризацию в своей инфраструктуре.

Что потребуется для установки BearPass через Docker

Перед началом установки нужно подготовить сервер и убедиться, что на нем доступны:
Также крайне рекомендуется не запускать приложение от root-пользователя.

Почему BearPass лучше запускать от отдельного пользователя

Для дополнительной безопасности BearPass лучше запускать от отдельного системного пользователя. Это снижает риски при работе с файлами приложения, базой данных и контейнерами.
Создайте пользователя bearpass:
sudo adduser bearpass
Установите для него пароль:
sudo passwd bearpass
Если группа docker еще не создана, создайте ее:
sudo groupadd docker
Добавьте пользователя bearpass в группу docker:
sudo usermod -aG docker bearpass
Создайте директорию для BearPass:
sudo mkdir /opt/bearpass
Назначьте безопасные права доступа:
sudo chmod -R 700 /opt/bearpass
sudo chown -R bearpass:bearpass /opt/bearpas
Такой подход помогает изолировать рабочую директорию BearPass и ограничить доступ посторонних пользователей.

Установка BearPass через Docker

После подготовки пользователя можно переходить к развертыванию.

Шаг 1. Переключитесь на пользователя BearPass

su - bearpass

Шаг 2. Склонируйте репозиторий с приложением

git clone https://git.bearpass.ru/bear-pass /opt/bearpass/app

Шаг 3. Склонируйте Docker-репозиторий

git clone https://github.com/BearPass/Docker-core.git /opt/bearpass/docker
После этого у вас будет две основные директории:
  • /opt/bearpass/app — файлы приложения BearPass;
  • /opt/bearpass/docker — Docker-конфигурация для запуска.

Настройка .env перед запуском

Теперь нужно подготовить конфигурацию.
Перейдите в директорию с Docker-файлами:
cd /opt/bearpass/docker
Скопируйте шаблон конфигурации:
cp .env.example .env
После этого отредактируйте файл .env.

Какие параметры нужно заполнить

DATABASE_PASSWORD

Пароль для базы данных, которая будет создана при первом запуске Docker.

USER_ID и GROUP_ID

ID пользователя bearpass и его группы. Узнать их можно командой:
id bearpass
Пример вывода:
uid=1001(bearpass) gid=1001(bearpass) группы=1001(bearpass),991(docker)
Тогда значения в .env будут такими:
USER_ID=1001
GROUP_ID=1001

BEARPASS_PORT и BEARPASS_SSL_PORT

Порты, на которых будет работать менеджер паролей. По умолчанию используются 80 и 443, но при необходимости их можно изменить.

BEARPASS_FULL_URL

Полный адрес, по которому будет открываться BearPass. Например:
BEARPASS_FULL_URL=https://bearpass.company.com

Пример готового .env

DATABASE_PASSWORD=M4RU2QZqBUp11DUXoVW9

BEARPASS_URL=bearpass.company.com
BEARPASS_PORT=80
BEARPASS_SSL_PORT=443

BEARPASS_FULL_URL=https://bearpass.company.com

USER_ID=1001
GROUP_ID=1001
Важно заполнять URL и порты сразу корректно, чтобы позже не пришлось заново пересобирать окружение из-за ошибок в адресе или доступности сервиса.

Запуск BearPass в Docker

После настройки .env можно запускать контейнеры:
docker compose up -d
При первом старте приложение загрузит зависимости, и это может занять некоторое время. Поэтому сразу после запуска стоит проверить, открывается ли веб-интерфейс BearPass в браузере.
Если интерфейс уже доступен, можно переходить к созданию первого администратора.

Создание первого пользователя-администратора

Первый администратор создается специальной командой из директории Docker:
./bearpass make:user
После запуска команды система запросит:
  • email администратора;
  • пароль.
Если запрос не появляется, проверьте, что вы находитесь именно в папке с Docker-конфигурацией, например:
/opt/bearpass/docker

Настройка SSL для BearPass

Для production-использования BearPass обязательно стоит открывать по HTTPS. Это критично для безопасности доступа к веб-интерфейсу.
Базовая логика настройки SSL следующая:
  1. Убедитесь, что домен уже указывает на ваш сервер.
  2. Проверьте, что в .env указан корректный адрес в параметре BEARPASS_FULL_URL.
  3. Используйте сертификат TLS/SSL для домена.
  4. Настройте проксирование трафика на BearPass через 443 порт.
  5. После выпуска сертификата проверьте, что BearPass открывается только по HTTPS.

Что важно учесть при настройке SSL

  • Не оставляйте production-доступ только по HTTP.
  • Используйте валидный сертификат для домена.
  • Убедитесь, что редирект с HTTP на HTTPS работает корректно.
  • Проверьте, что полный адрес в конфигурации BearPass совпадает с реальным адресом доступа.
Если BearPass будет использоваться внутри компании или в контуре защищенной инфраструктуры, HTTPS все равно остается обязательным базовым уровнем защиты веб-доступа.

Администрирование BearPass в Docker

После запуска важно сразу продумать обслуживание системы: бэкапы, восстановление и обновления.

Резервное копирование BearPass

Рекомендуется регулярно делать резервные копии:
  • базы данных;
  • файлов приложения;
  • ключа шифрования.
Есть два распространенных подхода:
  • полный бэкап директории с БД;
  • отдельный дамп базы данных.

Пример дампа базы данных

docker exec -i bearpass_database /bin/bash -c "PGPASSWORD=<ПАРОЛЬ ОТ БД> pg_dump --username bear_pass bear_pass" > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql

Важный момент про ключ шифрования

Пароли в базе BearPass хранятся в зашифрованном виде. Это значит, что резервная копия базы без ключа шифрования фактически бесполезна.
Ключ хранится в файле .env в корне проекта приложения:
path/to/bearpass/app
Параметр:
ENCRYPTION_KEY=...
Этот ключ создается один раз при установке и не меняется автоматически. Его нужно хранить отдельно от резервных копий базы данных. Это важное правило безопасности.

Восстановление резервной копии

Если нужно восстановить данные из дампа, действовать стоит поэтапно.

Шаг 1. Остановите контейнеры

docker compose down

Шаг 2. Запустите только контейнер базы данных

docker compose up -d database

Шаг 3. Очистите текущую схему базы

docker compose exec -T database psql --username bear_pass bear_pass -c "drop schema public cascade; create schema public;"

Шаг 4. Восстановите данные из дампа

docker exec -i bearpass_database /bin/bash -c "PGPASSWORD=ваш_пароль_от_бд psql --username bear_pass bear_pass" < /путь/до/дампа/dump.sql

Шаг 5. Перезапустите контейнеры

docker compose up -d
После восстановления обязательно проверьте доступность веб-интерфейса и корректность авторизации пользователей.

Обновление BearPass через Docker

Перед любым обновлением обязательно сделайте резервную копию базы данных и файлов. Это обязательное условие для безопасного обновления.

Обновление через веб-интерфейс

Если вы используете панель администрирования BearPass, обновление можно выполнить через раздел:
Администрирование → Настройки → Обновление продукта
После завершения обновления нужно обновить страницу браузера с открытым приложением.

Ручное обновление BearPass

Если обновление выполняется вручную, используйте следующую последовательность.
Перейдите в директорию Docker:
cd /opt/bearpass/docker/
Остановите контейнеры:
docker compose down
Актуализируйте Docker-файлы:
git pull
Запустите контейнеры заново:
docker compose up -d
Обновите файлы приложения:
cd /opt/bearpass/app/ && git pull
Выполните обновление приложения и миграции:
cd /opt/bearpass/docker/ && ./bearpass update
После этого стоит проверить:
  • доступность интерфейса;
  • корректность входа;
  • работу основных сценариев;
  • отсутствие ошибок в логах контейнеров.

Что учитывать при обновлении старых версий

Начиная с версии 2.0.0 BearPass прекращает поддержку PHP ниже 8.2. Для Docker-сценария это обычно менее болезненно, чем при ручной установке, потому что часть зависимостей уже изолирована контейнерами.
Тем не менее при обновлении старых инсталляций важно:
  • проверить совместимость текущего окружения;
  • не пропускать резервное копирование;
  • обновлять Docker-файлы и приложение последовательно;
  • убедиться, что после обновления не потерялись настройки URL, SSL и подключения к БД.

Практические рекомендации перед запуском в production

Чтобы установка BearPass через Docker была не просто рабочей, а действительно готовой к эксплуатации, стоит сразу предусмотреть несколько вещей:
  • использовать отдельного пользователя вместо root;
  • ограничить права на директории с данными;
  • настроить HTTPS;
  • организовать регулярные бэкапы;
  • хранить ключ шифрования отдельно от дампов БД;
  • проверять обновления сначала на тестовом контуре, если система уже используется в компании.

Итог

Установка BearPass через Docker — это удобный способ быстро развернуть self-hosted менеджер паролей в своей инфраструктуре без лишней ручной рутины. При корректной настройке пользователя, .env, SSL и резервного копирования вы получаете управляемое и безопасное окружение для работы с корпоративными паролями.
Такой подход особенно хорошо подходит компаниям, которым нужен контроль над данными, понятный процесс обновления и возможность встроить BearPass в собственный ИТ-контур.
Ниже еще даю блок, который можно поставить в конец статьи как продающее завершение для SEO и конверсии.

BearPass для безопасного хранения корпоративных паролей

BearPass помогает компаниям организовать безопасное хранение паролей, разграничить доступы между сотрудниками и держать под контролем критичные учетные данные внутри своей инфраструктуры. Если вашей команде нужен self-hosted менеджер паролей для бизнеса с гибким развертыванием и удобным администрированием, BearPass можно быстро запустить как вручную, так и через Docker.
Рекомендуем к прочтению
Служба каталогов MULTIDIRECTORY и менеджер паролей BearPass совместимы
Служба каталогов MULTIDIRECTORY совместима и корректно работает с менеджером паролей BearPass
Модуль «Правила»: автоматизация сценариев безопасности в BearPass
В BearPass появился модуль «Правила» — инструмент автоматизации сценариев безопасности. Настройка уведомлений, запрета действий, условий, триггеров и регулярных выражений для контроля хранения и использования данных.
Переезд с Passwork в BearPass — без ручной миграции
Автоматизированный переезд с Passwork в BearPass: перенос пользователей, групп, ролей, прав доступа, структуры папок и LDAP без ручной настройки. Полная миграция корпоративного менеджера паролей.
Блог BearPass
В блоге BearPass пишем о защите корпоративных доступов, управлении паролями и секретами, импортонезависимых решениях и построении безопасной ИТ-инфраструктуры.