What Are The Server Specs Needed To Run Ghost?
REACHING OUT TO GHOST SUPPORT
Since I couldn't find a document regarding this online, I reached out to the wonderful Ghost support folks' and below is what they told me, (by way of the Support Goddess Sarah)
Ghost requires Node v4 LTS to run, once you've got that installed, you can install Ghost and everything that is required gets installed along with it.
If you look at the package.json file for Ghost, it will give you the breakdown of all the dependencies it requires, and what version they are on, however all of this is installed when Ghost is installed automatically - yay!
While Ghost itself only requires a 90MB footprint to run, Ghost engineers say that it may take a few hundred MB to run Ghost when you take into account all dependencies.
And the npm install used to install Ghost can use a lot more memory than that, but that is just during the install phase.
MY PERSONAL EXPERIENCE
I will write a more thorough article about how I did this to help others but here is a short summary:
- Created a 512MB Digital Ocean Ubuntu Droplet
- installed one Ghost blog - it ran fine
- installed a second Ghost blog - both blogs ran fine
- installed a THIRD Ghost blog - now it got interesting.....
Basically, once a day, at least one blog would randomly crash!! And after some debugging I realized it was due to lack of server memory.
Read this article about adding swap memory to learn how to fix that problem and how to safely run more blogs with just 512MB of server memory.
I now have FOUR ghost blogs running simultaneously on ONE Digital Ocean 512MB Droplet and everything is chugging along just fine - YAY!
CONCLUSION
I think a 100-page Ghost Blog instance just needs between 80-120MB of memory per instance under normal operation. It may need more memory during installs and upgrades but that is just temporary.
So to be safe you should plan for 250MB per Ghost install:
- one 512MB droplet can safely host two Ghost instances
- one 1GB droplet can safely host four Ghost instances
and so on...
Naturally, all this changes depending on how much traffic you have coming to your site but above figures should reflect low to normal traffic and server load.