Docker
Онлайн-обновление
Проверка прав пользователя и запуск скрипта
Если обновление выполняется не от имени root — необходимо убедиться, что пользователь состоит в группе docker.
Проверить нахождение пользователя в группе docker можно следующей командой:
id $USER | grep docker
Если пользователь не принадлежит группе, добавить его через команду:
sudo usermod -a -G docker $USER
Скрипт использует curl. Если в вашей сети используется прокси-сервер, необходимо добавить переменные окружения:
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
Затем запустить скрипт обновления Пассворка:
./update.sh
Скрипт состоит из следующих этапов:
- Проверки наличия утилит
unzip,curlиjq - Импорта переменных из файла
.env - Проверки переменной
$CERT - Получения последней доступной версии Пассворка
- Создания резервной копии базы данных и конфигурационных файлов
- Загрузки и обновления
- Обработки ошибок
Завершение работы скрипта
Перед обновлением Пассворка, скрипт создает резервную копию базы данных в директории ./backup/mongo-xxxx-xx-xx-xx:xx:xx.dump и копию конфигурационных файлов в корневой директории ./conf-20240201-xxxxxx.tar.gz.
После выполнения скрипта необходимо перезапустить контейнеры passwork_nginx и passwork_php:
docker restart passwork_nginx passwork_php
Офлайн-обновление
Проверка прав пользователя
Если обновление выполняется не от имени root — необходимо убедиться, что пользователь состоит в группе docker.
Проверить нахождение пользователя в группе docker можно следующей командой:
id $USER | grep docker
Если пользователь не принадлежит группе, добавить его через команду:
sudo usermod -a -G docker $USER
Загрузка обновления и запуск скрипта
Перейти на клиентский портал и скачать актуальную версию Пассворка:

Переместить загруженный архив в корневую директорию установки на сервере и запустите скрипт обновления Пассворка:
./offline_update.sh
Скрипт выполняет поиск архива или директории с названием Passwork-*
Если название не соответствует маске, вы увидите ошибку.
Скрипт состоит из следующих этапов:
- Импорта переменных из файла .env
- Определения режима обновления:
- Если архив с версией найден, устанавливается режим «zip»
- Если директория с версией найдена, устанавливается режим «directory»
- Создания резервной копии базы данных и конфигурационных файлов
- Проверки наличия утилиты Unzip при обнаружении архива .zip
- Распаковки содержимого архива, либо копирование содержимого директории в каталог «www»
- Выбора метода обновления и выполнения
- Обраб отки ошибок
Завершение работы скрипта
Перед обновлением Пассворка, скрипт создаст резервную копию базы данных в директории ./backup/mongo-xxxx-xx-xx-xx:xx:xx.dump и копию конфигурационных файлов в корневой директории ./conf-20240201-xxxxxx.tar.gz.
После выполнения скрипта необходимо перезапустить контейнеры passwork_nginx и passwork_php:
docker restart passwork_nginx passwork_php