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?
couple of old 2.5 HDD + usb to SATA converter. But Pi5 is hardly suitable to host anything. May just get old PC (which gives you HDD too). There are plenty for < $100 or even free. But you are going to pay more for power.
I have Nextcloud running on a Pi4 and it runs like a charm. It has a lot of RAM and processing power to spare, actually. The good thing about arm mini computers is the exceptionally low power draw. You can’t achieve that with some old x86 PC.
I second this.
I have a nextcloud instance on pi4 for personal use and love it.
It’s not good for live transcoding of video, but works great for calendars, file sharing, photo sharing and music streaming.
I have a 500 gig SSD for most stuff and a 6TB HDD for backups and archiving.
I use docker compose to map a folder called archive in my instance to the HDD.
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.
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.
While I run my own Lemmy instance, I can say with 100% certainty - do not host a Lemmy instance on your own hardware.
It’s tempting, and I did, but don’t. The reason? CSAM. Your hosting stuff for other people, and if someone uploads something horrible to another instance, that is federated with you. That means now you are hosting that content.
The feds then have full rights to kick down your door and seize your hardware. On the cloud however, they’ll seize your VM , but your home stuff is okay.
Hosting Lemmy is great - but it’s something you really have to think about. Hosting your content is awesome, fun, and rewarding. I’ve learned hosting other people’s content is… Not as fun.
Is this really still true about images federating in Lemmy? In any case, I think the problem can be avoided by disabling pict-rs.
Didn’t the Lemmy teams sort of fix that CSAM thing ages ago?
I remember a wave of lockdowns and hush hush related to that, soon followed by an update to Pictrs with a bunch of new docker compose settings.
My server got pooched in the update and it took me almost a month to fix partly because I had little free time.
There were some automod things built by 3rd larties, and they help, but it’s still a worry. There’s also image proxying now, so at least I’m not directly hosting it, but I’m not 100% that the feds will see it that way immediately
Ah, thanks for the info!
I use a combination of both. SSD’s to store read/write intensive data. In my case, I run multiple VM’s and store the primary VHD’s on SSD’s. HDD’s for stuff where space matters more than speed, like digital media and local backups.
For that size and given it’s a pi, maybe just a cheap usb stick
Highly recommend SSD if just for Lemmy. Man, the syncing can take a while. I have HDD with a m.2 cache and it can still take a while. Personally, I’d go for something a little more powerful, but it’s all fun and educational.
If you’re only looking for 1TB, go with an SSD. It’s about the same price. It’s only when you’re looking for >1TB that HDD starts to get substantially cheaper.
I would recommend both at some point in the future but for now, get an SSD and use that as the Pi boot drive. The default is an SD card and you will absolutely destroy it from the reads/writes fairly quickly which is a huge pain in the ass. Once you get some more disposable cash, get an HDD for mass storage. If you want a budget option, check out serverpartdeals.com or something like the WD Easystore/Elements external drives.
Take that $100, buy multiple drives, and make a RAID.
Raspberry pi is power limited. HDD creates a power spike on boot as well so you may have power issues. When i used a rpi for a media server, i had to use a 25W supply. Even 20W wasnt enough and i had voltage throttling issues. 1TB HDD probably wont draw that much power but SSD is never an issue. If you dont need space and are on a budget SSD is the way to go. This is all assuming USB is used for power.
If you need large amounts of space and have a budget, use an HDD but it needs to be self powered or used with a larger device like a mini pc which has adequate internal power.
My RPi4 refused to start with a 2x2.5" hard drive, so I did some workarounds. I connected the USB 3.0 +5V pin to the GPIO and powered the RPi using a PD trigger with MINI 560 (5A DC-DC converter). In my case, a random 18W QC brick was enough.
Neat hack!
I don’t think an SSD is the right choice here. SSDs have a limited lifespan that’s majority driven by the number of writes that happen to a certain block. Reads are cheap and near infinite though.
When you’re talking about a Lemmy instance, mail server, etc. my mind thinks this is likely to be many writes with several read-once ops. This is a better use case for a HDD.
A media server that oriented towards most consumption (reading) would be better for SSD.
You can get an older model Samsung Evo 1tb SSD new for under $100. Those have been good drives for me.
You can probably find something to shuck used if you don’t care too much for reliability.
Regardless, get a second disk even something attached to your main PC to handle backups.
RPi are nice, but imo are getting expensive and if you aren’t using the i/o pins just not worth it. If I were to just start out again I’d pickup a used laptop. Higher specs than a RPi and built in battery backup.
For running apps? SSD. For large amounts of data storage? HDD.