---
url: https://flip-chart.ru/developers/on-premise/updates/instruction.md
description: >-
  Обновление flip On-Premise до новой версии в Docker Compose и Kubernetes
  (Helm), включая переход с PostgreSQL 14 на 15.
---

# Обновления

Образы всех компонентов (`flip-backend`, `flip-file-handlers`, `flip-frontend`, `flip-mcp-server`) публикуются в реестре `cr.yandex/crpbj8irels1kqult74e/onpremise` и версионируются по [Semantic Versioning](https://semver.org/lang/ru/) — `MAJOR.MINOR.PATCH`. Все четыре компонента выпускаются под одним номером версии и обновляются одновременно.

::: danger Перед обновлением

* Создайте [дамп базы данных](/on-premise/other/dump-database).
* Сверьте конфигурационные файлы с описанием версии и внесите изменения при необходимости.
  :::

Миграции базы данных применяются автоматически при старте контейнера backend.

## Docker Compose

1. Укажите новую версию в `.env`:
   ```ini
   FLIP_VERSION=v1.3.0
   ```
2. Загрузите образы и перезапустите контейнеры:
   ```bash
   docker compose pull
   docker compose up -d
   docker compose ps
   ```

## Kubernetes (Helm)

1. Укажите новую версию в `values.yaml` в `image.tag` каждого компонента: `backend`, `file-handlers`, `frontend`, `mcp-server`.
2. Примените обновление:
   ```bash
   helm upgrade flip ./flip-chart-<версия чарта>.tgz -f values.yaml -n flip
   kubectl -n flip get pods
   ```

::: danger Тег latest
Используется конкретная версия (`v1.2.0`), не `latest`.
:::

## Обновление PostgreSQL 14 до 15

Приложение поддерживает PostgreSQL 14 и 15; обновление СУБД не является обязательным. Формат данных PostgreSQL 14 и 15 несовместим: при переходе на 15 миграция выполняется через дамп. Команды — для Standalone-установки; для внешнего PostgreSQL используются `pg_dump`/`pg_restore` или `pg_upgrade`.

1. Остановите сервисы приложения и создайте дамп на текущей версии (PostgreSQL 14):
   ```bash
   cd deploy/docker-compose
   docker compose stop flip-backend flip-file-handlers flip-mcp-server
   docker compose exec flip-postgres sh -c 'PGPASSWORD="$POSTGRES_PASSWORD" pg_dump -U "$POSTGRES_USER" -d "$POSTGRES_DB" -F c -f /backup.dump'
   docker compose cp flip-postgres:/backup.dump ./backup-pg14.dump
   docker compose down
   ```
2. Замените `docker-compose.yaml` на версию с PostgreSQL 15 и удалите том данных PostgreSQL (имя тома — `docker volume ls | grep flip_postgres`):
   ```bash
   docker volume rm docker-compose_flip_postgres
   ```
3. Запустите PostgreSQL 15 и восстановите дамп:
   ```bash
   docker compose up -d flip-postgres
   docker compose cp ./backup-pg14.dump flip-postgres:/backup.dump
   docker compose exec flip-postgres sh -c 'PGPASSWORD="$POSTGRES_PASSWORD" pg_restore -U "$POSTGRES_USER" -d "$POSTGRES_DB" --no-owner /backup.dump'
   ```
4. Запустите приложение:
   ```bash
   docker compose up -d
   ```

Файл `backup-pg14.dump` сохраняется до проверки работоспособности приложения.
