Если вы используете Docker-сборку, для обновления обязательно выполните шаги данной инструкции. Без этого работоспособность продукта не гарантируется.
Обновление Polymatica Dashboards Docker Compose
В связи с переходом на Nginx был переработан конфигурационный файл docker-compose.yml.
Для обновления необходимо скачать актуальные файлы, перенести в новый Compose локальные правки из текущей конфигурации, при необходимости настроить внешние TLS-сертификаты и затем перезапустить сервисы.
- Скачать актуальные файлы обновления.
mkdir -p /tmp/platform-update/nginx cd /tmp/platform-update || exit 1 wget https://repo.polymatica.ru/platform/docker/configs/docker-compose.yml wget https://repo.polymatica.ru/platform/docker/configs/psql_init.sh cd nginx || exit 1 wget https://repo.polymatica.ru/platform/docker/configs/nginx/gen-certs.sh wget https://repo.polymatica.ru/platform/docker/configs/nginx/logs.passwd wget https://repo.polymatica.ru/platform/docker/configs/nginx/nginx.conf chmod +x gen-certs.sh chmod +x ../psql_init.sh
2. Создать резервную копию текущих файлов.
Перед заменой файлов рекомендуется сохранить резервные копии текущей конфигурации:
mkdir -p /srv/platform/backup cp -a /srv/platform/docker-compose.yml /srv/platform/backup/docker-compose.yml.$(date +%F-%H%M%S) [ -f /srv/platform/psql_init.sh ] && cp -a /srv/platform/psql_init.sh /srv/platform/backup/psql_init.sh.$(date +%F-%H%M%S) [ -d /srv/platform/nginx ] && cp -a /srv/platform/nginx /srv/platform/backup/nginx.$(date +%F-%H%M%S)
3. Перенести локальные правки из текущего Compose в новый.
Сравните текущий и новый файлы:
diff -u /srv/platform/docker-compose.yml /tmp/platform-update/docker-compose.yml
nano /tmp/platform-update/docker-compose.yml
При переносе проверьте все локальные изменения, которые были внесены в текущую установку, например:
- переменные окружения;
- volumes и bind mounts;
- порты;
- labels;
- networks;
- ресурсные ограничения;
- кастомные пути к данным и сертификатам.
4. Настройка внешних TLS-сертификатов
Если используются внешние сертификаты, положите их на хост в каталог:
/srv/polymatica/data/nginx/ssl
По умолчанию этот каталог монтируется в контейнер Nginx как:
- /srv/polymatica/data/nginx/ssl:/etc/nginx/ssl
В секции "Nginx" файла docker-compose.yml это выглядит так:
nginx: image: nginx:1.29.4 logging: *default-logging ports: - "80:80" - "443:443" depends_on: - gateway - frontend volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro - ./nginx/logs.passwd:/etc/nginx/logs.passwd:ro - ./nginx/gen-certs.sh:/docker-entrypoint.d/gen-certs.sh:ro - /srv/polymatica/data/nginx/ssl:/etc/nginx/ssl # - ./data/nginx/ssl:/etc/letsencrypt/live/:ro networks: - polymatica labels: - "polymatica=platform"
Проверьте, что конфигурация nginx.conf ссылается на корректные пути сертификатов внутри контейнера.
По умолчанию используются:
ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem;
Если ваши файлы называются иначе, есть два варианта:
- переименовать сертификаты на хосте в "cert.pem" и "key.pem";
- изменить пути в nginx.conf на фактические имена файлов.
5. Скопировать обновленные файлы в рабочую директорию.
После внесения всех необходимых правок скопируйте файлы в "/srv/platform/":
cd /tmp/platform-update || exit 1 cp -a docker-compose.yml /srv/platform/ cp -a psql_init.sh /srv/platform/ cp -a nginx /srv/platform/
6. Проверить корректность Compose-конфигурации.
Перед запуском выполните проверку:
cd /srv/platform || exit 1 docker compose config -q
Если команда завершилась без ошибок, конфигурация корректна.
7. Запустить обновление.
cd /srv/platform || exit 1 docker compose up -d --remove-orphans
8. После обновления рекомендуется убедиться, что:
- контейнеры запустились без ошибок;
- Nginx слушает 80 и 443 порты;
- TLS-сертификаты подхватились корректно;
- frontend и gateway доступны через Nginx;
- в логах контейнеров нет ошибок инициализации.