<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://svacer.ispras.ru/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Help%3A13-alpha_installation</id>
	<title>Help:13-alpha installation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://svacer.ispras.ru/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Help%3A13-alpha_installation"/>
	<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:13-alpha_installation&amp;action=history"/>
	<updated>2026-05-26T04:33:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:13-alpha_installation&amp;diff=3556&amp;oldid=prev</id>
		<title>M.vinogradov: initial version</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:13-alpha_installation&amp;diff=3556&amp;oldid=prev"/>
		<updated>2026-05-25T06:47:52Z</updated>

		<summary type="html">&lt;p&gt;initial version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Демонстрационная сборка ==&lt;br /&gt;
&lt;br /&gt;
Установка демонстрационной версии Svacer с поддержкой [[Help:13-alpha_introduction|описанных функций]] доступна только в докере с использованием docker compose&lt;br /&gt;
&lt;br /&gt;
== docker compose ==&lt;br /&gt;
&lt;br /&gt;
Для установки демонстрационной версии подготовлен специальный файл [https://svacer.ispras.ru/extra/docker-compose-with-ai-llm-mcp.yml docker-compose-with-ai-llm-mcp.yml]&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;curl -LO https://svacer.ispras.ru/extra/docker-compose-with-ai-llm-mcp.yml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При запуске Svacer с использованием данного compose-файла доступны профили:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Профиль !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| Без профиля || Запуск Svacer без поддержки ИИ-ассистента и MCP&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ai&amp;lt;/code&amp;gt; || Запуск Svacer с поддержкой ИИ-ассистента со встроенной моделью&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;llm&amp;lt;/code&amp;gt; || Запуск Svacer с поддержкой ИИ-ассистента и возможностью подключения к нему внешних LLM для разметки предупреждений&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mcp&amp;lt;/code&amp;gt; || Запуск Svacer с MCP-сервером &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для запуска с использованием одного или нескольких профилей используется команда&lt;br /&gt;
&lt;br /&gt;
 docker compose -f docker-compose-with-ai-llm-mcp.yml ... --profile llm --profile mcp ... up -d&lt;br /&gt;
&lt;br /&gt;
При этом необходимо учитывать, что&lt;br /&gt;
&lt;br /&gt;
* при запуске Svacer без профилей или только с профилем &amp;lt;code&amp;gt;mcp&amp;lt;/code&amp;gt; функциональность разметки предупреждений с помощью ИИ будет возвращать ошибку;&lt;br /&gt;
&amp;lt;!-- * Профиль &amp;lt;code&amp;gt;no-ai&amp;lt;/code&amp;gt; не может быть использован одновременно с другими профилями; --&amp;gt;&lt;br /&gt;
* запуск с профилями &amp;lt;code&amp;gt;llm&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;mcp&amp;lt;/code&amp;gt; требует настройки переменных окружения (см. ниже).&lt;br /&gt;
&lt;br /&gt;
Для удобства настройки переменных окружения может использоваться env-файл [https://svacer.ispras.ru/extra/llm-mcp.env llm-mcp.env], который после установки необходимых значений может быть передан команде запуска&lt;br /&gt;
&lt;br /&gt;
 docker compose -f docker-compose-with-ai-llm-mcp.yml --env-file ./llm-mcp.env ... --profile llm --profile mcp ... up -d&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == &amp;lt;code&amp;gt;--profile no-ai&amp;lt;/code&amp;gt; == --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Данный профиль не требует дополнительной конфигурации для запуска --&amp;gt;&lt;br /&gt;
== &amp;lt;code&amp;gt;--profile llm&amp;lt;/code&amp;gt; ==&lt;br /&gt;
Запуск Svacer с данным профилем даёт возможность подключить к ИИ-ассистенту внешний сервис моделей, поддерживающий OpenAI API. После успешного подключения ИИ-ассистент сможет использовать LLM для разметки и комментирования предупреждений. В списке разметки с помощью ИИ появятся модели доступные пользователю, чей ключ был передан при запуске.&lt;br /&gt;
&lt;br /&gt;
При запуске Svacer с профилем &amp;lt;code&amp;gt;llm&amp;lt;/code&amp;gt; необходимо:&lt;br /&gt;
* установить в переменную окружения &amp;lt;code&amp;gt;LLM_URL&amp;lt;/code&amp;gt; значение url по которому контейнер &amp;lt;code&amp;gt;svacer-validation-server&amp;lt;/code&amp;gt; сможет подключиться к сервису моделей, совместимому с OpenAI API;&lt;br /&gt;
* установить в переменную окружения &amp;lt;code&amp;gt;LLM_TOKEN&amp;lt;/code&amp;gt; значение ключа авторизации в сервис моделей;&lt;br /&gt;
* при необходимости установить значения переменных &amp;lt;code&amp;gt;REG_TOKEN&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;REG_LOGIN&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;REG_PASSWORD&amp;lt;/code&amp;gt; содержащих, соответственно, токен авторизации или логин и пароль администратора. Эти данные нужны для запуска компонентов поддержки LLM в ИИ-ассистенте. По умолчанию будут использоваться логин и пароль &amp;lt;code&amp;gt;admin:admin&amp;lt;/code&amp;gt;;&lt;br /&gt;
* при желании изменить отображаемое название сервиса в интерфейсе выбора моделей, можно установить значение переменной &amp;lt;code&amp;gt;REG_NAME&amp;lt;/code&amp;gt;. По умолчанию: &amp;lt;code&amp;gt;llm&amp;lt;/code&amp;gt;;&lt;br /&gt;
* при необходимости ограничения списка доступных моделей, в переменную &amp;lt;code&amp;gt;MODEL_WHITELIST&amp;lt;/code&amp;gt; нужно передать список названий моделей разделённых запятыми;&lt;br /&gt;
* если производительность сервиса моделей позволяет параллельно обрабатывать несколько предупреждений, то можно установить значение переменной &amp;lt;code&amp;gt;MAX_PARALLEL_REQUESTS&amp;lt;/code&amp;gt; в значение больше единицы;&lt;br /&gt;
* если производительность модели не позволяет обрабатывать одно предупреждение в минуту, то результаты обработки не будут получены. Чтобы увеличить время ожидания новых результатов модели, можно установить значение переменной &amp;lt;code&amp;gt;MODEL_VALIDATION_MAXATTEMPTS&amp;lt;/code&amp;gt; в значение кратное 12 (двенадцати). Например: значение 60 == 5 минут.&lt;br /&gt;
&lt;br /&gt;
В процессе обработки набора маркеров с помощью LLM ИИ-ассистент ожидает, что за минуту будет обрабатываться хотя бы один маркер. Если в течение минуты не появятся новы&lt;br /&gt;
&lt;br /&gt;
Значения данных переменных могут быть сохранены в &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; файл и переданы при запуске с помощью аргумента &amp;lt;code&amp;gt;docker compose --env-file ./.env ... up -d&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Описание переменных доступных для конфигурации запуска ИИ-ассистента с поддержкой внешнего сервиса моделей:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# URL of the OpenAI API-compatible LLM hosting service&lt;br /&gt;
LLM_URL=&lt;br /&gt;
&lt;br /&gt;
 # LLM hosting service authorization token&lt;br /&gt;
LLM_TOKEN=&lt;br /&gt;
&lt;br /&gt;
# Svacer admin authorization token, which will be used to perform LLM service registration requests in the AI assistant. &lt;br /&gt;
# Or with REG_LOGIN and REG_PASSWORD, if token is not set&lt;br /&gt;
# REG_TOKEN=&lt;br /&gt;
&lt;br /&gt;
# Svacer admin login and password&lt;br /&gt;
# REG_LOGIN=admin&lt;br /&gt;
# REG_PASSWORD=admin&lt;br /&gt;
&lt;br /&gt;
# ID of the service in the AI assistant&lt;br /&gt;
# REG_ID=llm&lt;br /&gt;
&lt;br /&gt;
# The name of the service displayed in the AI assistant&lt;br /&gt;
# REG_NAME=llm&lt;br /&gt;
&lt;br /&gt;
# Service description&lt;br /&gt;
# REG_DESCRIPTION=&amp;quot;LLM hosting service&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Comma-separated list of available models. If not specified, all models available to the LLM hosting service user will be available.&lt;br /&gt;
# MODEL_WHITELIST=&lt;br /&gt;
&lt;br /&gt;
# Maximum number of simultaneous requests to process warning with LLM&lt;br /&gt;
# MAX_PARALLEL_REQUESTS=1&lt;br /&gt;
&lt;br /&gt;
# Maximum number of 5s attempts to get single warning result from LLM&lt;br /&gt;
# MODEL_VALIDATION_MAXATTEMPTS=12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;--profile mcp&amp;lt;/code&amp;gt; ==&lt;br /&gt;
При запуске с данным профилем стартует контейнер с MCP-сервером подключённый к текущему экземпляру Svacer.&lt;br /&gt;
&lt;br /&gt;
При запуске Svacer с профилем &amp;lt;code&amp;gt;llm&amp;lt;/code&amp;gt; необходимо:&lt;br /&gt;
* установить в переменную окружения &amp;lt;code&amp;gt;MCP_PORT&amp;lt;/code&amp;gt; номер сетевого порта на котором будет доступен MCP-сервер. По умолчанию будет назначен порт &amp;lt;code&amp;gt;8002&amp;lt;/code&amp;gt;.&lt;br /&gt;
* установить в переменную окружения &amp;lt;code&amp;gt;SVACER_MPC_TOKEN&amp;lt;/code&amp;gt; строку с токеном авторизации, который необходимо будет указать в клиенте MCP-сервера;&lt;br /&gt;
* при необходимости доступа к MCP-серверу по адресу отличному от &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;127.0.0.1&amp;lt;/code&amp;gt;) или при использовании DNS необходимо:&lt;br /&gt;
** указать необходимый адрес/dns-имя в переменной &amp;lt;code&amp;gt;MCP_ALLOWED_HOSTS&amp;lt;/code&amp;gt; в виде &amp;lt;code&amp;gt;172.17.0.1:*&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;some.domain:*&amp;lt;/code&amp;gt;&lt;br /&gt;
** указать необходимый адрес/dns-имя в переменной &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;MCP_ALLOWED_ORIGINS&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; в виде &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://172.17.0.1:*&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://some.domain:*&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* При необходимости можно настроить логин и пароль пользователя, от имени которого mcp-сервер будет выполнять запросы к Svacer. По умолчанию: &amp;lt;code&amp;gt;admin:admin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После запуска mcp-сервер будет доступен по адресу &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:{MCP_PORT}/mcp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Описание других переменных доступных для конфигурации запуска ИИ-ассистента с поддержкой внешнего сервиса моделей:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Bearer token for /mcp clients in HTTP mode. Generate: openssl rand -hex 32&lt;br /&gt;
SVACER_MCP_TOKEN=&lt;br /&gt;
&lt;br /&gt;
# Svacer admin login and password&lt;br /&gt;
SVACER_LOGIN=admin&lt;br /&gt;
SVACER_PASSWORD=admin&lt;br /&gt;
&lt;br /&gt;
# External port that will be mapped by docker to the internal port 8000&lt;br /&gt;
MCP_PORT=8002&lt;br /&gt;
&lt;br /&gt;
MCP_ALLOWED_HOSTS=172.17.0.1:*&lt;br /&gt;
MCP_ALLOWED_ORIGINS=http://172.17.0.1:*&lt;br /&gt;
&lt;br /&gt;
# Svacer server (container) URL&lt;br /&gt;
# SVACER_URL=http://svacer:8080&lt;br /&gt;
&lt;br /&gt;
# HTTP timeout for requests to Svacer, seconds&lt;br /&gt;
# SVACER_TIMEOUT=30&lt;br /&gt;
&lt;br /&gt;
# Public URL of this MCP server (used for WWW-Authenticate, RFC 9728).&lt;br /&gt;
# Defaults to http://localhost:&amp;lt;SVACER_HTTP_PORT&amp;gt;. Set when running behind a reverse proxy.&lt;br /&gt;
# SVACER_MCP_RESOURCE_URL=https://mcp.example.com&lt;br /&gt;
&lt;br /&gt;
# Subset of tools to register (comma-separated). Unset = all 8 tools.&lt;br /&gt;
# Available: get_projects, get_snapshots, get_warnings, get_markers,&lt;br /&gt;
#            get_project_stats, get_project_groups, get_advanced_file_preview, get_diff&lt;br /&gt;
# SVACER_TOOLS=get_projects,get_snapshots,get_markers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>M.vinogradov</name></author>
	</entry>
</feed>