Stop writing CRUD APIs.
Configure them.

Multi-tenant CRUD platform with built-in IAM, bulk import, and admin UI. Wire any MySQL database in seconds โ€” no boilerplate code, no schema migrations, just configuration.

Get started โ†’ โญ Star on GitHub
$ docker run -d -p 8080:80 -v $(pwd)/data:/app/Data websvcin/crudapi:latest

Built for production. Designed for humans.

No more boilerplate controllers, no more auth plumbing, no more permission spaghetti.

โšก

Zero-config CRUD

Register a database in the admin UI. Every table becomes a fully-functional REST endpoint with filtering, sorting, pagination, and joins.

๐Ÿ”

Identity & access built in

Roles, permissions, row-level policies, API keys, Basic Auth, JWT โ€” all wired and audited.

๐Ÿ“ฅ

Bulk import ready

Stream million-row CSV files with foreign-key resolution, enum validation, and per-row error reports.

๐ŸŒ

Multi-tenant by design

Host any number of databases behind a single deployment. Per-database CORS, isolated data.

๐Ÿงฐ

Admin UI included

Visual database registration, role editor, permission matrix, audit log viewer, session manager.

๐Ÿณ

Docker-ready

Multi-arch image (amd64 + arm64), non-root user, ~200MB. Works on Raspberry Pi, AWS Graviton, Mac M1.

From zero to live API in 60 seconds

No installs, no schemas, no SQL.

1

Run with Docker

One command: pulls image, starts server, persists data.

2

Register a DB

Open the admin UI, enter MySQL credentials, test connection.

3

Create an API key

Bind it to your database. Pick a role: Reader / Editor / custom.

4

Call your data

curl with X-API-Key. Filter, sort, paginate, join โ€” all out of the box.

Install

Three ways. Pick what fits your stack.

Pick your registry โ€” both publish the same images.

๐Ÿณ Docker Hub (familiar):

docker pull websvcin/crudapi:latest

๐Ÿ“ฆ GHCR (no rate limits):

docker pull ghcr.io/web-svc/crudapi:latest

๐Ÿš€ Then run:

docker run -d -p 8080:80 \
  -v $(pwd)/data:/app/Data \
  --name crudapi \
  websvcin/crudapi:latest

Open http://localhost:8080 โ€” landing page loads. Login: admin / admin@123.

curl -O https://raw.githubusercontent.com/websvcin/crudapi/main/docker-compose.yml
docker compose up -d

See DEPLOY.md for production setup with reverse proxy and HTTPS.

wget https://github.com/websvcin/crudapi/releases/latest/download/crudapi-latest.zip
unzip crudapi-latest.zip -d crudapi
cd crudapi
dotnet CrudApi.dll

Requires .NET 8 runtime.

FAQ

Is the source code open?

Not at this time. The deployable binaries and Docker images are public and free under MIT license. Commercial support is available โ€” contact us via the GitHub issues.

Which databases are supported?

MySQL today. SQL Server, PostgreSQL, and SQLite are on the roadmap. The admin UI honestly shows which engines are active in the version you're running.

Can I run it on Plesk / shared hosting?

Yes โ€” download the ZIP release and follow standard ASP.NET Core hosting docs for your provider.

How do I update?

If using Docker: docker pull ghcr.io/websvcin/crudapi:latest && docker compose up -d. Always check the CHANGELOG for breaking changes first.

Where is my data stored?

In the /app/Data folder inside the container. Always mount this as a volume or you lose admin users / sessions / audit on every container restart.

Is it production-ready?

Yes. v1.0.0 has been used in real deployments. Known limitations are documented in the changelog.

How do I contribute?

File issues on GitHub. Source contributions aren't open yet, but feature requests, bug reports, and documentation improvements are welcome.

Ready to skip the boilerplate?

Get the latest release and run your first CRUD API in under 5 minutes.

Download v1.0.0 โ†’