Antyplagiat self-hosted z kontrolą danych
Uruchom silnik Apache 2.0 na własnej infrastrukturze. docker compose dla typowej instalacji, Helm dla Kubernetes, bare-metal dla środowisk air-gap. Twoje serwery, twój Postgres, twoje uwierzytelnianie, twoje dane. Żaden ruch nie opuszcza twojego VPC. Właściwe wdrożenie, gdy chmura nie wchodzi w grę.
Cztery sytuacje, gdzie chmura nie wchodzi w grę.
Wdrożenie z zachowaniem poufności
Pisma, memorandum i materiały w ramach środków ochronnych nie mogą trafić do zewnętrznej chmury.
- Obsługa sieci odseparowanych (air-gap)
- Uwierzytelnianie SAML / LDAP / Active Directory
- Działa w już zgodnym środowisku
IRB-ready, lokalnie na kampusie
Prace studenckie, badania kliniczne, badania zatwierdzone przez IRB — rygorystyczne wymogi lokalizacji danych.
- Działa obok Canvas / Moodle w sieci uczelni
- Apache 2.0 — informatycy klonują repo przed podpisaniem umowy
- Tryb rezydencji w UE jeśli chmura jest właściwym poziomem
Air-gap + wymagania FedRAMP
Administracja państwowa, wojsko — treści nie mogą opuszczać sieci instytucji.
- Opcja instalacji bare-metal (nie wymaga Dockera)
- Obsługa OIDC / CAC / PIV (karty chipowe)
- STIG-hardening bazowego obrazu (RHEL UBI)
Ochrona własności intelektualnej i tajemnic firmy
Dokumenty R&D, drafrty przejęć czy whitepapery — materiały, które muszą pozostać w organizacji.
- Kubernetes Helm chart dla skalowania poziomego
- Własny Postgres + Redis + object store
- Logi audytu → SIEM (Splunk / Datadog / Elastic)
Trzy tryby wdrożenia. Jeden silnik.
Wybierz opcję zgodną z twoją infrastrukturą. Silnik wykrywania jest identyczny w każdej opcji; różni się tylko sposób wdrożenia.
01 · docker compose (10 min)
git clone github.com/NoplagLabs/noplag-engine && cd engine && docker compose up -d. Plik compose zawiera Postgres, Redis, kontener z silnikiem oraz minimalny panel administracyjny. Domyślnie wdrożenie jednostanowiskowe, odpowiednie dla małych zespołów (około 1 000 sprawdzeń dziennie). Gotowe do użycia w produkcji; większym wyzwaniem jest wdrożenie własnego systemu uwierzytelniania i korpusu tekstów.
02 · Kubernetes Helm chart
helm install noplag noplag/engine --values your-values.yaml. Chart korzysta z zewnętrznych instancji Postgres + Redis, umożliwia skalowanie silnika, eksportuje metryki Prometheus do autoskalowania. Udokumentowane wartości Helm dla limitów, liczby replik i persistent-volumes.
03 · Bare-metal / air-gap
Dla środowisk bez Dockera (część wdrożeń militarnych i rządowych). Silnik wysyłany jako archiwum tar z zablokowanymi zależnościami; instalacja przez ansible na RHEL UBI lub Ubuntu LTS. Przyjazne air-gap: po instalacji brak połączeń sieciowych na zewnątrz. STIG-hardening obrazu podstawowego; obsługa OIDC / CAC / PIV w zestawie.
Co jest potrzebne do uruchomienia.
Niewielkie wymagania sprzętowe dla mniejszych wdrożeń. Skalowanie poziome dla produkcji. Własne komponenty od uwierzytelniania po korpus w wersji Enterprise.
01 · NODE SILNIKA
Minimum 8 vCPU + 16 GB RAM dla kontenera silnika. Około 50 równoczesnych sprawdzeń przy medianie 47 sek dla 1 500 wyrazów. Skalowalność pozioma przez dokładanie podów za load balancerem — Helm automatyzuje to przez HPA według CPU lub kolejki.
02 · BAZA DANYCH
PostgreSQL 15+ z pgvector. Rozmiar zależny od wolumenu: ~50 GB na 100 000 dokumentów, rośnie liniowo. RDS / Cloud SQL / instancje zarządzane przez zwykły connection string. Dla self-host muszą być aktywne pgvector + GIN.
03 · CACHE / KOLEJKA
Redis 7+ jako kolejka i cache. Typowe zużycie RAM ~2 GB. Elasticache / Memorystore / Redis Cloud działają; Redis pod w klastrze — dobry dla małych wdrożeń. Chart domyślnie używa Sentinel do HA.
04 · PRZECHOWYWANIE KORPUSU
Enterprise: dostarcza publiczny korpus jako paczkę do zaindeksowania (~280 GB po kompresji). Przy pierwszej instalacji odtwarzany do Postgres + magazyn obiektowy (S3 / GCS / MinIO / Ceph). Opcjonalnie: własne adaptery do wyszukiwarek internetowych (klucze API Google / Brave) do weryfikacji na żywo lub pomiń, jeśli sprawdzasz tylko względem zaindeksowanego korpusu.
05 · TOŻSAMOŚĆ
SAML 2.0, LDAP, OIDC (Okta, Azure AD, Auth0, Keycloak) lub wbudowany email + hasło. Uwierzytelnianie kartą (CAC / PIV) przez OIDC dla rządowych wdrożeń. Obsługa multi-tenancy w pojedynczym wdrożeniu — przydatne dla usług współdzielonych między działami.
06 · OBSERWOWALNOŚĆ
Prometheus metrics endpoint + ślady OpenTelemetry. Log audytu jako JSON; przesył do SIEM (Splunk, Datadog, Elastic, Grafana Loki). Dashboardy jako Grafana JSON w repo. Kompatybilne z typowymi narzędziami CNCF.
Standardowy deployment docker compose.
Gotowy do produkcji stack compose: silnik, Postgres, Redis, UI admina. Dodaj własny provider uwierzytelniania, skonfiguruj korpus, skaluj horyzontalnie gdy wyrośniesz z pojedynczego noda.
$ 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 mindocker compose do gotowości
- 8 / 16vCPU / GB RAM minimum
- Apache2.0 · bezpłatnie na zawsze
- 0wymaga sieci zewnętrznej (air-gap)
- SAMLLDAP · OIDC · CAC / PIV smart-card
Podłącz do swojej infrastruktury tożsamości.
Standardowe SSO dla firm
Ustaw SAML_METADATA_URL do wskazania swojego IdP. Testowane z Okta, Auth0, OneLogin, Microsoft Entra (Azure AD), Ping Identity, Keycloak, Shibboleth. Mapowanie grup dla ról. Provisioning SCIM 2.0 przez API administratora.
Integracja z Active Directory
Dla środowisk z lokalnym AD lub OpenLDAP. Credentials skonfigurowane w .env; dostęp zależny od grupy. Praktyczne dla uczelni, kancelarii i urzędów gdzie SAML jest zbędny lub AD już działa.
OIDC w chmurze + CAC/PIV dla obronności
Typowy OIDC dla Okta / Auth0 / Cognito / Google Workspace. Dla obronności: CAC/PIV przez OIDC. Mapuje identyfikator karty do użytkownika Noplag; grupy synchronizowane z katalogiem kart w organizacji.
Aktualizujesz kiedy chcesz, nie kiedy my chcemy.
Samodzielny hosting = kontrolujesz cykl aktualizacji. Co miesiąc tagujemy wersje stabilne (te same co chmurę) i publikujemy łatki bezpieczeństwa jeśli trzeba. Ściągnij tag, uruchom docker compose pull && up -d. Migracje uruchamiają się przy starcie kontenera. Air-gap: publikujemy podpisane paczki (RPM / DEB / tar) z podpisanymi haszami; weryfikuj podpis, prześlij przez swój proces akceptacji, instaluj w oknie serwisowym. LTS dostają krytyczne poprawki przez 18 miesięcy; produkcyjne — miesięczne update'y zgodne z cyklem chmury. Zawsze: ścieżka aktualizacji i dane są po twojej stronie. Jedyna nasza kontrola to to, co publikujemy do rejestru.
Przeczytaj przewodnik po aktualizacjachPytania, które faktycznie zadaje IT / DevOps przed wdrożeniem.
Co jest bezpłatne, a co płatne w wersji self-host?
Silnik Apache 2.0 jest bezpłatny na zawsze — klonujesz repo, uruchamiasz. Bezpłatnie masz cały pipeline wykrywania + admin UI + REST API. W wersji Enterprise dochodzi: indeksowany publiczny korpus (~280 GB gotowego indeksu), wsparcie SLA, dostawa podpisanej paczki pod air-gap, pomoc migracyjna.
Da się uruchomić zupełnie bez internetu (air-gap)?
Tak. Silnik nie wymaga połączeń na zewnątrz przy sprawdzaniu względem indeksowanego korpusu. Ustaw WEB_SEARCH_ENABLED=false, żeby pominąć warstwę 'live web'. Enterprise otrzymuje podpisane paczki z osobnym podpisem GPG — prześlij przez swoje ścieżki akceptacji. Przetestowane w środowiskach wojskowych i wywiadzie.
Jakie jest absolutne minimum sprzętowe?
Silnik: 8 vCPU + 16 GB RAM. Postgres: 4 vCPU + 8 GB + ~50 GB na 100k dokumentów. Redis: ~2 GB RAM. Na 5 000 sprawdzeń/miesiąc starczy mocny serwer. Na 100 tys. lub więcej: Kubernetes + skalowanie silnika + zarządzany Postgres.
Czy działa z naszym systemem tożsamości?
SAML 2.0 (Okta, Auth0, Entra, OneLogin, Keycloak, Shibboleth), LDAP / Active Directory, OIDC, CAC/PIV przez OIDC dla rządu, albo wbudowany email-hasło. Obsługa SCIM 2.0. Grupę można mapować na rolę.
A co z pgvector — to twardy wymóg?
Będzie wymagane dla warstwy L3 z osadzaniem wektorowym (v1.2); wersja v1.0 tego nie wymaga. Postgres 15+ z pgvector. RDS, Cloud SQL i Cloud Postgres obsługują to natywnie. W przypadku własnej instancji Postgres konieczne jest wykonanie CREATE EXTENSION pgvector podczas wdrożenia. Bez tego silnik uruchomi dostępne warstwy, ale po wprowadzeniu warstwy semantyczno-parafrazującej nie będzie ona działać.
Jak wgrać publiczny korpus do zamkniętej sieci?
Enterprise: publiczny korpus jako podpisany pakiet ~280 GB. Przeładuj przez swój proces importu, odtwórz do Postgres + object store na starcie. Paczka aktualizowana co miesiąc zgodnie z chmurą. Wersja Community: budujesz własną paczkę z OpenAlex / CORE / Common Crawl publicznych dumpów poprzez skrypty ingest.
Jak wygląda aktualizacja w środowisku produkcyjnym?
Wersje stabilne tagowane co miesiąc (ta sama wersja w chmurze). LTS: 18 miesięcy łatek. Standardowa ścieżka: docker compose pull && up -d (Helm: helm upgrade). Migracje automatyczne przy starcie; semver zachowane; zmiany łamiące w migration notes.
Czy to produkt zgodny z SOC 2 / HIPAA / FedRAMP?
Samodzielny hosting sprawia, że odpowiedzialność za zgodność spoczywa na Tobie — dostarczamy silnik, a Ty uruchamiasz go w środowisku, które już spełnia Twoje wymagania. Jesteśmy firmą open-core w fazie ponownego uruchomienia i sami nie posiadamy autoryzacji SOC 2, HIPAA ani FedRAMP; nie twierdzimy, że je mamy. Samodzielny hosting umożliwia zespołom z takimi wymaganiami uruchomienie Noplag całkowicie w ramach już stosowanych przez nich kontroli — obsługa air-gap, bare-metal, CAC/PIV, kontrola PHI po Twojej stronie, nic nie opuszcza Twojej sieci.
Da się dostosować pipeline wykrywania?
Apache 2.0 — można forkować i modyfikować. Operatorzy dodali własne źródła korpusu, zmodyfikowane klasyfikatory cytatów (lokalne style spoza domyślnych sześciu), i pluginy. Pull requesty mile widziane; scalimy to, co pasuje do szerszej bazy.
Jak wygląda wsparcie?
Community: zgłoszenia GitHub, publiczny Discord, dokumentacja społeczności. Odpowiadamy na bugi i zgłoszenia bezpieczeństwa, ale nie gwarantujemy SLA. Enterprise: dedykowany inżynier, osoba kontaktowa, SLA w umowie, pomoc techniczna, wsparcie migracji.
Klonuj repo. docker compose up. Uruchom w swojej sieci.
Apache 2.0 — bezpłatnie na zawsze. Kontrakty dla firm obejmują dodatkowy pakiet indeksowalnego publicznego korpusu, dedykowane SLA wsparcia oraz podpisane wydania do środowisk odizolowanych. W pozostałych przypadkach: github.com/NoplagLabs/noplag-engine i własny host z Dockerem.