RAM requirements for backend with 0 users


Im using a custom front end built with Hugo and custom go templates, and are using Ghost purely to create posts, because i totally LOVE the editor(seriosly… theres nothing that beats it…)

When creating a post i use webhooks to make the go server fetch the posts using content API, and create a markdown file for every post, and store any other data in a json file locally on the server for search, dynamic functions etc.

When a new post is created it does the following:
Tell the go server to fetch the posts → Go server creates md files for new posts and re-generate md files for posts with changes. → The json file/s is updates with the new data → Assets like imgs are fetched and stored in the public /assets folder. → Static html files is generated and the public folder is updated with the new content/files.

So the front end are never making any requests to the ghost server, and the load of the ghost server is only when the go server calls the content API.

Right now im working on adding new features/pages to the site, and want to limit the amount of RAM for the ghost server. Im also thinking on moving the ghost server to a separate small vps to give the main server 100% of the resources.

If i was to move ghost to a new vps, would it work to use vps with 0.5GB? Or 1GB? And if keeping it on the main server, how much would i have to allocate to ghost server?

The perfect scenario would be if it was possible to run with 256MB RAM, as the provider im using both for myself and customers has a “extra small” vps that has 1c, 256MB.

From what i have seen, its not possible to “disable” ghosts own front end, is this correct? Im then meaning in a way that dosent involve making changes to ghost itself which would have to be re-done for every update.
But if its never accessed, it wouldent add to ram usage right? Or does ghost do something in the background with the front end like generating stuff that would increase ram req?

Sorry for a long post but i felt like i had to explain the setup for anybody to be able to answer my question…

1 Like

I am running quite a few Ghost websites and in an idle state, they usually require between 170-230mb RAM.

That is, however, without factoring in a necessary MySQL database, the proxy to the internet etc. – it’s really just the Ghost process itself.

Now, can you get away with 512mb or even 256? Go and try it. Ghost recommends 1GB of RAM.

I have seen people reporting problems with smaller VPS in this forum, usually in connection to the installation or update process.

Another thought, since you’re already using a highly customised setup: Ghost’s editor, Koenig, is fully open source. You could also integrate that somewhere on its own, rather than running a full Ghost installation (with frontend and all the bling bling you don’t need, if you just want the editor): GitHub - TryGhost/Koenig: Components of Ghost's Editor

Yeah 256MB seems a bit far-fetched then…

But 512MB seems feasible, im using sqlite instead of mysql, so that would at least lower the ram req a bit from what ghost recommends. And im guessing the recommendation is for more than just writing/editing posts and responding to api calls.

Regarding Koenig being OS… Oh man… When i started working on the blog/article addition to the site, i had read that Koenig was “the only non OS part of ghost”…

But now it would be too much work as everything is built to work with the content api. But i guess it has also saved a lot of time.

Ive even figured out a way to add meta tags, schema.org markup, set the url, add hugo partials etc form inside the editor in ghost, and it gets parsed when the content is fetched…

1 Like