Skip to main content

Prerequisites

Before installing StreamGate, ensure your system meets the following requirements.

Required Software

SoftwareMinimum VersionPurpose
Node.js20.0.0+Runtime for both services
npm10.0.0+Package manager (ships with Node.js 20+)
GitAny recentCloning the repository

Optional Software

SoftwarePurposeWhen Needed
FFmpegRTMP-to-HLS transcodingLive streaming or converting MP4 to HLS
Docker & Docker ComposeContainerized deploymentIf using Docker setup instead of manual
PostgreSQLProduction databaseProduction deployments (SQLite used in dev)

Installation by Platform

Windows

Node.js (recommended: use the official installer or winget):

# Option A: winget
winget install OpenJS.NodeJS.LTS

# Option B: Download from https://nodejs.org/en/download/
# Choose the LTS version (20+)

FFmpeg:

# Option A: winget
winget install Gyan.FFmpeg

# Option B: Download from https://ffmpeg.org/download.html
# Extract and add the bin/ folder to your system PATH

Git:

winget install Git.Git

macOS

Node.js (recommended: use Homebrew or nvm):

# Option A: Homebrew
brew install node@20

# Option B: nvm (version manager, recommended for managing multiple versions)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
nvm use 20

FFmpeg:

brew install ffmpeg

Git (included with Xcode Command Line Tools):

xcode-select --install

Linux (Ubuntu/Debian)

Node.js (recommended: use NodeSource or nvm):

# Option A: NodeSource repository
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# Option B: nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20
nvm use 20

FFmpeg:

sudo apt update
sudo apt install ffmpeg

Git:

sudo apt install git

Verify Your Installation

Run all of these checks before proceeding:

# Node.js — must be 20+
node --version
# Expected: v20.x.x or higher

# npm — must be 10+
npm --version
# Expected: 10.x.x or higher

# Git
git --version
# Expected: git version 2.x.x

# FFmpeg (optional, needed for live streaming)
ffmpeg -version
# Expected: ffmpeg version X.X.X ...

:::tip Version too low? If node --version shows a version below 20, consider using nvm (Node Version Manager) to install and switch between versions without affecting your system Node.js installation. :::

Hardware Requirements

StreamGate is lightweight. Minimum recommended specs for development:

ResourceMinimumRecommended
CPU2 cores4 cores
RAM2 GB4 GB
Disk1 GB (plus stream storage)10 GB+
NetworkLocalhost only for devPublic IP for production

:::info Production note For production deployments with concurrent viewers, consider dedicated hosting with sufficient bandwidth. Each concurrent HLS viewer consumes approximately 2–8 Mbps depending on stream quality. :::

Next Steps