Skip to content

fecommunity/reactpress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

370 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReactPress Logo

ReactPress

The open-source publishing platform — WordPress familiarity, Next.js performance.
One global package · Zero-config CMS · Headless API · Production-ready themes

GitHub stars NPM version NPM downloads CI License


ReactPress official theme — live demo



⚡ ~60s
Zero-config cold start
📊 95 / 100 / 100 / 100
Lighthouse on official theme
🔌 Headless
REST · Swagger · TypeScript SDK

Theme demo  ·  Full-stack demo  ·  Documentation  ·  Official theme  ·  中文文档

If ReactPress saves you time, ⭐ Star on GitHub — it helps others find it.


Quick start

Requirements: Node.js 18+ · Docker recommended (bundled MySQL)

npm i -g @fecommunity/reactpress@3
mkdir my-blog && cd my-blog
reactpress init
reactpress dev

That's it — the CLI scaffolds config, starts MySQL, and launches the CMS API. No manual .env editing.

Service URL
CMS API http://localhost:3002/api
Swagger docs http://localhost:3002/api
Health check http://localhost:3002/api/health

Run reactpress for the interactive menu · reactpress doctor if something fails.

Next: connect the official theme, or follow the full-stack guide.

Table of contents

See it in action

ReactPress CLI — from install to running stack

CLI Public site (dark)
ReactPress CLI interactive menu ReactPress official theme — dark mode
Lighthouse scores: Performance 95, Accessibility 100, Best Practices 100, SEO 100

Why ReactPress?

Most publishing tools force a trade-off: easy CMS with a slow or tightly coupled frontend, or blazing static sites without a proper editor. ReactPress reduces that trade-off — WordPress-style editing with a modern, decoupled public site.

ReactPress WordPress Ghost Static (Hugo, Hexo)
Time to first stack init + dev — ~60s¹ Server, PHP, themes, plugins Managed or self-hosted install New repo + pipeline per site
Content editing Web admin Web admin Web admin Markdown in Git
Public site speed & SEO Lighthouse 95/100/100/100² Varies by theme/plugins Generally strong Excellent, no built-in CMS
Frontend flexibility Headless — swap the theme Theme/plugin ecosystem, often coupled Tied to Ghost themes Fixed at build time
Built-in extras Search, comments, knowledge base Often via plugins Membership focus Build yourself
Best for Blogs, content sites, custom publishing General websites Newsletters & publishing Docs & dev blogs

¹ After Node.js and Docker are ready; first Docker image pull may take longer.
² Measured on the official theme live demo.


Features

Feature What you get
~60s cold start init + dev — zero config, embedded Docker MySQL
✍️ Familiar CMS Posts, pages, media, categories, tags, scheduled publishing
🎨 Modern frontend Official Next.js theme — search, comments, knowledge base, dark mode
🔌 Headless-ready REST API, Swagger, API keys, webhooks — swap or build your own frontend
📊 Production scores Official theme demo: Lighthouse 95 / 100 / 100 / 100
🛠️ Developer UX Interactive CLI menu, doctor, status, db backup
🌐 i18n Chinese & English admin and docs
📦 One package @fecommunity/reactpress@3 — CLI + API + templates, no assembly required

Perfect for

Use case Why ReactPress
📝 Personal blogs Rich editor — no Markdown-in-Git workflow
🏢 Content sites & docs Knowledge base, search, comments out of the box
🧑‍💻 Developer teams Headless API + SDK, any frontend stack
🚀 Indie makers npm i -g → running CMS in ~60 seconds
🔌 Headless CMS REST + Swagger + webhooks as your content hub

Architecture

ReactPress separates content management from presentation — write in the admin, render anywhere.

flowchart LR
  subgraph Author["Authoring · :3001/admin"]
    A["Admin console<br/>React · Ant Design"]
  end

  subgraph Core["Content platform · :3002"]
    B["NestJS REST API<br/>Swagger · Headless · Webhooks"]
    DB[(MySQL)]
    B --- DB
  end

  subgraph Delivery["Public delivery"]
    C["Official theme<br/>Next.js SSR"]
    D["Custom frontend<br/>Toolkit · REST · API Key"]
  end

  A -->|write & publish| B
  B -->|SSR fetch| C
  B -->|headless API| D
Loading
Component Role
CLI (reactpress) Init, dev, build, deploy, Docker, diagnostics
CMS API Content, media, settings, headless endpoints, webhooks
Admin console Web UI for editors (included in full-stack setups)
Official theme Recommended public site — fast, SEO-friendly, feature-rich
@fecommunity/reactpress-toolkit TypeScript SDK for custom frontends

Usage paths

Preview the theme (no backend)

npx create-next-app@latest my-blog --example "https://github.com/fecommunity/reactpress-theme-starter" --use-pnpm
cd my-blog && pnpm dev:mock

Open http://localhost:3001 — same as the live demo.

Deploy theme with Vercel

Connect the public site

  1. Keep the ReactPress API running (reactpress dev, or reactpress dev --api-only).
  2. Clone reactpress-theme-starterpnpm install.
  3. Copy .env.example to .envpnpm dev.

Customize colors, logo, and navigation in the ReactPress admin. Full guide: theme starter README.

Deploy to production

reactpress build && reactpress start

Docker, PM2, backups: full documentation.

Everyday commands

Command What it does
reactpress Interactive menu
reactpress init Set up a new site
reactpress dev Run locally (API; add theme for public site)
reactpress dev --api-only API only (headless)
reactpress build / reactpress start Production build & run
reactpress doctor / reactpress status Diagnose & check status
reactpress db backup Back up the database

Tech stack & ecosystem

Stack Node.js CLI · NestJS API · MySQL · React admin · Next.js theme · TypeScript SDK
Main repo fecommunity/reactpress
Official theme fecommunity/reactpress-theme-starter
Documentation docs.gaoredu.com
NPM @fecommunity/reactpress · @fecommunity/reactpress-toolkit
Live demos Full stack · Theme only

FAQ

Do I need Docker?

Recommended. ReactPress uses embedded Docker MySQL by default. You can also point to an external MySQL instance via .reactpress/config.json.

Can I use my own frontend?

Yes. ReactPress is headless-first — REST API, API keys, and @fecommunity/reactpress-toolkit for any stack.

How is this different from WordPress?

Similar admin-driven workflow, but a shorter path to a fast modern frontend — no PHP stack, no plugin maze for performance. API and theme are decoupled by design.

What does "~60 seconds" mean?

After Node.js and Docker are installed, a second cold start (reactpress init + reactpress dev) typically completes within 60 seconds. First Docker image pull takes longer.


Community & contributing

Issues & features GitHub Issues
Questions & ideas GitHub Discussions
Contributing Guide · Code of Conduct · Security

Thank you to everyone who has helped shape ReactPress.

fecommunity
FECommunity
want2sleeep
SleepSheep
fantasticit
fantasticit
chenbo29
chenbo29
redteav2
redteav2
trashken
trashken
franz007
franz007
funtime1
funtime1
scottdeift
scottdeift
TwoDollars666
TwoDollars666
Xiaonan2020
Xiaonan2020
gaoredu
redtea
m0_37981569
m0_37981569
lsr365400
lsr365400

MIT License · © ReactPress / FECommunity

Star History Chart

About

🔥 ReactPress - From zero to blog/CMS — fast, smooth, and effortless.(一个让开发者轻松构建CMS与博客系统的解决方案。)Demo:https://blog.gaoredu.com

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

719 stars

Watchers

11 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors