Strapi: A powerful selfhosted CMS

⚠️ This article is currently being worked on ⚠️
some content may feel a bit out of place as they are current notes on the project. While the project has been finished, it is not documented completely yet.
📂 Source Code
Keep in mind that with nixpacks you need to set:
- Start command:
- Start command:
```javascript
node ./dist/server/entry.mjs
- Ports exposes:
4321
🌐 What is Strapi, and why integrate it?
Strapi is an open-source and self-hostable CMS (Content Management System). In short, it gives us a central place to manage all our articles, blog posts, and pages.
👉 Instead of creating a pull request, merging, and deploying just to fix a typo or update a link, we can simply log into Strapi and make the change instantly.
✨ Why bother?
One big advantage is accessibility:
- 👨💻 Developers are usually fine editing content in Git + IDE.
- 🙅 Non-technical contributors? Not so much.
With Strapi, they get a clean and user-friendly interface to update posts and page, keeping content fresh.
🙋 My reasons
For me, the motivation was twofold:
- Helping our student organization BETA easily update and contribute to resources.
- Pure laziness 😅 I don’t want to fire up Git on the go just to write a quick blog post on my phone. With Strapi, I don’t have to.
The twist
So I thought to myself:
“This will be easy and very straightforward, right? Right?!”
Boy was I wrong…
To save you from the same headaches, here’s my journey of trying to make Strapi work on my VPS! 🚀
Outdated Docker Images
I first tried to use the service already available in Coolify, but this seemed to use a docker image that have not been updated in 4 years. I thought this wouldn't pose a problem, but as a matter of fact it did. None of the functions worked properly in production mode and I therefore knew that I had to build it myself with Docker and npm...
Deployment
Deployment did not go as smoothly as hoped since we now are running astro in server mode for constant strapi updates. https://crockettford.dev/blog/astro-ssr-with-coolify