If you really care about flexibility, cost efficiency but struggle a bit with DevOps (my story
) then I would suggest you the following:
- Make yourself familiar with Docker and learn how to containerize your Strapi project
- Get a cheap VPS on Digital Ocean, Vulture, Hetzner etc. (Recommended is >= 1CPU 2GB RAM)
- Make sure you get the basics of server security right when setting up your VPS
- Don’t reinvent the wheel and make use of CapRover or Dokku to create your very own PaaS (in other words Heroku)
- Install your MySQL/PostgresSql/MongoDB
- Upload your containrized Strapi (best via Github/Gitlab for CI/CD)
- Connect your project with your database
- Run a cheap and flexible project
Optionally you could consider opting for a managed database from Digital Ocean, Heroku etc. to hand over the DB provision and security to an expert provider. For a small/mid-sized project I do not see the value in this though.
That is 1:1 my setup and it has been working great so far. Curious what others think about this approach.