System Requirements

Everything you need to self-host or develop against ZapTicket.

Runtime Requirements

ZapTicket is built on a .NET backend with a Next.js frontend. The following runtimes and services must be available on your host machine or container environment.

DependencyMinimum VersionPurpose
Node.js22.x LTSRuns the Next.js dashboard & docs site, builds the widget
.NET SDK10.0Compiles and runs the API server
PostgreSQL16+Primary data store (conversations, tickets, users, workspaces)
pnpm9.xPackage manager for all JS/TS packages in the monorepo

Node.js 22

ZapTicket targets Node.js 22 LTS for its long-term support window and native fetch, Web Crypto API, and improved module resolution. Earlier versions are not tested and may produce unexpected behavior — especially around the --experimental-* flags that were stabilized in v22.

Verify Node version
node --version
# Expected: v22.x.x
💡We recommend using nvm or fnm to manage Node versions. The repo includes an .nvmrc file that pins the correct version.

.NET 10

The API server targets net10.0. Install the full SDK (not just the runtime) if you plan to build from source. Production deployments can use the smaller ASP.NET runtime image.

Verify .NET version
dotnet --version
# Expected: 10.0.xxx

On Linux, the Microsoft package feed provides dotnet-sdk-10.0. On macOS, brew install dotnet@10 works if the cask is available, otherwise use the official installer.

PostgreSQL 16+

ZapTicket relies on PostgreSQL features introduced in version 16, including improved JSON handling and query performance enhancements. Any 16.x or newer release is supported.

Check PostgreSQL version
psql --version
# Expected: psql (PostgreSQL) 16.x or higher

The database must be accessible from the API server. You'll provide a connection string in the environment variable ConnectionStrings__DefaultConnection or in appsettings.json.

Example connection string
postgresql://zapticket:secret@localhost:5432/zapticket_dev
⚠️ZapTicket applies migrations automatically on startup. Make sure the database user has CREATE TABLE, ALTER TABLE, and CREATE INDEX permissions.

pnpm

The monorepo uses pnpm workspaces to manage the dashboard, widget, and docs-site packages. Using npm or yarn directly will not resolve workspace dependencies correctly.

Install pnpm globally
corepack enable
corepack prepare pnpm@latest --activate

# Or install directly
npm install -g pnpm
Install all workspace dependencies
pnpm install

Optional but Recommended

ToolVersionWhy
Docker24+Run PostgreSQL locally without a system install
Redis7+Required only for multi-instance SignalR backplane in production
dotnet-ef10.xGenerate or script EF Core migrations

Hardware Guidelines

For local development, any modern machine with 8 GB RAM is sufficient. For production:

  • API Server: 2 vCPU, 2 GB RAM minimum (scales horizontally)
  • PostgreSQL: 2 vCPU, 4 GB RAM, SSD storage
  • Dashboard/Docs: 1 vCPU, 1 GB RAM (static assets served via CDN ideally)

Supported Operating Systems

Development is supported on macOS (Apple Silicon and Intel), Linux (Ubuntu 22.04+, Debian 12+), and Windows 11 with WSL2. Native Windows without WSL is not officially tested but may work.