Skip to main content

Installation & Requirements

ReactPress 4.0 offers two paths for end users and repository contributors. Most site-building scenarios only need the global CLI — one command runs the full publishing stack.

System Requirements

ItemRequirement
Node.js20 or higher (LTS recommended)
Operating systemmacOS 12+, Windows 10+, mainstream Linux
Package managernpm / pnpm / yarn for global CLI install
Database (default)Embedded SQLite — no Docker or MySQL required
Disk space~200–400 MB on first install (includes bundled API runtime)
Verify Node version
node -v # should show v20.x or higher
npm install -g @fecommunity/reactpress@beta

npm @beta is the 4.x pre-release tag; @latest is still 3.x. There is no @4 dist-tag.

The first npm install -g triggers postinstall, which downloads bundled server runtime dependencies (~1–2 minutes).

Verify installation

reactpress --version
reactpress --help

4.0 CLI commands

4.0 streamlines the CLI for end users to four core commands; advanced operations such as themes and plugins are done in the Admin UI.

CommandDescription
reactpress init [directory]Initialize a site and auto-start API + Admin + theme
reactpress init --forceForce re-initialization (resets local data — use with caution)
reactpress doctorDiagnose Node, ports, database, and service status
reactpress logsView API logs (supports --follow, --grep)
reactpress stopStop API and theme processes for the current site
About reactpress dev

Since 4.0, init includes startup: after reactpress init, services run automatically — no separate dev step. Monorepo contributors still use pnpm dev; see Monorepo local development.

Ports and firewall

Default ports — ensure they are free before deployment:

ServicePortDescription
Admin (reactpress init default)3001 /admin/Mounted on the visitor theme port
Visitor theme3001Next.js SSR
API3002NestJS REST
Theme preview3003Admin iframe preview
Admin (Monorepo dev)3000Standalone Vite dev server

To change ports, see Configuration.

Optional: MySQL / Docker

Default SQLite suits local trials and small self-hosted deployments. For MySQL in production:

  1. Set database.mode in .reactpress/config.json
  2. Run reactpress config --apply (Monorepo / legacy CLI)
  3. Run reactpress doctor to confirm connectivity

See Docker deployment and Production deployment.

Desktop client (optional)

You can use the desktop client for offline writing without the CLI:

  • Download: GitHub Releases
  • Local SQLite mode, default account admin / admin

Next steps