https://github.com/plank-cms/plank
A self-hosted headless CMS you can deploy in minutes
https://github.com/plank-cms/plank
am25 api-rest cms express headless plank-cms postgres
Last synced: 27 days ago
JSON representation
A self-hosted headless CMS you can deploy in minutes
- Host: GitHub
- URL: https://github.com/plank-cms/plank
- Owner: plank-cms
- License: other
- Created: 2026-04-22T02:25:24.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-11T00:42:07.000Z (about 2 months ago)
- Last Synced: 2026-05-11T01:34:48.894Z (about 2 months ago)
- Topics: am25, api-rest, cms, express, headless, plank-cms, postgres
- Language: TypeScript
- Homepage: https://plank-cms.com
- Size: 1.62 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Plank CMS
A self-hosted headless CMS you can deploy in minutes. Built on Node.js and PostgreSQL — runs entirely on your infrastructure.
## Quick start
```bash
pnpm dlx @plank-cms/plank init .
pnpm start
```
Or with npm:
```bash
npx @plank-cms/plank init .
npm start
```
The admin panel will be available at `http://localhost:5500/admin`.
## What it is
Plank is a headless CMS that runs as a standalone Express server and exposes a REST API for consuming content from any frontend. Content types and fields are defined visually from the admin panel — no code changes, no restarts.
The API is token-authenticated. Tokens are managed from the admin panel and can be scoped to read-only or full access.
## Architecture
- **Server** — Express 5, REST API, JWT auth, role-based access control
- **Database** — PostgreSQL via `pg` (no ORM). Each content type maps to a real table; schema changes run as live `ALTER TABLE` statements
- **Admin panel** — React + Vite, served as static files by the same Express process in production
- **Media** — provider pattern with support for local storage, AWS S3, and Cloudflare R2
## Requirements
- Node.js 20+
- PostgreSQL 18
## License
[MIT](LICENSE) — AM25, S.A.S. DE C.V.