I’m new to this stuff so go easy on me.
So I want to get into selfhosting, and I’ve decided to get a Raspberry Pi 5. I plan to attach drives to it, from about 500GB-1TB. I’m on a budget, preferably under $100.
I want to host these things:
- A personal lemmy instance
- A samba server, to store files and backups
- A mail server
- A few other light docker containers
I was wondering whether I should get an SSD or an HDD for these. Lemmy would probably like an SSD because it uses Postgres, but an HDD would be better for storage since I get more GB per dollar.
What should I go with?
friends dont let friends run mail servers. id recommend no on that one
Every time I think about hosting my own mail server, I think back to the many, many, many times I’ve had to troubleshoot corporate email systems over the years. From small ones that ran on duct tape and prayers to big ones that were robust, high dollar systems.
98% of the time, the reason the messages aren’t coming or going is something either really obscure or really stupid. Email itself isn’t that complicated and it’s a legacy communications medium at this point. But it’s had so much stuff piled on top of it for spam and fraud prevention, out of necessity, and that’s where the major headaches come from. Honestly, it’s one service that to me it’s worth paying someone else to deal with.
I’ve been running mailcow for almost 2 years with no issues. I’m not doing anything major with it, mainly using it to send myself alerts on the environment, but it does work for external purposes if I want it to as well. Updating is easy and seamless. I did get greylisted almost immediately though, so I use SMTP2Go and it works great as a free relay for the amount of mail I generate.
You’re weighing speed & energy usage vs cost. With a small array, HDDs power draw difference probably won’t amount to much and you may hit the RPi’s I/O bottleneck before fully benefiting from SSDs speeds, though latency would be better.
But TL;DR: If your goal is to learn and build something cheap, go HDD. If you hate it, you can upgrade over time.
For any computer today, server or no, I’d probably default to SSD today unless I expected to be making use of a large store of files that I expected to access in serial, like a large movie collection or maybe a backup server that can play well with rotational drives.
The only thing there that looks like it could be doing that is the Samba server, depending upon what the remote clients are doing with it (could be a movie server).
In general, if you can fit your stuff on an SSD today, I’d get an SSD.
You also can also add a rotational drive down the line if you run low on space and need inexpensive space for something that you’re going to access in serial, and use both; just move the bulk stuff to the rotational drive then.
I’m running a Raspberry Pi 4 with an array of hard disks. Essentially the entire OS is on a small SSD but because I have so much data I’ve got two traditional HDD drives with XFS and LUKS disk encryption.
I’d say overall it works fantastically, over 802.11ax and Samba I’m pushing about 600-700 Mbps while transferring to the HDD drives.
Take that $100, buy multiple drives, and make a RAID.