# Технические средства хранения исходного текста и компиляции

## 1. Хранение исходного текста

Основной репозиторий исходного текста хранится на сервере ООО «СветИТ» в центре обработки данных на территории РФ:

| Параметр | Значение |
|---|---|
| Сервер | виртуальный сервер, IP 194.226.112.133, ЦОД в г. Москве |
| Система контроля версий | Git (репозиторий `/srv/apps/<продукт>/repo.git`) |
| Доступ | только по SSH-ключам сотрудников правообладателя |
| Резервные копии | ежедневно, хранятся на территории РФ |

> **Перед подачей:** перенести основной репозиторий и систему учёта задач с gitlab.com на сервер в РФ (собственный GitLab CE или российский сервис GitFlic / GitVerse). Пока репозиторий ведётся на gitlab.com, требование подп. «и» не выполнено.

## 2. Сборка (компиляция)

Объектный код (контейнерные образы, сборка клиентского приложения) собирается на том же сервере в РФ:

- исполнитель сборки (GitLab Runner) установлен на сервере 194.226.112.133;
- после слияния изменений в основную ветку исходный текст передаётся в репозиторий на сервере, скрипт сборки собирает образы Docker и запускает новую версию;
- клиентская часть: TypeScript → JavaScript (сборщик Vite) внутри контейнера на сервере;
- серверная часть: интерпретируемый Python, байт-код формируется на сервере при установке.

## 3. Объектный код

Собранные образы хранятся в локальном хранилище Docker на сервере в РФ. Дистрибутив для установки у заказчика передаётся заказчику напрямую, без иностранных серверов.

## 4. Сторонние компоненты

Сторонние библиотеки с открытой лицензией (Р10) скачиваются при сборке из публичных репозиториев пакетов. Для независимости от зарубежных ресурсов используется кеш пакетов на сервере в РФ.
