Fast, smooth, and effortless publishing — live in about a minute.
One CLI · Full-stack CMS · Headless themes · Built for production deployment.
Theme live demo · Full stack demo · Theme Starter
Report Bug · Request Feature · Documentation · 中文文档
If this project helps you, a ⭐ on GitHub helps others discover it.
ReactPress is a publishing platform built around a CMS backend, an admin console, and optional frontends — install one CLI package to run the API, manage content in the admin, and connect a public theme when you are ready.
| Component | Role |
|---|---|
| CMS backend (API) | Stores and serves posts, pages, media, categories, and settings |
| Admin console | Web UI for writing and managing content (included in full-stack setups) |
| Official theme | Recommended public site — search, knowledge base, comments, dark mode |
CLI (reactpress) |
Initialize, run locally, build, and deploy |
- Publish — posts, pages, scheduled publishing, categories, and tags
- Manage media — upload images and files, reuse across content
- Customize the site — title, logo, navigation, and appearance from the admin
- Choose your frontend — use the official theme or connect a custom one via the API
- Preview the theme instantly — sample-data mode in the theme repo, no backend required
Write once, publish everywhere. Create content in the admin; render it on the web or through any connected frontend.
Most publishing tools force a trade-off: either an easy CMS with a slow or tightly coupled frontend, or a fast static site without a proper editor. ReactPress is designed to reduce that trade-off.
| What you need | What ReactPress gives you |
|---|---|
| Start quickly | One global install; init + dev brings up the CMS backend in about a minute¹ |
| Write in a familiar way | Web admin for posts, pages, media, and categories |
| A site visitors enjoy | Official theme: fast pages, search, comments, knowledge base, dark mode |
| Room to grow | Headless API — swap or customize the public frontend without migrating content |
| Fewer moving parts | Core publishing features without assembling plugins; official theme demo scores Lighthouse 95 / 100 / 100 / 100² |
In one line: WordPress-style content workflow + a modern public site — with a clearer path to performance and frontend flexibility.
¹ After Node.js and Docker are available; the first Docker image pull may take longer.
² Measured on the official theme live demo; your scores depend on hosting and content.
| ReactPress | WordPress | Ghost | Static site (Hugo, Hexo, etc.) | |
|---|---|---|---|---|
| Time to first running stack | init + dev — about 1 minute¹ |
Server, PHP, themes, and plugins | Managed hosting or self-hosted install | New repo and build pipeline per site |
| Content editing | Web admin | Web admin | Web admin | Markdown or MDX in Git |
| Public site speed & SEO | Lighthouse 95/100/100/100 (official theme demo)² | Varies widely by theme and plugins | Generally strong | Excellent, but no built-in CMS |
| Frontend flexibility | Headless — connect or replace the theme | Strong theme/plugin ecosystem, often coupled | Theme system tied to Ghost | Fixed at build time |
| Built-in publishing extras | Search, comments, knowledge base (official theme + API) | Often via plugins | Membership/newsletter focus | Build yourself |
| Best for | Blogs, content sites, custom publishing | General-purpose websites | Newsletters and publishing businesses | Docs and developer blogs |
vs WordPress — Similar admin-driven publishing, with a faster default public theme path and less reliance on plugins for a modern frontend.
vs Ghost — Both target blogging and content publishing. ReactPress emphasizes a CLI-first, headless setup and a swappable Next.js theme; Ghost emphasizes its integrated publishing and membership stack.
vs static generators — Keep strong performance and SEO potential, while adding a CMS so editors can publish without working in Git.
Who is it for? Bloggers, indie creators, teams that need a content hub, and anyone who wants a production-capable stack without a week of integration work.
¹ After dependencies are installed; first Docker pull may take longer.
² Official theme demo at reactpress-theme-starter.vercel.app.
Requirements: Node.js 18+ · Docker recommended (for the bundled MySQL)
npm i -g @fecommunity/reactpress@3
mkdir my-blog && cd my-blog
reactpress init
reactpress devThe CLI starts the CMS API and prints the URLs when ready:
| Service | Typical URL |
|---|---|
| API | http://localhost:3002/api |
| API docs (Swagger) | http://localhost:3002/api |
| Health check | http://localhost:3002/api/health |
Run reactpress anytime for the interactive menu. Use reactpress doctor if startup fails.
In a new project directory,
reactpress devstarts the API first. Connect the official theme for the visitor-facing site, or see the docs for a full-stack setup with the admin console.
Preview the theme UI with sample content — no ReactPress install required:
npx create-next-app@latest my-blog --example "https://github.com/fecommunity/reactpress-theme-starter" --use-pnpm
cd my-blog
pnpm dev:mockOpen http://localhost:3001 — same as the live demo.
When the theme should show your content from the CMS:
- Keep the ReactPress API running (
reactpress init→reactpress dev, orreactpress dev --api-only). - Clone reactpress-theme-starter and run
pnpm install. - Copy
.env.exampleto.env, then runpnpm dev.
Open http://localhost:3001 for the public site. Customize colors, logo, and navigation in the ReactPress admin when running a full-stack deployment.
Full guide: theme starter README.
| Admin console | Live site |
|---|---|
![]() |
![]() |
| Command | What it does |
|---|---|
reactpress |
Open the interactive menu |
reactpress init |
Set up a new site |
reactpress dev |
Run the CMS API locally (add a theme for the public site) |
reactpress build |
Prepare for production |
reactpress start |
Run in production |
reactpress doctor |
Diagnose setup issues |
reactpress status |
See what is running |
More options: documentation
npm i -g @fecommunity/reactpress@3
reactpress build
reactpress startFor Docker, PM2, backups, and advanced setup, see the full documentation.
To deploy only the public theme, use reactpress-theme-starter and point it at your ReactPress API.
Thank you to everyone who has helped shape ReactPress.
Contributing Guide · Code of Conduct · Security Policy
![]() FECommunity |
![]() SleepSheep |
![]() fantasticit |
![]() chenbo29 |
![]() redteav2 |
![]() trashken |
![]() franz007 |
![]() funtime1 |
![]() scottdeift |
![]() TwoDollars666 |
![]() Xiaonan2020 |
redtea |
m0_37981569 |
MIT License · © ReactPress / FECommunity














