Skip to content

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

The production stack uses TypeScript, npm, a PostgreSQL metadata database with committed Prisma migrations, and a stable Redis endpoint for cache, background jobs, search indexing, notifications, and rate limiting.

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

EngineVersionsNotes
PostgreSQL12+Primary SQL workspace, health checks, explain, dashboards.
MySQL / MariaDB5.7 / 8.0+SQL workspace, guardrails, saved queries, AI context.
MariaDB10.6+MySQL drop-in: CRUD/query, views, functions, and a dedicated TLS toggle for servers without SSL.
CockroachDBv23+PostgreSQL wire-compatible: query/CRUD via a dedicated strategy (port 26257) with crdb_internal metrics.
SQL Server2017+SQL workspace, metadata explorer, AI-assisted query flow.
MongoDB6+NoSQL workspace and document exploration.
MongoDB Atlas (SRV)CurrentAtlas 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