Hi! I am about to establish a stack where strapi is my backend. I am a web developer from back in the days (2000s), and now adopting the modern way of building webapps. I understand that I need to have strapi running on a service like Heroku, and not just uploading it to a traditional webserver. So far so good.
However, two more questions arise, and I hope some of you can give me some hints.
When strapi is running in production mode (say on Heroku), how can I typically access it? - A direct url to heroku, or do I need to redirect with dns on my own domain?
Do I need to make a totally separate admin UI for my customers, or can I just setup the installation that is running on Heroku so that the customer can login there and add new records, see dashboard etc? How do people do this?
Welcome to the Community @jahs
To try answer your question.
Strapi can be hosted really on any VPS system (Heroku, render, railway, google cloud, aws, digital ocean, or even your own VPS server) Depending on what you host it on you can do both. Redirect your own domain to a server or point your domain to a server. (When using heroku you can either use their URL or create your own which I think costs extra on heroku. Though hosting your own or using AWS, Google Cloud etc pointing your domain to the server doesn’t cost any extra)
So both can be used.
This boils down to usage of your application. But both again will work. The strapi admin panel is there to add data, just like if you ever used Wordpress the Wordpress UI was on the server for people to add data to it. The difference between a Headless CMS and let’s say a traditional CMS is that it’s detached, you don’t need to have the front end running on the same server as where strapi is. Wordpress runs on the same server both front and back (though you can detach it I think)
So again up to you how you want to do it, just note, in production mode you can only add new data to it not create new collection types (aka change the data structure etc) as an example.
In production you have maybe already added a blog, with a title, content and a author.
You can add as many blog posts as you want but in production you can’t add let’s say published date. You will then have to do this on your own local machine, change the schema then push it to heroku with git and then you can use the new values.
Thanks for your answer! Seems great! I think as for now, I will stick to the default interface with some simple customizations. Thanks again, and I’m looking forward to use strapi in production. In general, it would be easier if it didn’t need to run on a VPS, but I guess this is the backside of modern webapp development.