Онлайн-установка
Минимальные системные требования
Пассворк не требователен к системным ресурсам, а необходимое количество серверов зависит от числа активных пользователей, объема хранимых данных и требований к отказоустойчивости системы.
Ознакомьтесь с полными системными требованиями.
Если сервер имеет 2-4 ГБ ОЗУ, то для корректной сборки всех библиотек мы рекомендуем включить SWAP-файл
Обновление системы
- DEB
- RPM
sudo apt-get update
sudo yum update
Установка Docker
- Скачать и установить Docker версии 18.06.0 или выше. Официальная статья об установке.
- Установить и включить Docker Compose. Официальная статья об установке.
Установка Docker и Docker Compose на Red OS, Astra Linux и других российских диcтрибутивах может отличаться от официальных инструкций для Docker и Docker Compose.
Мы рекомендуем использовать Docker, установленный не через Snap.
Установка Пассворка
Для установки Пассворка необходимо получить и запустить скрипт, который установит необходимые компоненты для работы скриптов.
Создать директорию и перейти в нее:
- shell
mkdir your_directory
cd your_directory
Скопировать скрипт установки:
- shell
wget https://repos.passwork.ru/repository/docker/passwork_compose_install.sh
Проверка подлинности скрипта установки
Проверить хеш файла passwork_compose_install.sh, чтобы убедиться в его подлинности:
- shell
echo "9aca5bb203f7fa3e9f7e66bb265ed692742f71036b24f7f010ea87282c56c4f9 passwork_compose_install.sh" | sha256sum --check
Система должна выдать сообщение passwork_compose_install.sh: OK
Проверка прав пользователя и запуск скрипта
Если выполняется установка не от имени root, то необходимо убедиться, что пользователь состоит в группе docker.
Проверить можно следующим способом:
- shell
id $USER | grep docker
Добавить пользователя в группу docker можно так:
- shell
sudo usermod -a -G docker $USER
Дать скрипту права запуска и запустить его:
- shell
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-ключ из клиентского портала:

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

Перед настройкой веб-сервера с включённой SSL-терминацией, ознакомьтесь с особенностями настройки.
Мастер установки
После сборки и запуска контейнеров Пассворк будет доступен по ссылке https://your_servername.
По умолчанию Пассворк использует самоподписанный сертификат, который автоматически генерируется при установке, поэтому при первом открытии страницы вы увидите соо бщение о том, что браузер не доверяет сертификату сайта.
Выберите язык
На первом шаге система предложит выбрать язык интерфейса:

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

Подключение к базе данных
Для подключения используйте адрес 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"
Сохранить выполненные изменения и запустить контейнер:
- shell
docker compose up -d certbot
Проверить логи контейнера на получение сертификата:
- shell
docker compose logs certbot
Пример процесса выпуска сертификата:

Пересоздать контейнеры для обновления данных с использованием новых сертификатов:
- shell
docker compose up -d --force-recreate nginx certbot
В резу льтате Пассворк станет доступен по протоколу HTTPS с использованием сертификата от Let’s Encrypt.