Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
hadziqmtqn/erd-builder-pro: ERD Builder Pro is a database design and documentation tool for developers. Build ERDs, flowcharts, notes, and drawings — all in one workspace

hadziqmtqn/erd-builder-pro: ERD Builder Pro is a database design and documentation tool for developers. Build ERDs, flowcharts, notes, and drawings — all in one workspace

ERD Builder Pro

ERD Builder Pro

Design database schemas and document how your systems work.

Docker Hub Docker pulls Docker image size

Documentation · Desktop releases · Docker image

ERD Builder Pro workspace

ERD Builder Pro combines an ERD canvas and DBML editor with flowcharts, notes, and drawings. Desktop and CLI builds also include DB Client for working with existing PostgreSQL, MySQL, and SQLite databases.

Features

  • Model schemas in the ERD canvas or DBML editor, then export SQL DDL for PostgreSQL and MySQL.
  • Keep flowcharts, rich-text notes, and drawings alongside project files.
  • Use DB Client in the Desktop and CLI apps to inspect connected database schemas, browse data, and run queries.
  • Ask the AI assistant to draft SQL, sample data, or flowcharts. Review generated content before applying it. AI features require a configured provider.

Install

CLI

Requires Node.js 18 or later.

npm install -g erdbpro
erdbpro start --open

The CLI opens the web interface at http://localhost:3101, binds its server to 127.0.0.1, and stores its SQLite database at ~/.erdbpro/data.db. See the CLI guide for other commands, MCP, and schema checks.

Desktop

Download a macOS, Windows, or Linux build from GitHub Releases. macOS and Windows builds are not registered with Apple or Microsoft, so Gatekeeper or SmartScreen may show a warning on first launch. Check the release notes for installation instructions.

Docker

The published image listens on port 3000 and uses SQLite when DATABASE_URL is unset. The database is stored under /app/data; mount that path to a persistent volume. Web deployments also require a stable ERD_ENCRYPTION_KEY.

Generate a key once with openssl rand -hex 32. Save the result in an untracked .env file as ERD_ENCRYPTION_KEY=. Leave DATABASE_URL unset for the default SQLite setup. Keep the same key when restarting or replacing the container; changing it can make previously encrypted values unreadable.

docker run -d \
  --name erd-builder-pro \
  --restart unless-stopped \
  --publish 3000:3000 \
  --volume erd-data:/app/data \
  --env-file .env \
  bekenweb/erd-builder-pro:latest

Keep the erd-data volume and .env backed up. Removing the volume deletes the SQLite database. PostgreSQL and Supabase deployments need additional environment settings; see .env.example.

MCP support (experimental)

Run erdbpro mcp to use CLI data or erdbpro mcp --desktop to use Desktop data. The Desktop command runs the bundled MCP server without opening another GUI window. Local MCP includes selected write operations for Notes and history, so review those requests before approving them.

A configured Web deployment can expose an OAuth-protected Streamable HTTP endpoint. The Web MCP surface is read-only and limited to workspace documents and history. It does not expose DB Client data, credentials, SQL execution, filesystem access, or write operations. See the MCP setup guide.

Development

For local PostgreSQL development, set DATABASE_URL in .env to a development database, then run:

npm install
npm run dev:pg:local

dev:pg:local pushes the Prisma schema before starting the server. Do not point it at production data. Run the checks with:

npm test
npm run lint

License

This repository uses the PolyForm Noncommercial License 1.0.0. It does not grant commercial-use rights, including internal use by for-profit organizations. Contact the licensor for separate permission before commercial use.

Sponsors

IDCloudhost    Doktainer    SumoPod

Support development through Trakteer.

Chat with me