For the last few years I had been using DigitalOcean to host this website & a few others, file sync and my git repos. Fairly low traffic stuff on a single VPS instance. It was nice and cheap. But still… the recent 20% price increase got me thinking…
Can I build my own server?
Turns out I could! And it was a lot of fun.
I used a 10th generation Intel NUC with a 6-core i7 CPU, 32GB RAM and a 1TB NVMe SSD. Yes, overkill. But the key parameter is power usage. The whole system draws ~7W at idle. What a wonderful little machine!
For the OS I decided to install Ubuntu (22.04 LTS). I’m familiar with it and it was useful having the same OS on both systems. Then, some housekeeping on the old server:
- removed old disconnected websites
- put websites under separate user accounts
- moved from Gogs to Gitea
- organized my git repositories
- setup a more thorough backup procedure
When I had everything ready, I brought the NUC to the new Prague data center and turned it on. It went online and the migration could begin. I started moving websites and services one by one. A few days later, the old VPS instance was empty and I turned it off.
CPU | RAM | Storage | |
---|---|---|---|
DigitalOcean | 1x vCPU | 2GB | 50GB + $extra |
Intel NUC | 6x CPU / 12 threads | 32GB | 1000GB |
There’s plenty of headroom for no extra money and I feel like I’m more self-reliant.
To elaborate a little bit on the backup procedure:
- daily rsync (soon → rsnapshot)
- daily mysql dumps
- /etc and apt package list versioned in git
- secondary NUC ready for deployment
- backup VPS account ready for deployment (prepaid credit)
- up-to-date checklist for configuring the whole software stack