๐ Today my mission was to deploy a Strapi CMS that would power the content for my portfolio website.
I wanted to create the fastest and most efficient development workflow possible. So I looked for a cloud solution that could load and deploy Docker images straight out of the box.
โ๏ธ That is when I discovered Render, a cloud platform that builds Docker images directly from a GitHub repository. This allows you to run the exact same versions locally and in production, in my case Strapi v5 and PostgreSQL 16.
๐ฌ After some back and forth with Grok from xAi, while sitting on the toilet, I figured out exactly how to use Render with a Render configuration file. This file defines your server structure in a clean and organised way. It is similar to a Docker file but created specifically for โฆ
๐ Today my mission was to deploy a Strapi CMS that would power the content for my portfolio website.
I wanted to create the fastest and most efficient development workflow possible. So I looked for a cloud solution that could load and deploy Docker images straight out of the box.
โ๏ธ That is when I discovered Render, a cloud platform that builds Docker images directly from a GitHub repository. This allows you to run the exact same versions locally and in production, in my case Strapi v5 and PostgreSQL 16.
๐ฌ After some back and forth with Grok from xAi, while sitting on the toilet, I figured out exactly how to use Render with a Render configuration file. This file defines your server structure in a clean and organised way. It is similar to a Docker file but created specifically for Render so you can build reusable blueprints directly from GitHub.
โ๏ธ Once I understood the workflow, I created a new project and asked my good friend Cursor to generate a full Strapi v5 project with a Docker image. Honestly, who still searches everything manually when Cursor with Opus 4.5 can create it in seconds. I loaded the files and did not touch Google once.
๐ณ After Cursor generated the project, I started debugging. I checked the logs and verified that the Docker container was running properly. With a bit of prompting and tweaking, I had a fully working Strapi v5 setup with a Docker file and a Render configuration file in under ten minutes.
๐ Pro tip: Import the documentation of your tech stack into Cursor to give it more context. Think Render docs, Strapi v5 docs, and anything else you use. Feed everything in.
๐ฆ After testing everything locally, I uploaded the blueprint to Render. When the deployment began, a few errors popped up. Normally you could copy the logs manually into Cursor, but today we have something much better. Render provides an MCP server that you can connect directly to Cursor. Cursor can fetch deployment logs automatically and understand exactly what went wrong.
๐คฏ It worked beautifully, and with only a few prompts my production Docker file was fixed. MCP servers are absolutely brilliant. Yes there are some risks, but I am not working with sensitive data right now so who cares.
๐งฑ With Render running my Strapi v5 CMS, the real work began. I created entries and linked them to my existing Next JS portfolio. I structured everything based on my current site. Projects, jobs, tech stacks, all the objects I use, plus the single pages like About and Home.
๐ Then came a new challenge. I needed to build an API integration for my portfolio. Did I really want to manually inspect all endpoints. Of course not. I would not be Tijmen if I did not look for an MCP server. And guess what. There is a Strapi v5 MCP server that you can install on your local Strapi instance and expose to other projects. It only works on localhost but it was exactly what I needed.
๐ง This allowed my portfolio to retrieve all data automatically. The MCP server knew all my entries and pages, giving Cursor full context for building my API integration.
๐ Conclusion: If you want to move fast today, use Cursor with MCP servers and choose a cloud platform that integrates with your development environment. You stay in full control as a developer while using modern tools to reach your goals as quickly as possible.
This is my first post but I will definitely write more in the coming months about this learning journey!