Overview
Discover what makes Kottster powerful
**Kottster** is a self‑hosted, Node.js‑based instant admin panel generator that turns any relational database into a fully functional CRUD and analytics interface. From a developer’s perspective, it abstracts the boilerplate of building data‑centric UIs while still exposing a rich API surface for customization. The core workflow starts with a CLI (`@kottster/cli`) that scaffolds a TypeScript project, after which the `@kottster/server` package spins up an Express/Next.js hybrid runtime. The application automatically discovers database schemas via Prisma, creating RESTful endpoints and GraphQL resolvers on the fly. This tight coupling between schema introspection and UI generation allows developers to iterate rapidly: add a new table, run `npm run dev`, and instantly get an editable list view without writing any additional code.
Runtime
ORM & Schema
UI Layer
State & Auth
Overview
Kottster is a self‑hosted, Node.js‑based instant admin panel generator that turns any relational database into a fully functional CRUD and analytics interface. From a developer’s perspective, it abstracts the boilerplate of building data‑centric UIs while still exposing a rich API surface for customization. The core workflow starts with a CLI (@kottster/cli) that scaffolds a TypeScript project, after which the @kottster/server package spins up an Express/Next.js hybrid runtime. The application automatically discovers database schemas via Prisma, creating RESTful endpoints and GraphQL resolvers on the fly. This tight coupling between schema introspection and UI generation allows developers to iterate rapidly: add a new table, run npm run dev, and instantly get an editable list view without writing any additional code.
Architecture
Kottster’s stack is deliberately minimal yet powerful:
- Runtime – Node.js v20+, built on top of the Next.js framework for server‑side rendering and API routes, combined with Express middleware for custom endpoints.
- ORM & Schema – Prisma is the backbone for database connectivity. It supports Postgres, MySQL/MariaDB, SQL Server, and SQLite, providing a unified schema language that Kottster parses to generate UI components.
- UI Layer – React 18 with TypeScript, styled using Tailwind CSS. The visual builder is a drag‑and‑drop editor that produces declarative JSON configurations, which are then rendered as React components at runtime.
- State & Auth – NextAuth.js handles authentication, while a lightweight JWT/Session strategy keeps the admin panel stateless for horizontal scaling.
- Deployment – Docker images are pre‑built, exposing a single
KOTTSTER_PORT(default 5480). The container can be orchestrated with Docker Compose or Kubernetes, and the application is stateless except for a small SQLite/Prisma schema cache that can be persisted in a shared volume.
Core Capabilities
- Auto‑Generated CRUD – For every table, Kottster creates list, create, edit, and delete pages with pagination, sorting, and filtering out of the box.
- Custom Pages – Developers can drop a React component into the
/pages/customdirectory; Kottster will expose it as an admin route, automatically wiring in authentication and database access. - Dashboard Builder – A visual chart editor supports bar, line, pie, and table widgets. The underlying data queries are generated from Prisma aggregates, allowing real‑time analytics without writing SQL.
- API Exposure – Beyond the UI, Kottster exposes RESTful endpoints (
/api/v1/<table>) and a GraphQL endpoint (/graphql) that mirror the generated CRUD operations, enabling integration with other services. - Extensibility Hooks – Middleware hooks (
beforeCreate,afterUpdate, etc.) let developers inject business logic. Webhooks can be configured to trigger on CRUD events, facilitating CI/CD pipelines or external notifications.
Deployment & Infrastructure
Being self‑hosted, Kottster removes vendor lock‑in. The Docker image is lean (~200 MB) and can run on any Linux host with Docker or Kubernetes. For production, a reverse proxy (NGINX/Traefik) is recommended to handle TLS termination and HTTP2. Because the app is stateless, scaling horizontally is trivial: spin up multiple replicas behind a load balancer and share the same database. Persistent storage is only required for optional assets (uploads, custom templates) and can be mounted as a Docker volume or an S3‑compatible bucket via environment variables.
Integration & Extensibility
- Plugin System – Kottster ships with a plugin API that lets you register custom widgets or authentication providers. Plugins are simple NPM packages that export a
registerfunction, receiving the Kottster app instance. - Webhooks & Events – CRUD operations emit events (
kottster:recordCreated,kottster:recordDeleted) that can be subscribed to via an internal event bus or external HTTP endpoints. - Custom Auth – While NextAuth.js is the default, you can replace it with a custom provider (OAuth2, LDAP) by supplying your own
auth.jsmodule. - Data Sync – Prisma’s schema migration tooling (
prisma migrate) can be run alongside Kottster, ensuring that database changes are reflected in the admin UI without manual intervention.
Developer Experience
The project structure follows standard Next.js conventions, making it immediately familiar to React developers. Documentation is comprehensive, with a dedicated API reference and tutorial videos that walk through adding custom pages or extending the visual builder. The CLI is opinionated but flexible, allowing you to choose a database provider at scaffold time. Community support is active; the GitHub repo has frequent issue responses, and a Discord channel provides real‑time help. Licensing under Apache 2.0 gives developers freedom to modify and redistribute the code without copyleft constraints.
Use Cases
- Rapid Prototyping – Spin up an admin panel for a new microservice and iterate on data models without writing UI code.
- Internal Ops Dashboards – Provide non‑technical staff with dashboards that aggregate metrics from Postgres or MySQL.
- Custom CRUD for Legacy Systems – Wrap an existing SQL Server database with a modern UI, exposing only the necessary tables to end users.
- CI/CD Pipelines – Use Kottster’s API endpoints in automated scripts to seed databases or perform bulk updates.
- Open‑Source Projects – Embed
Open SourceReady to get started?
Join the community and start self-hosting Kottster today
Related Apps in databases
NocoDB
Build databases like spreadsheets, no code required
ChartDB
Instant database diagramming and migration without passwords
Bytebase
Database CI/CD for DevOps teams
Datasette
Explore and publish data as interactive websites
Adminer
Single‑file database manager in PHP
Evidence
Generate BI reports from SQL and markdown
Weekly Views
Repository Health
Information
Explore More Apps
openHAB
Open‑source home automation for any platform
Hiccup
Fast, static start page for links and bookmarks
GoDoxy
Lightweight reverse proxy with web UI and auto‑SSL
Manticore Search
Fast open‑source search database alternative to Elasticsearch
YAFFA
Self-hosted personal finance for long-term planning
Medusa
Open‑source commerce platform for custom B2C/B2B storefronts
