Skip to main content

Overview

OpenSight is designed to be fully self-hosted, giving you complete control over your data and infrastructure. The platform consists of multiple services that work together to provide real-time data analysis and visualization capabilities.

Architecture

OpenSight uses a microservices architecture with the following components:

Core Services

Web Application

Next.js 14 frontend with React 18 and TypeScriptPort: 3000

API Server

Express backend with TypeScript for data processingPort: 4000

PostgreSQL Database

PostgreSQL 16 for persistent data storagePort: 5432

Redis Cache

Redis 7 for high-performance cachingPort: 6379

Service Dependencies

Deployment Options

The simplest way to deploy OpenSight is using Docker Compose, which handles all service orchestration automatically.
1

Clone the repository

2

Configure environment variables

See Environment Variables for complete reference.
3

Deploy with Docker Compose

4

Verify deployment

Expected output:
See Docker Deployment for detailed instructions.

Manual Deployment

For custom deployment scenarios, you can deploy each component separately:
1

Set up PostgreSQL and Redis

Install and configure PostgreSQL 16+ and Redis 7+ on your infrastructure.
2

Build the applications

3

Run database migrations

4

Start the services

System Requirements

Minimum Requirements

  • CPU: 2 cores
  • RAM: 4 GB
  • Storage: 20 GB SSD
  • OS: Linux (Ubuntu 20.04+, Debian 11+, or similar)
  • CPU: 4+ cores
  • RAM: 8+ GB
  • Storage: 50+ GB SSD
  • OS: Linux (Ubuntu 22.04+ or Debian 12+)

Software Requirements

  • Docker 24.0+
  • Docker Compose 2.20+
  • Node.js 20+
  • npm or pnpm package manager
  • PostgreSQL 16+
  • Redis 7+

Network Configuration

Default Ports

Firewall Rules

If you’re deploying behind a firewall, ensure the following ports are accessible:
Never expose PostgreSQL (5432) or Redis (6379) ports directly to the internet. These should only be accessible to the API server within your internal network.

Data Persistence

OpenSight uses Docker volumes for data persistence:
  • pgdata: PostgreSQL database files
  • redisdata: Redis persistence files
These volumes are automatically created and managed by Docker Compose. To back up your data:

Health Checks

All services include health checks for monitoring:

Health Check Endpoints

  • API Health: http://localhost:4000/health
  • PostgreSQL: Automatic via pg_isready
  • Redis: Automatic via redis-cli ping

Next Steps

Docker Deployment

Step-by-step guide for deploying with Docker Compose

Environment Variables

Complete reference for all configuration options

API Reference

Explore the API endpoints and integration options

Database Setup

Configure and manage your PostgreSQL database