EN VIVO · CON AUDITORÍA · UE
SISTEMA · 99,99% UPTIME
v 1.0 ↗ HECHO EN UE

Autoalojar NexBasira

El mismo stack de Docker que ejecuta nuestro SaaS gestionado es lo que entregamos on-premise. El mismo backend de Django, la misma SPA de React, la misma cadena de auditoría. Disponible en el nivel Enterprise con un DPA + un pack de cuestionario de InfoSec.

Resumen de la página. Esta página refleja la forma de alto nivel del despliegue on-premise. El runbook autoritativo y listo para copiar y pegar es docs/SELF_HOST.md en el repositorio de origen — lo entregamos a los clientes Enterprise con su paquete de instalación. Contáctenos mediante Contacto (Enterprise) para iniciar la conversación.

Por qué autoalojar

  • Mandato regulatorio — su sector o jurisdicción exige que las pruebas residan en su infraestructura.
  • Aislamiento de red — sus inspectores operan dentro de una VPN; la salida hacia un SaaS no es una opción.
  • Residencia de datos personalizada — necesita ubicar los datos en una región específica o una nube soberana.
  • Previsibilidad de costes a escala — con >5k inspecciones/mes, la infraestructura dedicada suele ser más barata que el nivel por inspección.

Arquitectura

Seis servicios (más su proveedor de identidad existente para SSO):

ServicioQué haceImagen
caddyTerminación TLS, enrutamiento HTTP, servicio de activos estáticoscaddy:2
backendAplicación Django — API REST, cadena de auditoría, SCIM, firmaghcr.io/codelounge-io/certivisiopro/api (your tag)
frontendNginx sirviendo la SPA compilada + el estático de marketingghcr.io/codelounge-io/certivisiopro/web
postgresAlmacén de datos principal, aislamiento de tenant impuesto por RLSpostgres:16
redisBroker de Celery + caché + almacén de sesionesredis:7
celery-worker + celery-beatTareas en segundo plano (sondeo de TSA, posprocesamiento de grabaciones, barrido de retención)igual que el backend
livekitSFU WebRTC para el plano de vídeo en vivolivekit/livekit-server
minio (optional)Almacenamiento de objetos compatible con S3 para pruebas + grabacionesminio/minio

Para el almacenamiento de objetos, también puede apuntar a cualquier servicio compatible con S3 (AWS S3, Wasabi, OVH Object Storage, su clúster Ceph on-premise existente). MinIO se incluye como opción predeterminada para instalaciones verdaderamente aisladas (air-gap).

Requisitos mínimos

AspectoMínimoHolgado
OSLinux x86_64 (Ubuntu 22.04 LTS or Debian 12)igual
Docker / ComposeDocker 24 + Compose v2igual
CPU4 vCPU8 vCPU
RAM8 GB16 GB
Disk200 GB SSD (BD + pruebas iniciales)500 GB + almacenamiento de objetos compatible con S3 para las grabaciones
NetworkIP estática, puertos 443 + WebRTC (LiveKit) accesiblesigual
TLSCaddy aprovisiona automáticamente mediante Let's EncryptCertificado propio (BYO) para redes cerradas

Bootstrap

Aproximadamente la forma que automatiza el script de instalación:

# 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"

En un VPS Ubuntu 22.04 limpio, toda la secuencia se ejecuta en unos 5 minutos.

Qué obtiene de fábrica

  • Tanto app.<su-dominio> (SPA) como <su-dominio> (sitio de marketing, opcional) en un único Caddy.
  • TLS automático mediante Let's Encrypt — o fije una CA privada en redes cerradas.
  • Migraciones RLS de Postgres + los cuatro roles del sistema sembrados.
  • Trigger de Postgres de la cadena de auditoría (append-only).
  • Sembrador de sesión de demostración para que los administradores primerizos puedan explorar con datos realistas.

Operaciones del día 2

  • Copias de seguridad — volcado lógico de Postgres cada noche + ciclo de vida S3 para los objetos. El runbook docs/SELF_HOST.md incluye pruebas de humo de restauración desde copia de seguridad, incluida audit-chain verify.
  • Actualizaciones — descargue la nueva etiqueta de imagen, docker compose up -d. Las migraciones de esquema son solo hacia adelante y están probadas en CI; el rollback está documentado para uso de último recurso.
  • Observabilidad — Django emite logs estructurados en JSON con etiquetas tenant_id + session_id; enrútelos a su agregador de logs existente.
  • Métricas — endpoint de exportador Prometheus en el backend; recópielo desde su stack de monitorización.

Qué cambia respecto al SaaS gestionado

AspectoSaaS gestionadoAutoalojado
Backends de TSAYodaLedger + FreeTSA + OpenTimestamps configurados de forma predeterminadaConfigurable. Puede desactivar cualquiera; puede conectar directamente un QTSP de pago (DataSure).
Almacenamiento de grabacionesS3 en la UE con ciclo de vida a GlacierSu bucket compatible con S3; el ciclo de vida corre por su cuenta.
Entrega de correoSendgrid en nuestra infraestructuraConfigure las variables de entorno SMTP para su propio relay.
Entrega de SMSTwilio en nuestra infraestructura (opcional)Twilio con su propia cuenta, o backend nulo si no se usa.
Facturación con StripeIntegradoDesactivado de forma predeterminada — el autoalojamiento implica su propio contrato de facturación.
ActualizacionesNosotros desplegamosUsted descarga las etiquetas de imagen a su propio ritmo.

Soporte

Los clientes Enterprise de autoalojamiento obtienen un canal dedicado de Slack + Connect, un SLA de 1 hora, guías programadas de actualización y acceso directo a nuestra rotación de guardia para incidentes en producción.

Qué sigue