nodepress is a free, open source blogging & personal sites project written in TypeScript and released under MIT. It has 1,524 GitHub stars, 308 forks and 17 open issues, and was last pushed 3 months ago. On this registry it ranks #18 of 25 tracked projects in Blogging & Personal Sites, with 5 head-to-head comparisons available.

What is nodepress?

What it is

NodePress is a TypeScript-based headless content management system API service for the surmon.me blog, built with NestJS. It provides a RESTful blog API service, while the frontend, administration, native application, and AI agent are separate related projects. The project lives in the NestJS and TypeScript ecosystem, and it is released under the MIT license.

The concrete problem it solves is separating the blog API layer from the presentation layer. It supplies a backend service for the surmon.me blog, and the README lists related Vue server-side rendered, React admin, React Native, and Cloudflare AI agent projects, indicating that the API layer is separated from those clients. It also gives a self-hosted blog operator an API service that can be developed, tested, built, and deployed through pnpm scripts and GitHub Actions workflows.

Key capabilities

  • It exposes a RESTful blog API service for the surmon.me blog.
  • It is built with NestJS and written in TypeScript.
  • It uses MongoDB as a required database dependency, and it uses Mongoose according to the topic list.
  • It requires Redis as a runtime dependency for complete operation.
  • It includes JWT token support, according to the jwt-token topic.
  • It includes webhook support, according to the nestjs-webhook topic.
  • It supports development, linting, testing, coverage, building, and production startup through pnpm scripts.

Who uses it and how

  • Blog operators can run NodePress as the API backend for the surmon.me blog and pair it with the related Vue server-side rendered frontend.
  • Site administrators can use the related React and Veact admin site as the management interface for blog content.
  • Mobile client developers can use the related React Native application with the blog API.
  • AI agent operators can use the related surmon.me.ai project, built on Cloudflare, within the blog ecosystem.
  • Teams can use GitHub Actions to build and test pull requests, create releases from version tags, and execute server deployment scripts after a release is created.

Getting started

The README shows pnpm install, pnpm run start:dev, pnpm run build, and pnpm run start:prod as the typical development and production commands. It also shows GitHub Actions workflows that build and test pull requests, create releases from tags, and deploy releases through a server deployment script.

When to use it โ€” and when not to

NodePress is suitable when a self-hosted blog needs a NestJS-based headless API service and the operator can run MongoDB and Redis. It is less suitable when someone wants a single integrated publishing product without separate frontend, admin, mobile, or AI client projects. The repository shows 17 open issues and a TODO about ES Modules support, so operators should review those items before adopting it.

project readme (upstream, from github) โ€” read inline

nodepress Logo

NodePress

nodepress   GitHub stars   GitHub issues   Uptime Robot ratio (30 days)   GitHub license

A RESTful API service for surmon.me blog, built with NestJS, required MongoDB and Redis.

้€‚็”จไบŽ surmon.me ็š„ RESTful API ๆœๅŠก็ซฏๅบ”็”จ๏ผ›ๅŸบไบŽ NestJS ๅผ€ๅ‘๏ผŒ้œ€ๅฎ‰่ฃ… MongoDB ๅ’Œ Redis ๆ–นๅฏๅฎŒๆ•ด่ฟ่กŒใ€‚

Related projects:


Development

$ pnpm install

# dev
$ pnpm run start:dev

# test
$ pnpm run lint
$ pnpm run test
$ pnpm run test:watch
$ pnpm run test:cov

# build
$ pnpm run build

# run
$ pnpm run start:prod

Actions

  • Any PR open โ†’ CI:Build test
  • New tag v* โ†’ CI:Create release
  • Release created โ†’ CI:Deploy โ†’ CI:Execute server deploy script

TODO

Changelog

Detailed changes for each release are documented in the release notes.

License

Licensed under the MIT License.

Frequently asked questions

Is nodepress free to use?

nodepress is open source under the MIT licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does nodepress do?

๐ŸŸข A production-grade headless CMS API service for surmon.me, built with @nestjs.

What is nodepress written in?

nodepress is primarily written in TypeScript. Its source is publicly available at https://github.com/surmon-china/nodepress, and it has 1,524 GitHub stars.