Перейти к основному содержимому
Версия: 7.0

Онлайн-установка

Минимальные системные требования

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

Ознакомьтесь с полными системными требованиями.

к сведению

Если сервер имеет 2-4 ГБ ОЗУ, то для корректной сборки всех библиотек мы рекомендуем включить SWAP-файл

Создание SWAP файла на Linux

Обновление системы

sudo apt-get update

Установка Docker

  1. Скачать и установить Docker версии 18.06.0 или выше. Официальная статья об установке.
  2. Установить и включить Docker Compose. Официальная статья об установке.
к сведению

Установка Docker и Docker Compose на Red OS, Astra Linux и других российских диcтрибутивах может отличаться от официальных инструкций для Docker и Docker Compose.

warning

Мы рекомендуем использовать Docker, установленный не через Snap.

Установка Пассворка

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

Создать директорию и перейти в нее:

mkdir your_directory
cd your_directory

Скопировать скрипт установки:

wget https://repos.passwork.ru/repository/docker/passwork_compose_install.sh

Проверка подлинности скрипта установки

Проверить хеш файла passwork_compose_install.sh, чтобы убедиться в его подлинности:

echo "9aca5bb203f7fa3e9f7e66bb265ed692742f71036b24f7f010ea87282c56c4f9  passwork_compose_install.sh" | sha256sum --check

Система должна выдать сообщение passwork_compose_install.sh: OK

Проверка прав пользователя и запуск скрипта

Если выполняется установка не от имени root, то необходимо убедиться, что пользователь состоит в группе docker.

Проверить можно следующим способом:

id $USER | grep docker

Добавить пользователя в группу docker можно так:

sudo usermod -a -G docker $USER

Дать скрипту права запуска и запустить его:

chmod +x passwork_compose_install.sh
./passwork_compose_install.sh
к сведению

Скрипт использует apt или dnf, а также curl. Если в вашей сети используется прокси-сервер, необходимо добавить переменные окружения:  export http_proxy=http://proxy.example.com:8080 export https_proxy=http://proxy.example.com:8080

Действия, выполняемые скриптом
  • Проверка установленного Docker
  • Проверка версии Docker (выше, чем 18.06.0)
  • Проверка запущенного Docker
  • Проверка пользователя на членство в группе docker или имения права sudo
  • Проверка установлен и включен плагин Docker Compose
  • Проверка системы на принадлежность к deb или rpm дистрибутиву
  • Установка дополнительных утилит для корректной работы скриптов curl, unzip и jq
  • Запрос ввода сертификата клиента Пассворка
  • Проверка соответствия сертификата формату
  • Проверка действительности сертификата
  • Скачивание и распаковка архива с файлами docker-compose сборки
  • Проверка файла переменных окружения и добавление номера сертификата
  • Выполнение скрипта обновления кода Пассворк
  • Проверка архива с помощью цифровой подписи
  • Выполнение docker compose up -d

Процесс выполнения скрипта установки

Скрипт выполнит проверку прав текущего пользователя, а также версии необходимых компонентов. В случае возникновения ошибок скрипт создаст лог в формате install_log_date.log и поместит в него ошибки:

Пример получения ошибки при работе скрипта

Также в процессе выполнения скрипт запросит API-ключ из клиентского портала:

Расположение API-ключа из клиентского портала

После окончания выполнения скрипта

к сведению

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

Скрипт автоматически выполнит docker ps. Пожалуйста, проверьте список запущенных контейнеров. Если контейнеры не были запущены, проверьте результат и лог установки. Пример корректного результата:

Вывод корректной установки Пассворка в Docker
осторожно

Перед настройкой веб-сервера с включённой SSL-терминацией, ознакомьтесь с особенностями настройки.

Мастер установки

После сборки и запуска контейнеров Пассворк будет доступен по ссылке https://your_servername

warning

По умолчанию Пассворк использует самоподписанный сертификат, который автоматически генерируется при установке, поэтому при первом открытии страницы вы увидите сообщение о том, что браузер не доверяет сертификату сайта.

Выберите язык

На первом шаге система предложит выбрать язык интерфейса:

Выбор языка

Чек-лист настроек сервера

Чек-лист параметров покажет все ли компоненты установлены на вашем сервере:

Проверка установки компонентов

Подключение к базе данных

Для подключения используйте адрес MongoDB по умолчанию:

Подключение к базе данных

Режим Zero Knowledge

Клиентское шифрование добавляет второй уровень защиты данных и реализует модель Zero Knowledge. Это обеспечивает максимальную безопасность при размещении Пассворка.

осторожно

Режим клиентского шифрования является фундаментальным, включить или выключить его в уже работающем Пассворке нельзя (это приведет к тому, что вы не сможете открыть данные).

Подробнее о принципах работы клиентского шифрования — криптография

Настройка клиентского шифрования

Настройка Пассворка

Пассворк сгенерирует новый ключ для серверного шифрования. Если вы подключаете Пассворк к существующей базе данных, то укажите имеющийся ключ шифрования:

осторожно

Не вводите ключ, который был сгенерирован не в Пассворк. Использование ключей, сгенерированных сторонними средствами, может привести к ошибкам.

Генерация ключа шифрования базы данных

Лицензионный ключ

Лицензионные ключи можно скачать в вашем клиентском портале Пассворка:

Загрузка лицензионного ключа в Пассворк

Настройка SSL cертификата

Во время установки Пассворк генерирует самоподписанный сертификат. Когда установка завершится, вы сможете использовать полноценные SSL-сертификаты.

Использование собственного сертификата

  • Для сертификатов, изданных доверенным издателем;
  • Для сертификатов, выпущенных доменными центрами сертификации вашей организации.

Переименовать и поместить ваш SSL-сертификат или цепочку сертификации в ./conf/ssl

  • privkey.pem — приватный ключ
  • fullchain.pem — сертификат\цепочка сертификации

Использование Let’s Encrypt

Вы можете настроить Let’s Encrypt, если у вас нет доменного центра сертификации (сертификата, выпущенного доверенным центром), но есть публичное DNS-имя сервера.

Отредактировать файл .env, изменив и добавив следующие параметры:

USE_LETSENCRYPT=true
LETSENCRYPT_REG_EMAIL=mail@example.com
DOMAIN=example.com
COMPOSE_PROFILES="local_notify,mongo,certbot"

Сохранить выполненные изменения и запустить контейнер:

docker compose up -d certbot

Проверить логи контейнера на получение сертификата:

docker compose logs certbot

Пример процесса выпуска сертификата:

Пример выпуска сертификатов с помощью certbot

Пересоздать контейнеры для обновления данных с использованием новых сертификатов:

docker compose up -d --force-recreate nginx certbot

В результате Пассворк станет доступен по протоколу HTTPS с использованием сертификата от Let’s Encrypt.