Skip to main content

Requirements

Supported platforms

GEM runs on Linux. You can install it two ways:

  • Native Linux — Ubuntu 24.04 LTS is the reference platform. Other modern distributions work but are less tested.
  • Windows 10/11 via WSL — the Windows installer sets up WSL with Ubuntu 24.04 and runs GEM inside it. From the operating system's point of view GEM is still running on Linux; WSL is the host.

:::info Why WSL on Windows? GEM is a Linux application. Rather than maintain a separate native Windows build, the Windows installer provisions a managed WSL instance (Ubuntu 24.04) and installs GEM there. The installer configures mirrored networking so the server is reachable on the LAN as if it were a native host, and disables WSL idle suspend so GEM keeps running in the background. See Installation. :::

Software prerequisites

For the standard install you do not install these yourself — the installer provisions them. They're listed here for reference and for from-source installs:

ComponentVersionNotes
Node.js22.x (pinned to 22.22.2)The server runtime.
PostgreSQL14+Stores all configuration. GEM uses a dedicated database, user, and schema.

Network

  • HTTP — GEM serves on port 3000 by default.
  • HTTPS — optional, on port 8443 (with HTTP on 8080) when SSL is enabled. See Configuration.
  • Outbound — the server reaches updates.mygem.us for updates, and (when enabled) a secure remote-access tunnel. No inbound ports need to be opened for remote access when the tunnel is used.

On Windows/WSL, mirrored networking means clients on the LAN reach GEM at the Windows host's IP on these same ports.

Hardware

Requirements scale with the size of the site — the number of devices, zones, cameras, and connected clients. A small residential system runs comfortably on modest hardware; large commercial deployments with many camera streams and hundreds of zones want more CPU and RAM. Provision generously for camera/RTSP-heavy sites, where per-stream work dominates.

Next: Installation.