Troubleshooting
Find issues by symptom. Always start with:
reactpress doctor
reactpress logs --tail 100
Diagnostic command cheat sheet
| Command | Purpose |
|---|---|
reactpress doctor | Environment, ports, DB, processes overview |
reactpress doctor --show-logs | Attach log snippet on failure |
reactpress logs -f | Follow API logs live |
reactpress logs --grep error | Filter error lines |
reactpress stop | Clean stop before restart |
Monorepo: pnpm status, pnpm docker:dev:logs
Install and init failures
postinstall timeout / network error
Bundled runtime download failed during global install:
# retry install
npm install -g @fecommunity/reactpress@beta --force
# check proxy and registry
npm config get registry
Node version too low
node -v # requires ≥ 20
Use nvm or fnm to switch versions.
Data loss after init --force
--force resets .reactpress/ and SQLite. For production data, run reactpress db backup (Monorepo) or copy .reactpress/reactpress.db manually first.
Services won't start
Port in use
doctor output flags 3000 / 3001 / 3002 conflicts.
# macOS / Linux — check usage
lsof -i :3002
# stop ReactPress and retry
reactpress stop
reactpress init
Change ports: Configuration.
API up but Admin / theme unreachable
| Symptom | Likely cause | Fix |
|---|---|---|
| :3000 won't open | web process not started | Monorepo: pnpm dev:web; check logs |
| :3001 blank | theme not enabled | Admin → Appearance → enable theme |
| CORS error | URL mismatch | verify CLIENT_SITE_URL / SERVER_SITE_URL |
Theme process REACTPRESS_THEME_NOT_FOUND
Theme not installed or enabled. Install in Admin, or in Monorepo confirm themes/hello-world is in registry.
Database issues
SQLite file corrupted
reactpress stop
mv .reactpress/reactpress.db .reactpress/reactpress.db.bak
reactpress init --force # clears data — use with caution
MySQL connection refused
pnpm docker:dev:status— confirm container running- Verify
.envDB_HOST/DB_PORT/ credentials - Confirm
config.jsondatabase.modeisembedded-docker
Config out of sync
After editing config.json, run reactpress config --apply (Monorepo). Do not edit .env alone without updating config source.
Content and API
Headless 401 / 403
- Check
X-API-Keyheader - Key expired or revoked
- Request path uses
/api/prefix
Upload failure
uploads/write permissions- Disk space
- OSS misconfiguration (if remote storage enabled)
Plugin Hook not firing
- Confirm plugin enabled in Admin
pnpm run build:plugins(dev mode)- Restart API
logs --grepplugin id
Production
Wrong OG / image URLs
CLIENT_SITE_URL / SERVER_SITE_URL still localhost → update config, --apply, restart.
HTTPS mixed content
Enable HTTPS site-wide; media URLs should be relative or HTTPS CDN.
PM2 / Docker deployment
See Production deployment and Docker deployment.
Still stuck?
When opening a GitHub Issue, include:
- OS and Node version
@fecommunity/reactpressversion- Full
reactpress doctoroutput reactpress logs --tail 200(redacted)- Reproduction steps