SJÄLVHOSTdocker compose · slutet nät · Egen auth

Självhostad plagiatkontroll med datalokalitet

Kör Apache 2.0-motorn på egen infrastruktur. Docker compose för vanlig installation, Helm chart för Kubernetes, bare-metal för slutna miljöer. Era servrar, ert Postgres, er auth, era data. Ingen trafik lämnar ert VPC. Rätt lösning när moln inte är aktuellt.

docker compose på 10 minuterSlutet nät stödsEget Postgres · SAML / LDAP / OIDC
VEM SJÄLVHOSTAR

Fyra situationer där moln inte duger.

ADVOKATBYRÅER

Driftsättning för privilegieskydd

Inlagor, PM och upptäcktsmaterial under sekretess får inte ut på externa molntjänster.

  • Stöd för slutet nätverk
  • SAML / LDAP / Active Directory auth
  • Körs i er redan regeluppfyllda miljö
UNIVERSITET

IRB-granskad, lokalt på campus

Studentinlämningar, kliniska studier, IRB-godkänd forskning — strikta krav på datalokalitet.

  • Körs intill Canvas / Moodle i ert nät
  • Apache 2.0 — er IT klonar repot före avtal
  • EU-lokal läge om moln är rätt nivå
MYNDIGHETER

Slutet nät + FedRAMP-liknande

Förbund, region, försvar — innehåll får inte lämna myndighetens nät.

  • Bare-metal-installation möjlig (ingen Docker krävs)
  • OIDC / CAC / PIV smartkortsautentisering stöds
  • STIG-förstärkt grundimage (RHEL UBI)
FÖRETAG

Skydd för intern IP + affärshemligheter

FoU-dokument, M&A-utkast, interna rapporter — innehåll som måste stanna bakom brandvägg.

  • Kubernetes Helm chart för horisontell skalning
  • Eget Postgres + Redis + objektlagring
  • Revisionslogg → SIEM (Splunk / Datadog / Elastic)
INSTALLATIONSALTERNATIV

Tre driftsätt. En motor.

Välj det sätt som passar er infrastruktur. Detektionsmotorn är identisk i alla tre; bara driftspaketet skiljer.

01

01 · docker compose (10 min)

git clone github.com/NoplagLabs/noplag-engine && cd engine && docker compose up -d. Compose-filen innehåller Postgres + Redis + engine-containern + ett enkelt admin-gränssnitt. Standardinställningen är en en-nodsinstallation, lämplig för mindre team (cirka 1 000 kontroller per dag). Klar för produktion direkt; det svårare är att ordna egen autentisering och eget referensmaterial.

02

02 · Kubernetes Helm chart

helm install noplag noplag/engine --values your-values.yaml. Charten lämnar Postgres + Redis utanför (peka mot era befintliga klustertjänster), stöd för horisontell skalning av motorknutar och Prometheus-mätvärden för autoskalning. Dokumenterade Helm-värden för resursgränser, repliker och persistent-volymer.

03

03 · Bare-metal / slutet nät

För miljöer där Docker inte kan köras (vissa försvar+myndigheter). Motorn som tar-arkiv med alla beroenden låsta; ansible-playbook på RHEL UBI eller Ubuntu LTS. Slutet nät-vänlig: inga externa nätverksanrop efter installation. STIG-förstärkt grundimage; OIDC / CAC / PIV-authmoduler ingår.

SYSTEMKRAV

Vad som krävs för att köra.

Liten hårdvarubas för småteam. Horisontell skalning för produktionsvolymer. Eget allt från auth till korpus i Enterprise.

01 · MOTORNUD

8 vCPU + 16 GB RAM minst för motorkontainer. Hanterar ~50 samtidiga kontroller i snitt 47 sek per 1 500-ordsdokument. Skala horisontellt med fler motorknutar bakom lastbalanserare — Kubernetes Helm chart automatiserar med HPA på CPU + ködjup.

02 · DATABAS

PostgreSQL 15+ med pgvector extension. Dimensionera för ert fingeravtrycksvolym: ~50 GB för 100 000 indexerade dokument, linjär skalning. RDS / Cloud SQL / hanterade instanser fungerar via standardkoppling. Självhanterad Postgres kräver pgvector + GIN extensions aktiverade.

03 · CACHE / KÖ

Redis 7+ för arbetskö och cache. Litet fotavtryck (~2 GB RAM typiskt). Elasticache / Memorystore / Redis Cloud fungerar; Redis i klustret lagom för mindre drift. Chartens standard är Redis Sentinel för HA.

