⏱ 4–8 часов🖥️ Linux-сервер + Docker🔑 Лицензионный ключ On-Premise📡 Интернет: раз в 30 дней
Сервис разворачивается на вашем сервере. Работает без интернета — расчёт алгоритма
происходит локально. Один раз в 30 дней требуется проверка лицензии.
Все типы интеграции (тонкий, толстый, без UI) работают без изменений —
просто меняется BASE_URL.
Когда нужен On-Premise
Закрытая сеть, нет выхода в интернет
Требования безопасности / ФСБ / ISO
Данные не должны покидать периметр
Гарантия работы без внешних зависимостей
Высокая нагрузка (сотни расчётов в день)
Требования
Linux x86_64 (Ubuntu 20.04+ / Debian 11+)
Docker + Docker Compose
4 ГБ RAM, 2 CPU, 20 ГБ диск
PostgreSQL (встроен в docker-compose)
Лицензионный ключ On-Premise (отдельный тариф)
Архитектура
Сервер предприятия (локальная сеть)────────────────────────────────────────────────────raskroy-server (Docker, порт 8001)
├── orchestrator.pyd ← алгоритм (Cython, бинарник)
├── math_core.pyd ← математика (защищённый код)
├── FastAPI + PostgreSQL
└── http://localhost:8001 ← куда смотрит 1С
↑
1С:Предприятие (тот же или другой сервер в ЛВС)
└── BASE_URL = "http://raskroy-server:8001"
↓
Интернет: license.raskroy.app (раз в 30 дней)Офлайн-грейс: 30 дней без интернета
Установка
1
Получить лицензионный ключ On-Premise
Напишите нам — выдадим ключ вида LIC-XXXX-XXXX-XXXX. Ключ привязан к hostname сервера.
# Запуск
docker compose up -d
# Проверка статуса
docker compose ps
docker compose logs raskroy | tail -20
# Health check
curl http://localhost:8001/health
# Должен ответить: {"status": "ok"}# Открыть веб-интерфейс# http://ИП_СЕРВЕРА:8001/
💡При первом запуске сервис автоматически создаёт таблицы БД и проверяет лицензию. Нужен интернет только при первом старте и раз в 30 дней.
5
Создать API-ключ для 1С
bash — создание API-ключа
# Получить admin-токен
curl -s -X POST http://localhost:8001/api/v1/admin/auth \
-H "Content-Type: application/json" \
-d '{"password": "ВАШ_ADMIN_PASSWORD"}' | python3 -m json.tool
# Создать API-ключ (используйте токен из предыдущего шага)
curl -s -X POST http://localhost:8001/api/v1/admin/keys \
-H "Authorization: Bearer ТОКЕН" \
-H "Content-Type: application/json" \
-d '{"client_name": "1С Интеграция", "tier": "enterprise"}' | python3 -m json.tool
# Сохраните api_key из ответа — покажется один раз!
6
Настроить BASE_URL в 1С
В ObjectScript-модуле замените адрес на локальный. Если 1С на том же сервере — localhost:8001. Если на другом сервере в ЛВС — имя_сервера:8001.
Изменение в модуле 1С
// Было:
BASE_URL = "https://raskroy.app";
// Стало (On-Premise):
BASE_URL = "http://raskroy-server:8001"; // ← hostname Docker-сервера// или
BASE_URL = "http://192.168.1.100:8001"; // ← IP в локальной сети
⚠Если используется HTTP (не HTTPS), в толстом клиенте в HTTPСоединение не добавляйте ЗащищённоеСоединениеOpenSSL. Для HTTPS в ЛВС настройте nginx с self-signed сертификатом.
Обновление
bash — обновление до новой версии
docker compose pull
docker compose up -d
docker compose logs raskroy | grep "БД инициализирована"
# Новые таблицы создаются автоматически при старте
ℹДанные в PostgreSQL сохраняются между обновлениями (volume pgdata). Делайте резервную копию перед мажорными обновлениями.
Выберите тип интеграции с 1С
On-Premise меняет только адрес сервера. Код ObjectScript — тот же. Выберите нужный тип:
Открыть http://ИП_СЕРВЕРА:8001/ в браузере — загружается интерфейс расчёта
Открыть /admin → войти с паролем из .env → видна панель управления
В 1С: тестовый расчёт через ObjectScript возвращает результат
В логах Docker нет ошибок с «license» — лицензия активна
⚠Если через 30 дней нет интернета — сервис продолжает работать ещё 30 дней (офлайн-грейс). По истечении — свяжитесь с нами для продления оффлайн-периода.