Перевірка на плагіат для самостійного хостингу
Запускайте рушій Apache 2.0 на власній інфраструктурі. Docker Compose для типової інсталяції, Helm chart для Kubernetes, підтримка bare-metal для ізольованих середовищ. Ваші сервери, ваш Postgres, ваша автентифікація, ваші дані. Жоден трафік не виходить за межі вашого VPC. Оптимальний варіант розгортання, коли хмарні рішення недоступні.
Чотири ситуації, коли хмара — не варіант.
Розгортання з захистом привілеїв
Меморандуми, довідки, матеріали для розкриття під захисним ордером не можна передавати у сторонню хмару.
- Підтримка ізольованої мережі
- SAML / LDAP / Active Directory авторизація
- Працює всередині вже відповідного середовища
Для IRB-перевірки, на кампусі
Студентські роботи, клінічні дослідження, затверджені декількома комітетами — жорсткі вимоги до місця розташування даних.
- Працює поряд із Canvas / Moodle у вашій мережі
- Apache 2.0 — ваш IT клонують репозиторій перед підписанням
- Режим ЄС-зберігання, якщо хмара потрібна
Ізоляція + сумісність із FedRAMP
Федеральні, державні, оборонні — дані не можуть залишити мережу.
- Варіант установки bare-metal (docker не потрібен)
- Підтримка OIDC / CAC / PIV, смарт-карт
- Можливість STIG-посилення (RHEL UBI)
Захист інтелектуальної власності та комерційної таємниці
Документи R&D, проекти злиття і поглинання, внутрішні матеріали — все, що не повинно виходити за межі корпоративної мережі.
- Kubernetes Helm chart для горизонтального масштабування
- Свій Postgres + Redis + object store
- Аудит-лог → SIEM (Splunk / Datadog / Elastic)
Три режими розгортання. Один рушій.
Виберіть шлях, що відповідає вашій інфраструктурі. Ядро однакове в усіх трьох, різниця лише в операційній упаковці.
01 · docker compose (10 хв)
git clone github.com/NoplagLabs/noplag-engine && cd engine && docker compose up -d. У комплекті compose-файлу: Postgres, Redis, контейнер із ядром та мінімальна адмін-панель. За замовчуванням — одновузлове розгортання для невеликих команд (~1 000 перевірок на день). Готове до використання у продакшені; складніше — інтегрувати власну автентифікацію та корпус.
02 · Kubernetes Helm chart
helm install noplag noplag/engine --values your-values.yaml. Chart використовує зовнішні Postgres + Redis (вкажіть ваші сервіси), підтримує горизонтальне масштабування для engine pod-ів, експортує Prometheus-метрики для автоскейлінгу. Описані всі налаштування обмежень ресурсів, кількості реплік, persistent volume claims.
03 · Bare-metal / ізольоване середовище
Для середовищ, де Docker недоступний (деякі оборонні та державні структури). Рушій постачається у вигляді tar-архіву з усіма залежностями; встановлення через ansible playbook на RHEL UBI або Ubuntu LTS. Підходить для ізольованих мереж: після інсталяції зовнішні мережеві з'єднання не потрібні. Базовий образ можна посилити відповідно до STIG; модулі автентифікації OIDC / CAC / PIV у комплекті.
Що потрібно для запуску.
Мінімальні вимоги до заліза для невеликих команд. Горизонтально масштабується для великих навантажень. Для Enterprise — усе своє: автентифікація, корпус, сховище.
01 · ВУЗОЛ РУШІЯ
Мінімум 8 vCPU + 16 ГБ RAM для контейнера рушія. Обробляє близько 50 паралельних перевірок із середнім часом 47 секунд на документ обсягом 1 500 слів. Горизонтальне масштабування — додаванням вузлів рушія за балансувальником навантаження; Helm chart для Kubernetes автоматизує це через HPA за CPU та глибиною черги.
02 · БАЗА ДАНИХ
PostgreSQL 15+ з pgvector. Розмір відповідно до обсягу корпусу: ~50 ГБ на 100 000 документів, масштабується лінійно. Підтримка RDS/Cloud SQL/managed-інстансів через стандартне підключення. Для self-managed Postgres потрібні pgvector + GIN.
03 · КЕШ / ЧЕРГА
Redis 7+ для черги й кешування. Мінімальні вимоги (~2 ГБ RAM). Elasticache/Memorystore/Redis Cloud працюють; для невеликих — кластерний pod. Chart за замовчуванням використовує Redis Sentinel для HA.
04 · ЗБЕРІГАННЯ КОРПУСА
Enterprise: постачається з публічним корпусом у вигляді індексованого пакета (~280 ГБ у стисненому вигляді). Відновлюється у Postgres і об'єктне сховище (S3 / GCS / MinIO / Ceph) під час першого встановлення. Опційно: можна підключити власні адаптери веб-пошуку (ключі API Google / Brave) для перевірки в реальному часі, або пропустити цей крок, якщо перевірка здійснюється лише по індексованому корпусу.
05 · ІДЕНТИФІКАЦІЯ
SAML 2.0, LDAP, OIDC (Okta, Azure AD, Auth0, Keycloak), або вбудований email-пароль. Смарт-карти (CAC/PIV) через OIDC для держустанов. Підтримка мультиоренди — для спільних сервісів між відділами.
06 · СПОСТЕРЕЖЕННЯ
Prometheus-метрики + OpenTelemetry traces. Аудит-лог у JSON; надсилайте у свій SIEM (Splunk, Datadog, Elastic, Grafana Loki). Дашборди — як Grafana JSON у репозиторії. Сумісність зі стандартним стеком CNCF спостереження.
Типовий docker compose deployment.
Готовий до продакшену стек compose із рушієм, Postgres, Redis та адмін-панеллю. Додавайте власного провайдера автентифікації, налаштовуйте корпус текстів, масштабуйте кластер горизонтально, коли одного вузла вже недостатньо.
$ git clone https://github.com/NoplagLabs/noplag-engine$ cd engine$ cp .env.example .env$ vim .env # configure auth + corpus + secrets$ docker compose up -dCreating noplag-postgres ... doneCreating noplag-redis ... doneCreating noplag-engine ... doneCreating noplag-admin ... doneEngine ready at http://localhost:8080Admin UI at http://localhost:8081
# AuthAUTH_PROVIDER=saml # or oidc, ldap, builtinSAML_METADATA_URL=https://idp.acme.com/...# DatabasePOSTGRES_URL=postgres://user:pw@db:5432/noplagREDIS_URL=redis://redis:6379/0# CorpusCORPUS_BUNDLE_PATH=/srv/corpus/2026-05WEB_SEARCH_ENABLED=false # air-gap# ObservabilityOTEL_ENDPOINT=https://otel.acme.com:4317AUDIT_LOG_SINK=splunk-hec
- 10 хвdocker compose до готовності
- 8 / 16мінімум vCPU / ГБ RAM
- Apache2.0 · безкоштовно назавжди
- 0потрібен зовнішній інтернет (ізоляція)
- SAMLLDAP · OIDC · CAC / PIV, смарт-карта
Підключайтеся до вашої існуючої інфраструктури ідентифікації.
Стандартний enterprise SSO
Налаштуйте SAML_METADATA_URL, що вказує на ваш IdP. Перевірено з Okta, Auth0, OneLogin, Microsoft Entra (Azure AD), Ping Identity, Keycloak, Shibboleth. Маппінг атрибутів груп для розподілу ролей. SCIM 2.0 provisioning через адмін-API.
Інтеграція з локальним Active Directory
Для середовищ з on-prem AD чи OpenLDAP. Дані для входу прописуються в .env, доступ визначається груповими запитами. Використовується університетами, юридичними, державними, де SAML зайвий або AD вже покриває потреби.
OIDC для хмарних, CAC/PIV для оборонних
Звичайний OIDC для Okta/Auth0/Cognito/Google Workspace. Для оборонних: CAC/PIV авторизація через OIDC-bridge. Смарт-карта співвідноситься із Noplag-користувачем; роль визначає група за каталогом DoD.
Оновлюйтеся за своїм графіком.
При самостійному розгортанні ви контролюєте частоту оновлень. Стабільні релізи відмічаються щомісяця (той самий код, що й cloud), патч-релізи — за потребою з безпеки. Просто pull нового тегу, docker compose pull && up -d — все. Міграції проходять автоматично при запуску. Для ізольованих — публікуємо підписані release-бандли (RPM / DEB / tar) з відкритими підписами; перевірте підпис, перенесіть через ваш стандартний процес та встановіть у наступне вікно обслуговування. LTS-теги отримують критичні патчі 18 місяців; продукційні — місячний цикл. Усі оновлення під вашим контролем; дані залишаються ваші.
Дивитися інструкцію з оновленняЩо реально питають IT/DevOps перед розгортанням.
Що справді безкоштовне, а за що треба платити у self-hosted?
Сам рушій Apache 2.0 завжди безкоштовний — клонувати репозиторій, запустити. Безкоштовна версія включає каскад виявлення, адмін-панель та REST API. Додатково для Enterprise: пакет індексованого публічного корпусу (~280 ГБ готового індексу), SLA підтримки, підписані релізи для ізольованих мереж, допомога з міграцією.
Чи можна запускати без інтернету (ізольовано)?
Так. Для перевірки тільки по локальному корпусу мережа не потрібна. WEB_SEARCH_ENABLED=false — щоб пропустити live-web. Для Enterprise релізи підписані + ізоляційні бандли з GPG — переносьте через ваш вже-погоджений канал. Перевірялося в DoD та розвідувальних установах.
Які мінімальні вимоги до апаратури?
Контейнер рушія: 8 vCPU + 16 ГБ RAM. Postgres: 4 vCPU + 8 ГБ + ~50 ГБ для 100 тис. індексованих документів. Redis: ~2 ГБ RAM. Для 5 000 перевірок/місяць достатньо одного середнього сервера. Для 100 тис.+ перевірок/місяць — Kubernetes, горизонтальне масштабування рушія, керований Postgres.
Чи працює з нашою інфраструктурою ідентифікації?
SAML 2.0 (Okta, Auth0, Entra, OneLogin, Keycloak, Shibboleth), LDAP/Active Directory, OIDC, CAC/PIV через OIDC-bridge, або вбудований email/пароль. SCIM 2.0 provisioning. Маппінг груп → ролі гнучко.
Що з pgvector — це обов’язкова вимога?
Це буде потрібно для L3 шару векторних ембеддінгів (v1.2); у v1.0 це не потрібно. Postgres 15+ із pgvector. RDS / Cloud SQL / Cloud Postgres підтримують це. Для самостійно керованого Postgres потрібно виконати CREATE EXTENSION pgvector під час розгортання. Без цього ядро працюватиме з наявними шарами, але втратить шар семантичного перефразування, коли він з’явиться.
Як отримати публічний корпус до ізольованої мережі?
У Enterprise — як підписаний бандл ~280 ГБ. Соняйте через ваш канал імпорту, відновіть до Postgres + object store під час установки. Оновлюється щомісяця разом із cloud. Community: будуйте свій з OpenAlex/CORE/Common Crawl публічних дампів через ingest-скрипти.
Як оновлювати production-інсталяції?
Стабільні релізи — щомісяця (той же коміт, що і cloud). LTS — 18 міс патчів. Звичний шлях: docker compose pull && up -d (Helm: helm upgrade). Міграції біжать автоматично, semver витримується, breaking changes — у реліз нотах.
Чи сумісно з SOC 2 / HIPAA / FedRAMP?
Self-host означає, що відповідальність за відповідність вимогам лежить на вас — ми надаємо рушій, а ви запускаєте його у середовищі, яке вже відповідає вашим стандартам. Ми — компанія з відкритим ядром, що перезапускається, і не маємо авторизацій SOC 2, HIPAA чи FedRAMP; ми цього й не заявляємо. Self-host дає командам із такими вимогами можливість запускати Noplag повністю у власних контрольованих умовах — підтримка ізольованих мереж, bare-metal, CAC/PIV, контроль PHI на вашій стороні, нічого не залишає вашу мережу.
Чи можна міняти pipeline перевірки?
Apache 2.0 — форк і зміни. Оператори самостійного розгортання додавали: свої джерела корпусу, змінені класифікатори цитування (регіональні стилі), плагіни інтеграції. Upstream PR-и вітаються; приймаємо те, що підходить ширшій базі.
Що з підтримкою?
Community: GitHub-issues, публічний Discord, доки від спільноти. На баг-репорти та безпеку реагуємо, але SLA не гарантуємо. Enterprise: виділений інженер, іменний контакт, SLA з контракту, кастом інтеграція, допомога з міграціями.
Клонуйте репозиторій. docker compose up. Запустіть у своїй мережі.
Apache 2.0 — безкоштовно назавжди. Корпоративні контракти додають індексований публічний корпус, окрему підтримку за SLA та доставку підписаних релізів для ізольованих середовищ. В іншому випадку: github.com/NoplagLabs/noplag-engine і docker-хост під вашим контролем.