Ask HN: Always on low power home server
I'd like to build a low power (ideally fanless) server for home automation, data logging, etc, (possibly) pihole, and kodi server, etc running Linux. I've used Rpi in the past, but the sd cards wear out/go bad and I inevitably have to rebuild. Is there a low power/cost way of having a SBC paired with an SSD, or an alternative solution that anyone could recommend?
138 comments
[ 4.4 ms ] story [ 132 ms ] threadEither eMMC or M.2 or SSD should be fine.
https://www.raspberrypi.org/documentation/hardware/raspberry...
> to increase available blocks for wear leveling
If you have the time, would you mind expanding on what this means? It sounds something like the pi would automatically fail over to new parts of the usb storage as old parts wear out due to too many reads/writes -- is that correct? Was the 1/4 capacity chosen for a specific reason?
I've looked at a few common flash drives and none of them support trim, so I'm not sure how the drive would know that the space isn't occupied
I think the best alternative, while staying in the SBC realm, is a RockPro64 by Pine64. These boards have PCI-e slots and very cheap SATA & NVMe attachments. That way you get full performance from your SSD, versus a USB connection. And the boards have a huge number of community supported OS builds available. They are simple to install in a few clicks, with the official Pine64 installer.
The RockPro64 is highly underrated in my opinion. Especially when you consider the flexibility, available attachments & accessories, and wide range of use cases and OS options. A brand new board with 4GB RAM, power supply, and SSD PCI-e interface will run you only around $100 before shipping. Check them out. I have had one for a couple years and I'm super happy with it!
Boards: https://pine64.com/product-category/rockpro64/?v=0446c16e2e6...
Accessories: https://pine64.com/product-category/rockpro64-accessories/?v...
- You can choose an high endurance MicroSD card to maximize its life.
- You can delegate big file storage to something external (a HDD or SSD w/USB 3.0 connection). If you want something small, SanDisk Extreme Pro USB stick is a real SSD with USB-SATA bridge inside and 400MB/sec throughput.
- Armbian writes logs and swap to RAM in a compressed manner and will only commit logs back to disk during restart/shutdown. You can modify Raspbian to do the same I think. Armbian is not present for Raspberry Pi, my bad, sorry.
I'm using Armbian on a OrangePi Zero to run dnsmasq, qbittorrent (humble bundle downloads and ISOs), syncthing and other couple of services. I've delegated storage to an external USB 256GB drive and it's doing fine for now.
It's not as powerful to run Kodi and other multimedia stuff, but it's a plug and forget matchstick box which makes my life way easier.
You can also use whatever cheap card just for bootup, then immediately change root to a `/` mounted from an SSD.
Since Armbian doesn't write to the SD card too much anyway, keeping the box compact is the more attractive option for me, for now.
High Endurance SD cards are not exactly expensive anyway. With the rise of dash cams and Go Pros, every major manufacturer has clearly labeled HE SD cards.
Rpi can power many SSDs without issues. If not, just grab a powered USB hub.
One thing: the errors you were getting with storage might have been because of an inadequate power supply. Make sure you're using the official Raspberry Pi PS for the 3b.
Will update my comment.
1. A little how-to for storing your logs in RAM, a la Armbian style:
- https://github.com/azlux/log2ram (It's still updated)
2. Move your SWAP to ZRAM, again Armbian style:
- https://github.com/foundObjects/zram-swap
This two will improve your SD card life considerably.
Take a look to your writing stats with smartctl and how worn is your SSD over time. If it's in good condition, I wouldn't worry.
What's the SSD you're using?
Transcode to a different video codec? No
But next time i will probably buy something from https://wiki.debian.org/CheapServerBoxHardware
I use it for pi hole and rclone backups.
It’s not exactly great as a home server if you want total freedom/control but it has a decent ARM SoC, a swappable 3.5“ drive bay and even though it’s got a fan I can’t hear it .
I only use it because it’s obviously running anyway and that was the least expensive way to add some things I wanted to my local network.
However it might be a bit limited in terms of computing power to run Kodi and all the other uses you want in parallel.
It has a fan but I have never heard it make any noise.
So depending on your needs it could be an easy "setup and forget" kind of box.
https://www.pcengines.ch/apu2.htm
The advantages of x86 aren't really realized because you only have serial port and run of the mill installers aren't all handling it well.
I'd only go for it for router purposes. no way you can run a re-encoder on it for media use.
I’ve also only run openbsd on apus so haven’t experienced the serial port installer issues. Didn’t know that would be an issue for modern linux. Good for others to be aware of if so.
More generally, you’re probably right that x86 doesn’t matter as much now as five years ago or so.
its inaudible (I am sensitive) below 800rpm.
with ram and ssd you are at around 250 bucks.
I have an old NUC5 but its fan is whiny.
The current one I have is an Ace PC with a Pentium Quad Core - it does have a fan, but it hardly ever comes on, and it has 2.5" sata drive support in addition to the 120GB eMMC flash on board. I've got a 1TB 860 Evo in there and it's a fine lightweight server for file storage, plex, nextcloud and InfluxDB which is monitoring the various routers and computers on the network.
I'm booting the Proxmox VM environment and it's currently running a VM and a LXC container, with lots of future opportunities.
Proxmox allows you to reserve a vm's access to the USB ports, which comes in handy if you want to attach a Zigbee stick to a virtualized home automation server.
It's mostly idle and very power efficient, which was very important to me cause power is 35c$/kWh. Chose the version with i5-4590T.
Works out great so far.
I also run Proxmox, with a few LXC containers and full KVM virtual machines, including a reverse proxy that routes traffic to them —- it’s great!
cheap, used nuc or dell / hp mini pc would be better. the power usage difference is negligible
i have few NUCs at home (5) + few rpi (3) and while it works, the support for ARM is still bad.
https://i.imgur.com/TQ0VnDJ.png
I personally don't think fanless cuts it. I have an APU2 as router but don't try to use it for anything that needs CPU.
I have a Asus Ryzen PN50 as a container host for home services like media, shares, backups.
It's relatively low power, it's worth its price but it has a fan. So I keep this on a shelf in a closet out of the way.
For some other Europeans: go to country with lax tax policy, fly to US, buy Mac Mini with M1 chip for $699.
You'd be set back by about 579 euro. In my country, the Mac Mini is 799 euro. So the difference is 220 euro. So if you wanted to visit the US, then it might be worth it.
The tricky part: figuring out how to do this legally. It's probably not possible where I live, but I'm sure some European countries are more relaxed with their import tax policies.
These things consume around less than 8W at idle, so obviously they are not as low power as the RPi. But if you need to handle a lot of beefy services on the same machine then the power-performance ratio of these machines may be more attractive.