Recently I migrated my 4 Websites from shared hosting to Digital Ocean droplet. From past couple of months, I have been running 4 WordPress Websites (individual instances) and 1 .Net Core 3.0 instance along with email service on this droplet and it is working out fine.
Here is a list of need for hosting multiple Websites
- 4 individual instances of WordPress
- 1 instance of .Net Core 3.0 application
- 1 Webmin hosting panel
- Couple of thousands of sessions per day for static pages (WordPress caching plugin) across all sites
- Couple of thousands of API requests per day across all sites
- Approximately 100 emails (incoming + outgoing)
- Apache Web Server
- MySQL Database Server
- Webmin Web hosting panel
- Postfix, Dovecot for email
- RoundCube Webmail application
- Let’s Encrypt SSL
On Digital Ocean, we can always increase the droplet resource (CPU, memory) but cannot reduce the resource. So out of caution, I started with minimum droplet specification.
- 1 CPU
- 1 GB RAM (with 2 GB swap)
- 25 GB SSD
- Ubuntu 18.04 64 bit
Even though Digital Ocean recommends 32 bit version for Ubuntu 18.04 if RAM is less than 4 GB but I need 64 bit for .Net Core 3.0. I am under impression that certain program might only support 64 bit so being future proof, I chose 64 bit. This way, I can upgrade and migrate to powerful server if need arises.
Is 1 CPU enough?
From past couple of months 1 CPU is more than enough to handle everything that I need for hosting all my Websites. In WordPress, I use caching plugins to generate static pages. It dramatically lowers CPU usage.
Is 1 GB RAM enough?
Yes and No. 1GB physical RAM is good enough but you must enable and use swap in order to get the performance you need. At the time of installing Webmin, it asks for enabling swap and generally it creates a swap for 270 MB. I increased swap to 1 GB and one time MySQL gave out of memory error. I have increased swap to 2 GB. Without swap, 1 GB RAM is not good enough.
1 CPU, 1 GB RAM droplet is good enough for hosting couple of Websites. Cost is less than shared hosting and power you get is more than what you need. Along with Webmin you can handle day to day maintenance without having Linux administration experience.