04 · KORPUSLAGRING

Enterprise: levererar den offentliga korpusen som ett indexerbart paket (~280 GB komprimerat). Återställs till Postgres + objektlagring (S3 / GCS / MinIO / Ceph) vid första installationen. Valfritt: använd egna webbsöksadaptrar (Google- / Brave-API-nycklar) för live-verifiering, eller hoppa över om du bara vill kontrollera mot den indexerade korpusen.

05 · IDENTITET

SAML 2.0, LDAP, OIDC (Okta, Azure AD, Auth0, Keycloak), eller inbyggt e-postlösenord. Smartkort (CAC/PIV) stöds via OIDC-brygga för myndigheter. Flerhyresgäststöd i en installation — användbart för delad drift inom organisationer.

06 · OBSERVERBARHET

Prometheus metrics-endpoint + OpenTelemetry-traces. Revisionslogg skrivs som JSON; mata till SIEM (Splunk, Datadog, Elastic, Grafana Loki). Dashboards som Grafana JSON i repo. Kompatibel med CNCF-observerbarhetsstacken.

DRIFTSÄTT PÅ 10 MINUTER

Standard docker compose-driftsättning.

Produktionsklar compose-stack med motor, Postgres, Redis och admin-UI. Lägg till egen auth; konfigurera korpus; skala till kluster vid behov.

$ install · bashKopiera
$ git clone https://github.com/NoplagLabs/noplag-engine
$ cd engine
$ cp .env.example .env
$ vim .env # configure auth + corpus + secrets
$ docker compose up -d
Creating noplag-postgres ... done
Creating noplag-redis ... done
Creating noplag-engine ... done
Creating noplag-admin ... done
Engine ready at http://localhost:8080
Admin UI at http://localhost:8081
.env · konfigurationKopiera
# Auth
AUTH_PROVIDER=saml # or oidc, ldap, builtin
SAML_METADATA_URL=https://idp.acme.com/...
# Database
POSTGRES_URL=postgres://user:pw@db:5432/noplag
REDIS_URL=redis://redis:6379/0
# Corpus
CORPUS_BUNDLE_PATH=/srv/corpus/2026-05
WEB_SEARCH_ENABLED=false # air-gap
# Observability
OTEL_ENDPOINT=https://otel.acme.com:4317
AUDIT_LOG_SINK=splunk-hec
  • 10 mindocker compose till klart
  • 8 / 16vCPU / GB RAM minimi
  • Apache2.0 · gratis för alltid
  • 0externt nät krävs (slutet nät)
  • SAMLLDAP · OIDC · CAC / PIV smartkort
AUTH + IDENTITET

Koppla mot befintlig identitetsinfrastruktur.

01 · SAML 2.0

Standard SSO för företag

Ställ in SAML_METADATA_URL mot er IdP. Testad med Okta, Auth0, OneLogin, Microsoft Entra (Azure AD), Ping Identity, Keycloak, och Shibboleth. Gruppattribut-mappning för rollstyrd åtkomst. SCIM 2.0-användarhantering via admin-API.

Just-in-time-provisionering + SCIM sync · vanligaste företagsmönstret.
02 · LDAP / AD

Integration till Active Directory

Miljöer med on-prem AD eller OpenLDAP. Bind credentials i .env; gruppfrågor styr åtkomst. Vanligt på universitet + advokatbyråer + myndigheter där SAML är överkurs eller AD redan täcker behovet.

Stöd för nästlade grupper · auth-latens runt 5 sek.
03 · OIDC + SMARTKORT

OIDC för moln · CAC/PIV för försvar

Standard OIDC för Okta / Auth0 / Cognito / Google Workspace. För försvar + förbund: CAC/PIV-smartkort via OIDC-brygga. Matchar smartkortets ID mot Noplag-användare; gruppmappning följer orgens DoD-katalog.

FedRAMP-liknande · Testat med DoD CAC + GSA PIV.
PATCHHANTERING

Uppdatera när det passar er, inte oss.

Självhost innebär att De styr när det är dags att uppdatera. Vi märker stabila releaser varje månad (samma commit som molnlagret kör) och patchreleaser vid säkerhetsbehov. Dra det nya tagget, kör docker compose pull && up -d, klart. Migrering kör vid containerstart. Slutna miljöer: vi publicerar signerade releaspaket (RPM / DEB / tar) med signatur; verifiera signaturen, överför via befintlig mjukvarugodkännandeprocess och installera vid nästa underhållsfönster. Långtidsstödstaggar får säkerhetsfixar i 18 månader; produktionsklara taggar får månatliga uppdateringar enligt molnlagret. Alltså: ni styr uppgradering, era data stannar hos er, det enda vi styr är vad vi publicerar till registret.

