Skip to content

Latest commit

 

History

History
258 lines (182 loc) · 13.6 KB

File metadata and controls

258 lines (182 loc) · 13.6 KB
ReactPress Logo

Fast, smooth, and effortless publishing — live in about a minute.
One CLI · Full-stack CMS · Headless themes · Built for production deployment.

ReactPress official theme — dark mode preview

Theme live demo · Full stack demo · Theme Starter

GitHub license NPM Version PRs Welcome Lighthouse Performance Lighthouse SEO

Report Bug · Request Feature · Documentation · 中文文档

If this project helps you, a ⭐ on GitHub helps others discover it.


Table of contents


What is ReactPress?

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

What you can do

  • 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.

ReactPress CLI interactive menu

Why ReactPress?

Why use it?

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.

How it compares

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.


How to use

1. Start the CMS backend

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 dev

The 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 dev starts 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.

2. Preview the official theme (no backend)

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:mock

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

Deploy theme with Vercel

3. Connect the public site

When the theme should show your content from the CMS:

  1. Keep the ReactPress API running (reactpress initreactpress dev, or reactpress dev --api-only).
  2. Clone reactpress-theme-starter and run pnpm install.
  3. Copy .env.example to .env, then run pnpm 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.

4. See it in action

ReactPress CLI demo — from install to live site

Admin console Live site
Admin dashboard Demo site

Full stack demo · Theme demo

5. Everyday commands

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

6. Deploy to production

npm i -g @fecommunity/reactpress@3
reactpress build
reactpress start

For 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.


Contributing

Thank you to everyone who has helped shape ReactPress.

Contributing Guide · Code of Conduct · Security Policy

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

MIT License · © ReactPress / FECommunity

Star History Chart