Найти в Дзене
timmy

Сервис формирования пояснительной записки. Установка на Synology

Установка сервиса на Synology. С официального сайта скачать архив. На Synology поставить Container Manager. Сделать папку sfpz в каталоге Docker и разархивировать туда содержимое. В Conteiner Manager выбрать в разделе Образов Импорт из DSM и укажите на архив sfpz.zip (внутри исходного архива лежит) импортируется два образа backend и frontend. Укажите конфигурацию вашего веб сервера в файл default.conf (например sfpz.site.ru) как указано в инструкции. Далее в разделе Проект Conteiner Manager выбрать создание проекта и укажите путь на папку sfpz. При добавлении пути будет автоматом обнаружен yml файл и выписана конфигурация в окне настроек. Если при установке на какой-то из образов получаете ошибку о занятых портах, измените в указанной выше конфигурации номера занятых портов самих приложений (левая часть) на свободные номера. В последнем окне выбрать настройку webportal nginx № порта http и настройте webportal. Учитывая что встроенная инструкция рассчитана на linux или windows вирт

Установка сервиса на Synology.

С официального сайта скачать архив.

На Synology поставить Container Manager.

Сделать папку sfpz в каталоге Docker и разархивировать туда содержимое.

В Conteiner Manager выбрать в разделе Образов Импорт из DSM и укажите на архив sfpz.zip (внутри исходного архива лежит) импортируется два образа backend и frontend.

Укажите конфигурацию вашего веб сервера в файл default.conf (например sfpz.site.ru) как указано в инструкции.

Далее в разделе Проект Conteiner Manager выбрать создание проекта и укажите путь на папку sfpz. При добавлении пути будет автоматом обнаружен yml файл и выписана конфигурация в окне настроек. Если при установке на какой-то из образов получаете ошибку о занятых портах, измените в указанной выше конфигурации номера занятых портов самих приложений (левая часть) на свободные номера. В последнем окне выбрать настройку webportal nginx № порта http и настройте webportal.

Учитывая что встроенная инструкция рассчитана на linux или windows виртуализацию, которых у меня не было, решил добавить инструкцию для synology. Два момента на которых я запнулся, это то что надо было добавить образы вручную backend и frontend и выбор нумерации портов для занятых по умолчанию. В остальном всё запустилось и работает штатно.

Upd декабрь 2024. По вопросу редактирования портов добавлю, так как сам вновь споткнулся.

1) Если у вас работает какой-то сервис на 80 порту, то порт следует поменять, например 81.

2) Также система ругается на занятый порт postgres, его тоже надо поменять, например с 5432 на 15432.

Редактирование происходит в файле docker-compose.yml (либо в блокноте с сохранением, либо в окне проекта). Менять нужно номер порта который указан слева от двоеточия. В файле default.conf номер порта менять не нужно.

Также добавлю что я меняю файлам в папке docker права на http пользователя.

Upd август 2025. СФПЗ обновился на схему 1.05 и стал обязательным для загрузки в госэкспертизу. Сервис можно обновить на Synology, сохранив проекты. При этом существующие проекты из схемы 1.03 в схему 1.05 не превратятся. Обновить сервис сравнительно не сложно. Останавливаем контейнер. Удаляем контейнеры frontend и backend, и запускаем сервис заново.

Важно! База данных проекта хранится в контейнере postgres по этому пути /volume#/@docker/volumes/sfpz_postgresql_data/ Не удаляйте контейнер postgres. Загруженные файлы приложения для ПЗ хранятся в базе minio. По факту она нужна для функции считывания хэш сумм с файлов и потерять её не страшно.

Миграция. Мне пришлось сменить synology и заменить тома. По невнимательности и торопливости я удалил container manager, но оставил папку docker, думая что там база данных и лежит. Я считаю что это косяк разработчиков сервиса, которые неудосужились настроить ярлыки чтобы база лежала в папке докера. Спасти ситуацию удалось, восстановив из резервной базы всю ранее работовшую систему. Если делали бэкап synology целиком, то у вас есть системные папки @docker, где лежит база данных. Но достать её из бэкапа вы не сможете, так как эксплорер synology позволяет смотреть только файлы в обычных пользовательских папках. Для этого и пришлось восстанавливать весь synology целиком. У меня ушло 30 часов на это. Далее уже можно забирать базу данных. В восстановленном или старом Synology останавливаем container manager и далее через putty подключаемся по ssh, как root пользователь (команда sudo -i) и далее смотрите где у вас находится база, командами ls. Командой cp -R скопируйте папку sfpz_postgresql_data в пользовательскую папку, которую из вебпроводника synology уже видно, архивируете базу и можно через удаленное подключение с нового synology забрать базу. Далее, в самой инструкции к СФПЗ, в конце файла есть инструкция по обновлению базы. Создаем новый пустой сервис sfpz (повторяйте название проекта как в старом synology, чтобы не путаться с именами папок), после пуска и теста останавливаем проект. Копируем базу данных в папку @docker. При необходимости можно настроить в конфигурационном файле хранение базы данных в папке docker пользователя, чтобы она всегда была у вас на виду (я так не делал, инструкций давать не буду, но по докерам есть инструкции для этого).