On a $300/mo server from Hetzner it can run git, CI, image registry, Mattermost, email, wiki, Discourse, Mumble, and host a bunch of apps (dev, stage, prod) without breaking a sweat. I set up the filesystem so it stores all server state for all apps and stuff in a single directory tree (thanks to Docker you can mount whatever source directories you want into a container at any path).
A continuous rsync job in a loop makes sure that that directory tree is always synchronized onto another $20/mo VPS elsewhere. (Failures on that backup machine/script are reported realtime via webhooks back into Mattermost.)
It's a really robust system (for a single machine) and thanks to everything being containerized, can be easily replicated from the backup host back onto a new machine in under an hour or so in the event of crash/disaster.
For 90% of small businesses, even the $300/mo server is significant overprovisioning/overkill.
A continuous rsync job in a loop makes sure that that directory tree is always synchronized onto another $20/mo VPS elsewhere. (Failures on that backup machine/script are reported realtime via webhooks back into Mattermost.)
It's a really robust system (for a single machine) and thanks to everything being containerized, can be easily replicated from the backup host back onto a new machine in under an hour or so in the event of crash/disaster.
For 90% of small businesses, even the $300/mo server is significant overprovisioning/overkill.