LIVE · AUDIT-KETEN · EU-GEHOST
SYSTEEM · 99,99% UPTIME
v 1.0 ↗ GEMAAKT IN DE EU

NexBasira self-hosten

Dezelfde Docker-stack die onze beheerde SaaS draait, leveren wij on-prem. Dezelfde Django-backend, dezelfde React-SPA, dezelfde audit-keten. Beschikbaar op het Enterprise-niveau met een DPA + InfoSec-vragenlijstpakket.

Paginasamenvatting. Deze pagina weerspiegelt de globale opzet van de on-prem-implementatie. Het gezaghebbende, kopieerbare runbook is docs/SELF_HOST.md in de bronrepo — we leveren het aan Enterprise-klanten met hun installatiepakket. Neem contact op via Contact (Enterprise) om het gesprek te starten.

Waarom self-hosten

  • Wettelijke verplichting — uw sector of jurisdictie vereist dat bewijs op uw eigen infrastructuur staat.
  • Netwerkisolatie — uw inspecteurs werken binnen een VPN; uitgaand verkeer naar een SaaS is geen optie.
  • Aangepaste datalocatie — u moet data in een specifieke regio of soevereine cloud plaatsen.
  • Kostenvoorspelbaarheid op schaal — bij >5k inspecties/maand is dedicated infrastructuur vaak goedkoper dan het per-inspectie-niveau.

Architectuur

Zes services (plus uw bestaande identity-provider voor SSO):

ServiceWat het doetImage
caddyTLS-terminatie, HTTP-routing, serveren van statische assetscaddy:2
backendDjango-app — REST-API, audit-keten, SCIM, ondertekeningghcr.io/codelounge-io/certivisiopro/api (your tag)
frontendNginx die de gebouwde SPA + marketing-statics serveertghcr.io/codelounge-io/certivisiopro/web
postgresPrimaire datastore, RLS-afgedwongen tenant-isolatiepostgres:16
redisCelery-broker + cache + session-storeredis:7
celery-worker + celery-beatAchtergrondtaken (TSA-polling, nabewerking van opnames, retentie-sweep)hetzelfde als backend
livekitWebRTC-SFU voor het live-videovlaklivekit/livekit-server
minio (optional)S3-compatibele objectopslag voor bewijs + opnamesminio/minio

Voor objectopslag kunt u ook naar elke S3-compatibele service wijzen (AWS S3, Wasabi, OVH Object Storage, uw bestaande on-prem Ceph-cluster). MinIO is standaard meegeleverd voor echte air-gap-installaties.

Minimumvereisten

AandachtspuntMinimumComfortabel
OSLinux x86_64 (Ubuntu 22.04 LTS or Debian 12)hetzelfde
Docker / ComposeDocker 24 + Compose v2hetzelfde
CPU4 vCPU8 vCPU
RAM8 GB16 GB
Disk200 GB SSD (DB + initieel bewijs)500 GB + S3-compatibele objectopslag voor opnames
NetworkStatisch IP, poorten 443 + WebRTC (LiveKit) bereikbaarhetzelfde
TLSCaddy provisioneert automatisch via Let's EncryptEigen certificaat voor gesloten netwerken

Bootstrap

Ongeveer de vorm die het installatiescript automatiseert:

# 1. Clone the released bundle
git clone --depth 1 https://github.com/codelounge-io/nexbasira-onprem.git
cd nexbasira-onprem

# 2. Fill in env from the example
cp .env.example .env
$EDITOR .env   # set DOMAIN, SECRET_KEY, DB password, S3 creds, LiveKit keys

# 3. Pull pinned images
docker compose pull

# 4. Run migrations + create the platform superuser
docker compose run --rm backend python manage.py migrate
docker compose run --rm backend python manage.py createsuperuser

# 5. Start everything
docker compose up -d

# 6. Tail the logs until you see the audit-chain self-test pass
docker compose logs -f backend | grep "audit chain self-test"

Op een schone Ubuntu 22.04-VPS draait de hele sequentie in ongeveer 5 minuten.

Wat u standaard krijgt

  • Zowel app.<your-domain> (SPA) als <your-domain> (marketingsite, optioneel) op één Caddy.
  • Automatische TLS via Let's Encrypt — of pin naar een private CA op gesloten netwerken.
  • Postgres-RLS-migraties + de vier systeemrollen geseed.
  • Audit-keten Postgres-trigger (append-only).
  • Demo-sessie-seeder zodat nieuwe admins met realistische data kunnen rondkijken.

Day-2-ops

  • Back-ups — nachtelijke logische Postgres-dump + S3-lifecycle voor objecten. De runbook in docs/SELF_HOST.md bevat restore-from-backup-smoketests inclusief audit-chain verify.
  • Upgrades — haal de nieuwe image-tag op, docker compose up -d. Schemamigraties zijn forward-only + getest in CI; rollback is gedocumenteerd voor gebruik in laatste instantie.
  • Observability — Django genereert gestructureerde JSON-logs met tenant_id- + session_id-labels; route ze naar uw bestaande log-aggregator.
  • Metrics — Prometheus-exporter-endpoint op de backend; scrape vanuit uw monitoring-stack.

Wat er anders is dan bij managed SaaS

AandachtspuntManaged SaaSSelf-host
TSA-backendsYodaLedger + FreeTSA + OpenTimestamps standaard geconfigureerdConfigureerbaar. U kunt er elke uitschakelen; u kunt een betaalde QTSP (DataSure) rechtstreeks aansluiten.
Opslag van opnamesEU-S3 met lifecycle naar GlacierUw eigen S3-compatibele bucket; lifecycle is aan u.
E-mailbezorgingSendgrid in onze infrastructuurConfigureer SMTP-env-vars naar uw eigen relay.
SMS-bezorgingTwilio in onze infrastructuur (opt-in)Twilio met uw eigen account, of null-backend indien niet gebruikt.
Stripe-factureringIngebouwdStandaard uitgeschakeld — self-host impliceert uw eigen factureringscontract.
UpdatesWij deployenU haalt image-tags op in uw eigen tempo.

Ondersteuning

Enterprise-self-host-klanten krijgen een dedicated Slack- + Connect-kanaal, 1-uurs SLA, geplande upgrade-walkthroughs en directe toegang tot onze on-call-rotatie voor productie-incidenten.

Wat er nu volgt