Tech and Data Center
I want to be fully transparent in what this service entails. That includes the actual server specs and even the hosting provider (because believe it or not, I don't own a data center in Germany).
Server Specs
The shared server is from Hetzner. Here are the specs:
- CPU: AMD Ryzen 9 3900
- Cores: 12
- Threads: 24
- Base clock: 3.1 GHz
- RAM: 128 GB DDR4 ECC
- Drives: 2 x 1.92 TB NVMe SSDs in RAID1
- Connection: 1 Gbps
Why Hetzner? Because they're affordable and not sketchy. I have the backup server in their Finland location, the client area in the US on a cloud server, and the DNS server on another cloud instance in a different US location. Using separate servers and locations does cost more, but I don't want to host all my eggs in one rack-mounted basket.
Backups are stored on a Storage Box and encrypted with restic. I keep a daily backup and a weekly backup (taken Monday). Backups run around 3 AM ET. You can also keep your own backups and use plugins like Updraft. I don't restrict what that 20 GB can be used for (see terms).
Software
Right now (as of 2/15/23) the server has installed:
- Rocky Linux 8
- cPanel 108
- Apache 2.4
- NGINX 1.23
- MariaDB 10.6
- PHP 7.4/8.0/8.1/8.2
- WP-CLI 2.7
- Composer 2.5
- I'll add more software here soon (this isn't even live, remember?)
PHP 7.4 is the lowest version supported on the server. Keep in mind that 7.4 is no longer receiving security fixes. You should upgrade to PHP 8 as soon as possible. I'm just offering it for convenience.
I also make use of ConfigServer's excellent CSF firewall and their eXploit Scanner. Brute force protection is enabled on the server to help protect accounts. Connection limiting through CSF also helps with DoS attacks (but it's no Cloudflare replacement).
The DC
The server lives in Hetzner's data center in Falkenstein. This is a modern and secure facility that isn't made out of plywood. That was actually a big deciding factor in choosing a location: whether the facility is made entirely out of plywood.
Here's an excellent video on what it looks like: