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

4.0 stable is on npm @latest (npm i -g @fecommunity/reactpress).

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:

  1. Set database.mode in .reactpress/config.json (e.g. embedded-docker) and fill connection fields
  2. Update root .env (DB_TYPE, host, credentials, etc.)
  3. Monorepo: pnpm docker:dev and the full CLI; end users: reactpress stop then reactpress init after edits
  4. Run reactpress doctor to confirm connectivity

See Project configuration, 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