Overview
Discover what makes Manifest powerful
Manifest is a **single‑file, self‑hosted backend engine** that bundles data storage, business logic, authentication, and an admin UI into one minimalistic configuration file. It is designed for rapid iteration: a developer can define entities, relationships, and policies in a concise YAML file, then launch the entire stack with a single Node.js process. The framework abstracts away database migrations and admin scaffolding, allowing teams to ship prototypes or micro‑services in minutes rather than days.
Declarative entity model
Built‑in CRUD API & SDK
Multi‑database support
Custom endpoints & webhooks
Overview
Manifest is a single‑file, self‑hosted backend engine that bundles data storage, business logic, authentication, and an admin UI into one minimalistic configuration file. It is designed for rapid iteration: a developer can define entities, relationships, and policies in a concise YAML file, then launch the entire stack with a single Node.js process. The framework abstracts away database migrations and admin scaffolding, allowing teams to ship prototypes or micro‑services in minutes rather than days.
Key Features
- Declarative entity model: Define tables, fields, relations, and validation rules directly in YAML.
- Built‑in CRUD API & SDK: Each entity automatically exposes REST endpoints (
/api/<entity>) and a lightweight JavaScript SDK for client consumption. - Multi‑database support: Choose between PostgreSQL, MySQL/MariaDB, SQLite, or a custom connection string; the schema is generated on first run.
- Custom endpoints & webhooks: Extend functionality with user‑defined handlers (
beforeCreate,afterUpdate, etc.) that can call external services or trigger internal workflows. - Auth & RBAC: Toggle
authenticable: trueon any entity to turn it into a user model; role‑based access control and ownership policies are defined in the same file. - Storage layer: File uploads go to a local disk or an S3‑compatible endpoint, with optional image resizing.
Architecture & Technical Stack
| Layer | Technology |
|---|---|
| Runtime | Node.js (ESM) – lightweight, single‑process server |
| Framework | Custom Express‑style router with middleware pipelines for policies and hooks |
| ORM / Schema | Knex.js migrations generated from YAML definitions; supports PostgreSQL, MySQL/MariaDB, SQLite |
| API | Auto‑generated REST routes + optional GraphQL (via manifest-graphql plugin) |
| SDK | Vanilla JS client that wraps fetch calls and handles auth tokens |
| Admin UI | React SPA served by the same Node process; uses manifest-ui components for CRUD, file uploads, and policy editing |
| Storage | Local filesystem or S3‑compatible object storage (via aws-sdk or MinIO) |
| Deployment | Docker image available on npm (manifest) – can run anywhere Node.js is supported (Linux, macOS, Windows) |
The core engine parses the YAML file at startup, builds a Knex migration to sync the database schema, and registers route handlers based on declared policies. Middleware chains are constructed dynamically, allowing developers to inject custom logic without touching the core codebase.
Deployment & Infrastructure
- Self‑hosted: A single
manifest.ymlfile and a Node.js runtime are all that is required. - Containerization: Official Docker image (
mnfst/manifest) includes the runtime and exposes port3000. - Scalability: While designed for lightweight services, the architecture can be horizontally scaled behind a load balancer. The database layer is fully compatible with production‑grade relational DBs, so scaling is limited only by the underlying database.
- Zero downtime: Hot‑reload of the YAML file is supported; changes are applied without restarting the server, making iterative development painless.
Integration & Extensibility
- Plugins: The plugin system exposes hooks for authentication providers, email services, or custom middleware.
- Webhooks: Trigger external HTTP endpoints on CRUD events (
onCreate,onDelete, etc.). - SDK hooks: Client‑side interceptors for token refresh or request logging.
- Custom endpoints: Developers can add arbitrary routes in a
routes.jsfile that receives the same context as built‑in handlers.
Developer Experience
- Configuration: A single YAML file keeps all definitions in one place; no separate migration scripts or schema files.
- Documentation: The README and inline YAML comments provide clear examples; the community maintains a growing set of plugins.
- Community: Active Discord channel, open issues on GitHub, and frequent CI/CD checks ensure quick feedback.
- Testing: Built‑in test harnesses (
manifest-test) allow unit tests for custom endpoints and policies.
Use Cases
- Rapid Prototyping – Quickly spin up a data model for an MVP and iterate with live reload.
- Micro‑services – Deploy isolated services (notification, payment gateway, file storage) with minimal boilerplate.
- CRUD‑heavy Apps – Build directories, PIMs, or e‑shop backends with auto‑generated admin panels.
- Headless CMS – Use the entity system to model content types and expose APIs for static site generators or SPA frontends.
Advantages Over Alternatives
| Criterion | Manifest | Typical Low‑Code Platforms |
|---|---|---|
| Performance | Single Node process, lightweight ORM; no heavy dashboard overhead. | Often bundled with full admin dashboards that add latency. |
| Flexibility | Full control via YAML + custom JS; no vendor lock‑in. | Closed APIs or limited extensibility. |
| Licensing | MIT, open source; no subscription fees. | Commercial SaaS or restrictive licenses. |
| Deployment | Anywhere Node.js runs; Docker ready. | Cloud‑only or requires complex provisioning. |
| Developer Focus | Code‑centric; integrates with existing CI |
Open SourceReady to get started?
Join the community and start self-hosting Manifest today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Explore More Apps
Noosfero
Self-hosted other
Neko
Virtual browser in a container, WebRTC‑powered
ntfy
Send push notifications via HTTP scripts
Lowdefy
Build web apps with config, not code
LidaTube
Fetch missing Lidarr albums via yt‑dlp
Chevereto
Self‑hosted image and video sharing platform