Skip to content

Infrastructure

InsightSpace is a container-ready application with a React frontend, ASP.NET Core backend, PostgreSQL with pgvector, S3-compatible object storage, a standalone document extractor, and configurable AI providers.

The main Compose file runs the application and supporting services on one host. It is suitable for evaluation and controlled single-node installations where the host can provide the required CPU, memory, storage, and—when used—GPU resources.

The repository also contains a modular Compose topology. The application core is always present; Garage, Caddy, Ollama, and the extractor are selectable profiles. This makes it possible to replace individual local components with managed or externally hosted services.

Capability Local option External option
Database PostgreSQL with pgvector Compatible managed PostgreSQL
Object storage Garage AWS S3 or another compatible provider
Ingress and TLS Caddy Existing reverse proxy or ingress
Chat, embedding, reranking Ollama Configured provider service
Document extraction Containerized extractor Extractor on a separate compute host

The frontend and backend remain part of the application core. PostgreSQL is required. Object storage is also required for uploaded documents and extraction artifacts.

Complete the installation prerequisites with the client before scheduling an installation. This confirms:

  • separate web application and API hostnames;
  • public, internal, or VPN access and the corresponding HTTPS certificate approach;
  • an SMTP account for onboarding, account, and notification email;
  • application and GPU inference hardware;
  • administrative access, firewall rules, and outbound connectivity; and
  • ownership of backups, monitoring, retention, and recovery.

Secrets are provided through files. Do not place secret values directly in Compose environment variables or commit them to source control.

  1. Complete the installation prerequisites.
  2. Review the architecture.
  3. Map the components to your infrastructure.
  4. Prepare the configuration.
  5. Use the release-specific installation and upgrade procedure supplied for your deployment.