Prerequisites & environment setup
What you need before Data Explorer runs smoothly: runtime, an app metadata database, network access, and reachability to target databases.
Runtime
Node.js 20.x LTS is recommended. The frontend builds with Vite 7.x.
Persistence
A dedicated PostgreSQL database for app metadata plus a Redis instance for cache, queues, notifications, presence, and throttling.
Security
A strong JWT secret, an ENCRYPTION_KEY with exactly 32 characters, and outbound HTTPS to AI providers if you enable AI routing.
System requirements
Node.js
Node.js 20.x LTS is recommended for development and production builds.
Package Manager
npm is the most common path in the current repo. Avoid mixing package managers to prevent lockfile drift.
Prisma sync
Production schema updates use committed PostgreSQL migrations via `npx prisma migrate deploy`; use `db push` only for disposable local prototypes.
Database compatibility matrix
| Engine | Versions | Notes |
|---|---|---|
| PostgreSQL | 12+ | Primary SQL workspace, health checks, explain, dashboards. |
| MySQL / MariaDB | 5.7 / 8.0+ | SQL workspace, guardrails, saved queries, AI context. |
| MariaDB | 10.6+ | MySQL drop-in: CRUD/query, views, functions, and a dedicated TLS toggle for servers without SSL. |
| CockroachDB | v23+ | PostgreSQL wire-compatible: query/CRUD via a dedicated strategy (port 26257) with crdb_internal metrics. |
| SQL Server | 2017+ | SQL workspace, metadata explorer, AI-assisted query flow. |
| MongoDB | 6+ | NoSQL workspace and document exploration. |
| MongoDB Atlas (SRV) | Current | Atlas SRV parsing, SSRF-aware validation, NoSQL workspace. |
Network prerequisites
AI providers
The backend needs outbound HTTPS (443) to whichever providers you enable: Gemini, OpenRouter, Groq, Cerebras, or Beeknoee. If a key is missing or the provider is unreachable, that lane is removed from the execution chain rather than treated as if it were available.
Redis / internal services
If `REDIS_URL` is not working, BullMQ, throttling, presence, notification streaming, and part of the caching/search layer become unstable. In the current repo structure this is no longer just an optional optimization.
Target databases
The backend host must be able to reach target databases. If a school or company network blocks 5432, 3306, or 27017, both local development and the deployed app can lose reachability.
App ports
Local development uses 5173 for the frontend and 3001 for the backend API by default. Production commonly places the frontend behind Vercel and the backend behind Render or nginx.
Ready to explore data?
Join the community on GitHub to contribute to the smartest local database IDE.
Launch App