Läs uppgraderingsguiden
FAQ

Vad IT / drift faktiskt frågar innan de kör.

Vad är faktiskt gratis vs kostar i självhost-versionen?

Apache 2.0-motorn är gratis för alltid — klona repo, kör. Gratisdelen täcker detektionskedjan + admin-UI + REST API. Enterprise ger: indexerbart publikt korpus (~280GB färdig index), support SLA, signerad release för slutet nät, och migreringshjälp.

Kan vi köra utan internet (slutet nät)?

Ja. Motorn kräver inte externt nät för index-korpuskontroller. Sätt WEB_SEARCH_ENABLED=false för att hoppa över webb-läget. Enterprise skickar signerade releaser med frikopplad GPG-signatur — flytta via vanliga mjukvarugodkännandet. Testad i DoD + underrättelsemiljöer.

Vad är minsta hårdvarukrav?

Motorkontainer: 8 vCPU + 16 GB RAM. Postgres: 4 vCPU + 8 GB + ~50 GB för 100k indexerade docs. Redis: ~2 GB RAM. För 5 000 kontroller/månad räcker en vanlig server. För 100k+ per månad: Kubernetes + horisontell motor + hanterad Postgres.

Fungerar det med vårt befintliga auth-system?

SAML 2.0 (Okta, Auth0, Entra, OneLogin, Keycloak, Shibboleth), LDAP / Active Directory, OIDC, CAC/PIV-smartkort via OIDC-brygga för förbund och inbyggt mail-lösen. SCIM 2.0-stöd. Gruppattribut → rollkonfiguration.

pgvector — är det ett krav?

Det kommer att krävas för L3-lagret med vektorbaserade embeddingar (v1.2); v1.0 kräver det inte. Postgres 15+ med pgvector. RDS / Cloud SQL / Cloud Postgres har stöd för detta. Självhanterad Postgres kräver CREATE EXTENSION pgvector vid installation. Utan detta körs fortfarande de medföljande lagren, men det semantiska parafraslagret kommer inte att fungera när det lanseras.

Hur får vi in publikt korpus i privat nät?

Enterprise: levereras som signerat ~280 GB-paket. För över via er ordinarie dataimport, återställ till Postgres + objektlager vid första start. Skickas ut varje månad med samma korpus som molnlagret. Community: bygg eget från OpenAlex / CORE / Common Crawl-publikdump med ingript.

Hur uppgraderar vi för produktion?

Stabila releaser märkta varje månad (samma commit som moln). LTS får 18 månaders fixar. Standarduppgradering: docker compose pull && up -d (Helm: helm upgrade). Migrering på startup; semver följs; brytande ändringar i migrationsnotiser.

Funkar detta med SOC 2 / HIPAA / FedRAMP?

Självhost gör att ansvaret för compliance hamnar på er — vi ger motorn, ni kör den i miljö som redan är godkänd. Vi är en omstartad open-core och saknar SOC 2, HIPAA eller FedRAMP-godkännanden; vi hävdar det inte heller. Vad självhost ger team med sådana krav är att köra Noplag helt inom egna kontroller — stöd för slutet nät + bare-metal + CAC/PIV, PHI-kontroller på er sida, inget lämnar ert nät.

Kan vi anpassa detekteringsflödet?

Apache 2.0 — forka och ändra. Självhost-aktörer har lagt till: anpassade korpuskällor, egna citeringsklassificerare (regionala stilar inte i defaultsexan) och integrationspluggar. Upstream PR:er välkomnas; vi granskar och slår ihop det som passar bredare användning.

Hur ser det ut med support?

Community: GitHub issues, öppen Discord, community-drivna docs. Vi svarar på bugg- och säkerhetsrapporter utan SLA. Enterprise: dedikerad lösningsingenjör, namngiven supportkontakt, svarstid-SLA knuten till avtal, hjälp med integration och migration.

Klona repot. docker compose up. Kör internt i ert nätverk.

Apache 2.0 — kostnadsfritt för alltid. Företagsavtal inkluderar indexerbart offentligt referensmaterial, dedikerad support-SLA och signerad leverans för isolerade miljöer. Annars: github.com/NoplagLabs/noplag-engine och en docker-värd du själv kontrollerar.

Självhostad plagiatkontroll för EU-data