System Requirements
Endatix ships as two deployable parts: the Endatix API (.NET) and the Endatix Hub (Next.js). Run the API on its own for headless, API-only use — the Hub always needs a reachable API. Both run on macOS, Windows (including WSL), and Linux.
Backend
Endatix API
Frontend
Endatix Hub
- Node.js
20.9 or newer (tested up to 25.0)
- pnpm
10.28 or newer (12 recommended)
- API
A reachable Endatix API —
ENDATIX_BASE_URL- Dev URL
http://localhost:3000
Check what you have
dotnet --list-sdks # need 10.0.100 or newer
node --version # need v20.9.0 or newer
pnpm --version # need 10.28.0 or newer; 12.x recommended
docker --version # optional — for Compose self-hosting
Databases
Pick one provider per deployment and set it in Persistence Settings. Endatix stores form and submission payloads in native JSON column types, so the provider version matters — not just the vendor.
Provider
SQL Server
- Version
2025 or later, or Azure SQL Database
- Setup
- No extensions required
- Watch out
Migrations use the native
jsontype — why
Provider
PostgreSQL
- Version
Any supported release — the sample stack runs 17.6
- Setup
Required
pg_trgmextension- Watch out
Payloads are
jsonb— migration guide
SQL Server 2025 or later
Migrations declare payload columns as json, a type added in SQL Server 2025. On 2022 and earlier they fail with Cannot find data type json. Azure SQL Database supports the type.
PostgreSQL pg_trgm extension
Data-list label search uses trigram indexes, and the migration that creates them fails without pg_trgm. Create it before you migrate:
CREATE EXTENSION IF NOT EXISTS pg_trgm;
Managed hosts may need the extension allowlisted first — on Azure Database for PostgreSQL that is the azure.extensions server parameter, which Azure Deployment covers and the sample Bicep sets for you.
Browsers
The Hub — including public form-filling pages — targets the Next.js 16 baseline:
- Chrome 111+
- Edge 111+
- Firefox 111+
- Safari 16.4+
Older browsers load the page but may fail on modern JavaScript syntax — see Next.js supported browsers.
Optional tooling
Needed only for the path you take:
- Docker Desktop (Compose v2) — self-hosting with Compose
- Kubernetes + Helm 3 — cluster self-hosting, same images and database rules; Hub is configured with request-time
ENDATIX_*env - Azure CLI / SWA CLI — Azure Deployment
dotnet-ef— running migrations by hand instead of at startup (Persistence Settings)- Git — installing from the repository