Nick is a (nearly) headless CMS written in Node.js which provides a RESTful hypermedia API. The API is compatible with the REST API of the Plone CMS and can be used together with the web frontend Volto.
A live demo of Nick with the latest release is available at:
Example GET request on the portal root
curl -i https://demo.nickcms.org -H "Accept: application/json"
$ CREATE DATABASE "nick";
$ CREATE USER "nick" WITH ENCRYPTED PASSWORD 'nick';
$ GRANT ALL PRIVILEGES ON DATABASE "nick" TO "nick";
$ ALTER DATABASE "nick" OWNER TO "nick";
$ pnpm install
$ pnpm bootstrap
$ pnpm start
$ pnpm test
If you want to create your own project and use Nick as a dependency you can use the Yeoman generator package for that. This way you are able to customize your project without making changes to the core of Nick.
First, install Yeoman and @robgietema/generator-nick using npm (we assume you have pre-installed node.js).
$ npm install -g yo
$ npm install -g @robgietema/generator-nick
$ npm install -g corepack@latest
$ corepack enable pnpm
$ yo @robgietema/nick my-nick-project
This will bootstrap a new Nick project inside the current folder.
Connect to the PostgreSQL console and create a database and a user with the correct permission using the following commands:
$ CREATE DATABASE "my-nick-project";
$ CREATE USER "my-nick-project" WITH ENCRYPTED PASSWORD 'my-nick-project';
$ GRANT ALL PRIVILEGES ON DATABASE "my-nick-project" TO "my-nick-project";
$ ALTER DATABASE "my-nick-project" OWNER TO "my-nick-project";
Then bootstrap Nick with:
$ cd my-nick-project
$ pnpm bootstrap
$ pnpm start
Install Docker Desktop.
Navigate to the root of the repository, and run the following command to run the Docker container for backend.
docker compose up --buildThis will expose port 8080.
You can make requests to http://localhost:8080/ to fetch content.
To shut down the containers, run the following command.
docker compose down- Issue tracker: https://github.com/robgietema/nick/issues
- Source Code: https://github.com/robgietema/nick
- Documentation https://docs.nickcms.org
If you are having issues, please let us know via the issue tracker.
MIT License. Copyrights hold Rob Gietema. See LICENSE.md for details.