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.
| Dependency | Minimum Version | Purpose |
|---|---|---|
| Node.js | 22.x LTS | Runs the Next.js dashboard & docs site, builds the widget |
| .NET SDK | 10.0 | Compiles and runs the API server |
| PostgreSQL | 16+ | Primary data store (conversations, tickets, users, workspaces) |
| pnpm | 9.x | Package 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.
node --version
# Expected: v22.x.x.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.
dotnet --version
# Expected: 10.0.xxxOn 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.
psql --version
# Expected: psql (PostgreSQL) 16.x or higherThe database must be accessible from the API server. You'll provide a connection string in the environment variable ConnectionStrings__DefaultConnection or in appsettings.json.
postgresql://zapticket:secret@localhost:5432/zapticket_devCREATE 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.
corepack enable
corepack prepare pnpm@latest --activate
# Or install directly
npm install -g pnpmpnpm installOptional but Recommended
| Tool | Version | Why |
|---|---|---|
| Docker | 24+ | Run PostgreSQL locally without a system install |
| Redis | 7+ | Required only for multi-instance SignalR backplane in production |
| dotnet-ef | 10.x | Generate 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.