Self-hosting NexBasira
Stejný Docker stack, který pohání náš spravovaný SaaS, dodáváme i on-prem. Stejný Django backend, stejná React SPA, stejný auditní řetězec. Dostupné na úrovni Enterprise s balíčkem DPA + InfoSec dotazníku.
docs/SELF_HOST.md ve zdrojovém repozitáři — Enterprise zákazníkům jej dodáváme s jejich instalačním balíčkem. Ozvěte se přes Kontakt (Enterprise) a začněte konverzaci. Proč self-hosting
- Regulatorní mandát — váš sektor nebo jurisdikce vyžaduje, aby důkazy žily na vaší infrastruktuře.
- Izolace sítě — vaši inspektoři operují uvnitř VPN; odchozí spojení k SaaS není možností.
- Vlastní datová rezidence — potřebujete umístit data do konkrétního regionu nebo suverénního cloudu.
- Předvídatelnost nákladů ve velkém — při >5 tis. inspekcí/měsíc je dedikovaná infrastruktura často levnější než úroveň za inspekci.
Architektura
Šest služeb (plus váš stávající poskytovatel identity pro SSO):
| Služba | Co dělá | Image |
|---|---|---|
| caddy | Ukončení TLS, HTTP routing, servírování statických assetů | caddy:2 |
| backend | Django aplikace — REST API, auditní řetězec, SCIM, podepisování | ghcr.io/codelounge-io/certivisiopro/api (your tag) |
| frontend | Nginx servírující sestavenou SPA + statický marketing | ghcr.io/codelounge-io/certivisiopro/web |
| postgres | Primární datové úložiště, izolace tenantů vynucená přes RLS | postgres:16 |
| redis | Celery broker + cache + úložiště relací | redis:7 |
| celery-worker + celery-beat | Úlohy na pozadí (dotazování TSA, post-processing nahrávání, čištění dle retence) | stejné jako backend |
| livekit | WebRTC SFU pro živou video vrstvu | livekit/livekit-server |
| minio (optional) | Objektové úložiště kompatibilní s S3 pro důkazy + nahrávání | minio/minio |
Pro objektové úložiště můžete rovněž nasměrovat na jakoukoli službu kompatibilní s S3 (AWS S3, Wasabi, OVH Object Storage, váš stávající on-prem Ceph cluster). MinIO je zahrnut jako výchozí pro skutečně air-gap instalace.
Minimální požadavky
| Oblast | Minimum | Komfortně |
|---|---|---|
| OS | Linux x86_64 (Ubuntu 22.04 LTS or Debian 12) | stejné |
| Docker / Compose | Docker 24 + Compose v2 | stejné |
| CPU | 4 vCPU | 8 vCPU |
| RAM | 8 GB | 16 GB |
| Disk | 200 GB SSD (DB + počáteční důkazy) | 500 GB + objektové úložiště kompatibilní s S3 pro nahrávání |
| Network | Statická IP, dostupné porty 443 + WebRTC (LiveKit) | stejné |
| TLS | Caddy automaticky zajišťuje přes Let's Encrypt | Vlastní certifikát pro uzavřené sítě |
Bootstrap
Zhruba podoba toho, co instalační skript automatizuje:
# 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" Na čistém Ubuntu 22.04 VPS proběhne celá sekvence přibližně za 5 minut.
Co dostanete rovnou v základu
- Obojí
app.<your-domain>(SPA) +<your-domain>(marketingový web, volitelně) na jediném Caddy. - Automatické TLS přes Let's Encrypt — nebo připnutí na privátní CA v uzavřených sítích.
- Postgres RLS migrace + naseedované čtyři systémové role.
- Postgres trigger auditního řetězce (append-only).
- Seeder demo relace, aby si první administrátoři mohli osahat platformu na realistických datech.
Provoz po nasazení (Day-2)
- Zálohy — noční logický dump Postgresu + S3 lifecycle pro objekty. Runbook
docs/SELF_HOST.mdobsahuje smoke testy obnovy ze zálohy včetněaudit-chain verify. - Aktualizace — stáhněte nový tag image,
docker compose up -d. Migrace schématu jsou pouze dopředné + testované v CI; rollback je zdokumentován pro krajní použití. - Pozorovatelnost — Django emituje strukturované JSON logy s labely
tenant_id+session_id; nasměrujte je do svého stávajícího agregátoru logů. - Metriky — endpoint Prometheus exporteru na backendu; scrapujte ze svého monitorovacího stacku.
Čím se liší od spravovaného SaaS
| Oblast | Spravovaný SaaS | Self-host |
|---|---|---|
| TSA backendy | YodaLedger + FreeTSA + OpenTimestamps nakonfigurováno ve výchozím stavu | Konfigurovatelné. Kterýkoli můžete vypnout; můžete přímo zapojit placený QTSP (DataSure). |
| Úložiště nahrávání | EU S3 s lifecyklem do Glacier | Váš bucket kompatibilní s S3; lifecycle je na vás. |
| Doručování e-mailů | Sendgrid v naší infrastruktuře | Nakonfigurujte SMTP env proměnné na svůj vlastní relay. |
| Doručování SMS | Twilio v naší infrastruktuře (opt-in) | Twilio s vaším vlastním účtem, nebo null backend, pokud se nepoužívá. |
| Stripe fakturace | Vestavěno | Ve výchozím stavu vypnuto — self-host předpokládá váš vlastní fakturační kontrakt. |
| Aktualizace | Nasazujeme my | Tagy image stahujete ve svém tempu. |
Podpora
Enterprise self-host zákazníci získávají dedikovaný Slack + Connect kanál, SLA 1 hodina, naplánované průvodce aktualizacemi a přímý přístup k naší on-call rotaci pro produkční incidenty.
Co dál
- Zahájit Enterprise konverzaci
- Bezpečnostní stav — co obsahuje balíček InfoSec dotazníku
- DPA — co obsahuje smluvní balíček