What is Contentful?

Contentful is a headless content management system (CMS). Headless CMS provides a way to create content that does not couple content to a specific output (ie. web page rendering, such as writing articles on WordPress and posting them to a website). It provides a solution that content creators can more effectively write articles and still allows developers to get content through APIs, which the content can then be delivered across channels.


Does Contentful work in China?

Response from the Contentful team
Response from the Contentful team

This can be interpreted as: The Contentful team has no “solution” in China for now. For more information, please refer to the original post.

In addition, Contentful does not have a CDN node in mainland China and isn’t formalized under China’s content control laws. This means that it is impossible to use Contentful formally and smoothly in China.

If you don’t have plans to switch CMS anytime soon, read this article instead: How to make Contentful work in China without switching CMS.


Strapi is the Best Alternative for Contentful

Strapi Official Website
Strapi Official Website


What is Strapi?

Strapi is an open-source headless content management system that was developed based on Javascript. It allows content creators to create content in a visual interface. It also allows developers to retrieve content through APIs to achieve cross-channel delivery.

21YunBox provides an alternative in China for Contentful. It’s a fully managed Strapi for your needs.


How to Create a Strapi CMS?

  1. Sign up on 21YunBox
  2. Create a PostgreSQL database
  3. Fork Strapi Starter
  4. Create a cloud service on 21YunBox and allow 21YunBox to access your codebase
  5. Use the following values during the creation
Runtime Node
Build command yarn && yarn build
Start command yarn start

For your choice of configuration, Strapi official documentation suggests Use at least 2GB For servers with memory and 1 core CPU, if you choose a machine with less memory for deployment, the deployment may fail.

Click Advanced Configuration to configure environment variables

Environment Variable Key Environment Variable Value
NODE_ENV development
DATABASE_URL Click Database URL in the cloud database console
JWT_SECRET Randomly generate 32-bit characters
ADMIN_JWT_SECRET Randomly generate 32-bit characters

For the configuration of other environment variables, please refer to Strapi official document

Randomly generate 32-bit characters method: Paste the following command on the command line:

echo $(base64 /dev/urandom | head -c32)

After the Strapi Server is successfully deployed, you can go to service name.21yunbox.com for access. When the deployment is successful, you will see the following effects.

Strapi Server Deployed Successfully
Strapi Server Deployed Successfully