ArchMapДокументация

Обновить ArchMap до новой версии

Примечание

Новые версии ArchMap выходят с тегами вида v1.2.3. Миграции базы при обновлении применяются сами. Миграции ArchMap только добавляют новое, поэтому прежняя версия обычно продолжает работать и с обновлённой базой. Перед обновлением сделайте резервную копию базы (см. Сделать резервную копию и восстановить базу).

Обновить Docker Compose#

Чтобы обновить ArchMap, установленный через Docker Compose, выполните следующие действия:

  1. Сделайте копию базы (см. Сделать копию базы).

  2. В папке с файлом compose.yaml получите новую версию исходного кода:

    git pull
    
  3. Пересоберите и перезапустите контейнеры:

    docker compose up -d --build
    

    При запуске контейнер сам применит миграции базы.

Обновить в Kubernetes#

Чтобы обновить ArchMap в Kubernetes, выполните следующие действия:

  1. Сделайте копию базы (см. Сделать копию базы).

  2. Обновите релиз до новой версии чарта, сохранив прежние значения:

    helm upgrade archmap oci://ghcr.io/eidunyushkinhse/charts/archmap -n archmap \
      --version НОВАЯ_ВЕРСИЯ --reuse-values --wait
    

    Новый под сначала применит миграции в init-контейнере, затем сменит старый.

Примечание

Ключ подписи входа сохраняется при обновлении, поэтому пользователям не придётся входить заново.

Примечание

Чтобы вернуть прежнюю версию, выполните helm rollback archmap -n archmap. Если новая версия изменила базу так, что прежняя с ней не работает, сначала восстановите базу из копии.

Обновить на сервере#

Чтобы обновить ArchMap на сервере, выполните следующие действия:

  1. Соберите архив поставки новой версии (см. Собрать архив поставки).

  2. Перенесите архив и файл .sha256 на сервер, проверьте целостность и распакуйте архив:

    sha256sum -c archmap-*.tar.gz.sha256
    tar -xzf archmap-*.tar.gz && cd archmap-*-linux-x86_64
    
  3. Запустите установщик без параметров:

    sudo ./deploy/install.sh
    

    Установщик сделает копию базы, применит миграции, переключит /opt/archmap/current на новый релиз и перезапустит службу. Настройки и конфигурация nginx при этом не меняются.

Примечание

Если новая версия меняет схему базы, установщик перед миграциями сохраняет копию базы в папку /opt/archmap/backups и хранит пять последних копий. Если копию сделать не удалось (например, нет pg_dump нужной версии), установка остановится до миграций. Если копию вы уже сделали сами, запустите установщик с параметром --no-backup.

Примечание

Если новый релиз в течение минуты не ответил, что готов к работе, установщик сам вернёт прежний релиз и завершится с ошибкой. Сервис продолжит работать на прежнем релизе. Вернуться к прежней версии после удачного обновления можно командой, которую установщик печатает в конце.

Подключить ИИ-агентов на сервере старой версии#

Примечание

Если ArchMap был установлен на сервер до версии с подключением ИИ-агентов по адресу …/mcp, то в конфигурации nginx нет этого адреса, потому что установщик её не переписывает. Агенты не подключатся, а установщик при обновлении выведет предупреждение.

Чтобы открыть адрес /mcp на таком сервере, выполните следующие действия:

  1. Откройте файл /etc/nginx/conf.d/archmap.conf.

  2. В блок server { … } рядом с location /api/ добавьте:

    location = /mcp {
        proxy_pass http://archmap_backend;
        proxy_read_timeout 300s;
        proxy_buffering off;
    }
    location ^~ /.well-known/oauth- {
        proxy_pass http://archmap_backend;
    }
    
  3. Проверьте конфигурацию и перечитайте её:

    sudo nginx -t && sudo systemctl reload nginx
    

Примечание

Если конфигурацию nginx писал установщик, вместо правки вручную можно запустить его с прежними параметрами --server-name, --tls-cert и --tls-key. Он перепишет конфигурацию целиком, вместе с новыми адресами и заголовками безопасности.