Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Always on low power home server
98 points by tails4e on Feb 28, 2021 | hide | past | favorite | 137 comments
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?


I'd stick with a RasPi. There's a process to set a boot flag to allow booting from USB media. From there you can install Raspbian (or your other distro of choice) to any USB connected storage device. I've been using the same USB drive partitioned and formatted to 1/4th its capacity (to increase available blocks for wear leveling) for 5 straight years without any issues.

https://www.raspberrypi.org/documentation/hardware/raspberry...


Folks, the OP was asking for alternatives to Raspberry Pi, but everyone keeps saying just use Raspberry Pi with a USB hard drive or get some obscure second hand hardware.

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...


Ultimately, OP was looking for a low power server without relying on a MicroSD. So no, it's not strictly an alternative to a Raspberry Pi because once you boot from USB, MicroSD durability is no longer the issue.


I really don’t mean this in a mean way, but I’d be surprised if the OP didn’t realize he could just jam a hard drive into the Pi with USB.


To be totally fair, this wasn't really a thing until recently


Very cool, would like to set up something similar myself!

> 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?


The USB storage firmware itself will do this. ¼ was chosen to give a lot of space for this wear levelling to occur; wear levelling can't use occupied space, so it'd need to move data around a lot if the drive was close to full, which would increase wear.


Wouldn't this also work with a large enough MicroSD?


As I understand it, the firmware for the majority of MicroSD cards is very limited. The physical size and low price point are likely the reason you don't see these more complex features in consumer cards. Also, if I recall, there's nothing in the spec about levelling so you'd probably get some half-arsed buggy implementation anyway.


Thank you for the clarification!


MicroSD cards tend to have much worse durability and IOPS than common USB sticks, and especially, say, an M.2 SSD to USB adapter.


what sort of usb storage?

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


Normal SATA SSD + usb2Sata adapter?


I think there is an awesome setup that many are overlooking! With a RockPro64 board, you can configure it to use SSD's, both SATA & NVMe!

RockPro64 boards: https://pine64.com/product-category/rockpro64/?v=0446c16e2e6... Accessories: https://pine64.com/product-category/rockpro64-accessories/?v...

I think these RockPro64 boards are highly underrated. I got one a while back, I was looking for something more powerful than a Raspberry pi. You can get it with 2 or 4 GB RAM.

They have PCI-e slots, so the SSD interface cards plug into the board through them. With this setup you will get full performance from your drive, instead of having to rely on a USB connection on raspberry pi & others.

SATA: https://pine64.com/product/rockpro64-pci-e-to-dual-sata-ii-i... NVMe: https://pine64.com/product/rockpro64-pci-e-x4-to-m-2-ngff-nv...

I've not set mine up like this yet, as I've not been doing much with my board lately except running pi-hole. But I plan on getting an NVMe interface in the future, and maybe the metal desktop casing. I think this type of setup is exactly what you're looking for. The cost is reasonable. If you get a 4GB board, a power supply, and an SATA interface you'd be all in for ~$103 before shipping.

There are lots of accessories, and tons of OS options with an easy installer. I just checked, as of writing this the are builds for (both desktop & minimal) Debian, Ubuntu, Slackware, CentOS, Manjaro, Armbian debian/ubuntu, DietPi. Also other stuff like Recalbox, batocera, OpenMediaVault, ChromiumOS, or Android. I not an expert in the entire SBC market, but I'm doubt many other boards have community support for that many different OSs.


Never knew about this. Thanks for sharing!


The RK3399 series boards are seriously overlooked. Generally speaking you get excellent hardware support (including display graphics) with either the "vendor supported" 4.4 series kernels with Mali blobs OR 5.x mainline whatever and recent Mesa. The 5.x/Mesa stuff is about as open as you're going to get with ARM SBCs and supports hardware acceleration up to 4K. So does the 4.4 stuff with Mali blobs but that also supports hardware encoding/decoding of various video codecs. It's the most "usable" desktop I've seen yet from an ARM SBC. Anyway, because this is about a home NAS...

I currently have an even cheaper RK3399-based Radxa RockPI 4B booting Armbian (Debian Buster) from a 250GB Samsung 970 EVO:

  kris@kkrock:~$ uname -a
  Linux kkrock 4.4.213-rockchip64 #19 SMP Sun Feb 14 22:42:42 CET 2021 aarch64 GNU/Linux
  kris@kkrock:~$ lsblk
  NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  zram0       252:0    0   1.9G  0 disk [SWAP]
  zram1       252:1    0    50M  0 disk /var/log
  nvme0n1     259:0    0 232.9G  0 disk 
  └─nvme0n1p1 259:1    0 232.9G  0 part /

  kris@kkrock:~$ time dd if=/dev/zero of=testfile bs=1G count=10 oflag=direct
  10+0 records in
  10+0 records out
  10737418240 bytes (11 GB, 10 GiB) copied, 13.6438 s, 787 MB/s

  real    0m13.794s
  user    0m0.000s
  sys     0m6.880s
I suspect 5.x is probably a bit faster for I/O (maybe not) but I don't care about the Mali blobs and I like hardware video encode/decode when I need it.

There are guides for your chosen board, distro, etc floating around to update the SPI flash with the correct Uboot to support booting from eMMC, NVMe, USB, whatever. Oh yeah, the Radxa RockPi4 boards also support use of Odroid-style eMMC modules, which are really fast, readily available, and plenty durable. If using PCIe for anything make sure to apply the correct boot overlay to enable PCIe 2.0 support.

Depending on what you want to do between SD, eMMC, NVMe, PCIe/SSD, and USB3 there are plenty of options for storage.

The boards are available from Amazon and elsewhere but for the best pricing and accessory options use "Allnet.China". It took them a few weeks to get me my aluminum case and NVMe expander but it was well worth it:

https://shop.allnetchina.cn/collections/frontpage

They also have SATA hats, PoE hats, all kinds of other stuff to expand this little-known series of boards for various NAS options. Pretty much no matter what you do all in with case, power supply, storage options, etc you can't exceed $150 for valid configurations (excluding storage). My setup was around $100.

For thermal management I use their "Eco Pi Pro" aluminum housing with Noctua NT-H1 thermal paste. After an extended period running "stress" to peg all CPU cores this is what armbianmonitor shows (fanless):

  Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   CPU  C.St.
  15:37:24: 1800/1416MHz  6.25 100%   0%  99%   0%   0%   0% 57.8°C  0/5
Under 60 deg C fanless during an extended stress test? Not bad, not bad at all.

EDIT: Gave up on HN formatting. You get the point.


I left the RasPi behind for a 2nd hand Lenovo m93p tiny for about $100. (An alternative HW would be the Dell Optiplex 9020 micro). You can upgrade the RAM on these and they use standard SSDs.

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.


You can add the Fujitsu Esprimo Q910/Q920 to the list of alternatives. There are many cheap options on eBay.

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!


I second that. I'm running the same machine, but without virtualization.

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.


In the same form factor, there is also the HP EliteDesk 800 micro.


If Open Hardware is something you care about, you can have a look to the different SBCs from Olimex, a Bulgarian company (https://www.olimex.com/). They care about having the SoC they use being mainline supported in the Linux kernel.

For example here : https://www.olimex.com/Products/OLinuXino/Home-Server/open-s...

I have been thinking of buying one with their LiPo battery pack to have nice shutdowns in case of power failure.


I recently bought one to experiment with. It was trivial to setup and install. My only surprise was that it didn't have pihole bundled. Here's what I've got:

    $ cat /etc/debian_version 
    10.8
    
    $ uname -a
    Linux freedombox 4.19.0-14-armmp-lpae #1 SMP Debian 4.19.171-2 (2021-01-30) armv7l GNU/Linux
    
    $ lsblk
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    mmcblk0     179:0    0 29.7G  0 disk 
    |-mmcblk0p1 179:1    0  128M  0 part /boot
    `-mmcblk0p2 179:2    0 29.6G  0 part /
    
    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            480M     0  480M   0% /dev
    tmpfs           100M   11M   90M  11% /run
    /dev/mmcblk0p2   30G  3.0G   27G  11% /
    tmpfs           500M     0  500M   0% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           500M     0  500M   0% /sys/fs/cgroup
    /dev/mmcblk0p2   30G  3.0G   27G  11% /.snapshots
    /dev/mmcblk0p1  124M   58M   60M  50% /boot
    tmpfs           100M     0  100M   0% /run/user/10000
Now trying to work out the "right" way to develop for it which is fun since I've never done any development for ARM linux before. I'd rather do the heavy lifting on my macbook so looks like I get to learn all about qemu-debootstrap, ArmHardFloatChroot, etc.


I'd again recommend a Raspberry Pi (ideally 4 with 4GB+ RAM), but with some modifications.

- 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.


To put the money where my mouth is:

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.


Are these useful for a normal laptop's SSD?


Yes, but if it's a relatively modern SSD; this might be overkill.

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?


> You can choose an high endurance MicroSD card to maximize its life.

You can also use whatever cheap card just for bootup, then immediately change root to a `/` mounted from an SSD.


That's another choice, of course. I'm in my lazy era. I don't tune/fix anything up unless it's broken :)

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.


This sounds interesting. Any guides for how to use as for boot only and how to attach an SSD to a pi? What powers the ssd etc? The last pi I tried was a 3b


Booting from USB with the 3b should be pretty easy, and you probably won't need any sort of USB hub. A name brand portable SSD with a USB interface (not an adapter on a SATA drive or something) should serve you well here.

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.


https://duckduckgo.com/?q=raspberrypi+boot+root+ssd

Rpi can power many SSDs without issues. If not, just grab a powered USB hub.


I'm guessing that kind of setup won't be powerful enough for something like hosting a Plex Server to stream x265-content to a chromecast, right?


Stream? Yes

Transcode to a different video codec? No


There is Armbian for the RaspberryPi now? Last time I checked RasPi was explicitly excluded because of non free Broadcom binary blob.


Oh, my mind is playing games to me. You're right. I misremember it. Sorry.

Will update my comment.


Intel NUCs or similar clones Lenovo ThinkCenter Tiny or HP ProDesk Mini are good candidates. They are not worth their retail price but are often sold very cheaply on second-hand markets like eBay. I have one. Very quiet things and can handle a dense amount of workloads. Memory, storage and mini PCI devices are all upgradeable.

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.


What's your budget?

My home server is mainly a file server and automated backup server. I also use it to host dedicated servers for some games my friends and I play (minecraft, KSP dark multiplayer, halo ce, etc.). It does PiHole and steam/origin/blizzard/uplay download caching (steam game install from a bonded dual-10G server is fun) as well.

I picked up a SuperMicro mini-ITX 8 core Xeon-D based server board on eBay for ~$400. The idle power is <10W and it runs off 12V DC and has dual 10G ethernet, 6 SATA ports, IPMI, A x16 PCIe slot, and an x4 M.2 slot.

With 6x 10 TB WD Red drives and 2 NVMe disks it pulls about 25W at idle (mostly the drives). If I wanted to run the Kodi or Plex on demand video transcoding I'd probably throw a used quadro in there (or, hack around the transcode limit on a GeForce card).


10W at idle sounds unbelievable, my AMD A1 server with 2x2.5 HDDs takes 30W at idle (okay, a bag of mostly idle services running).

Is this some special server power saving feature? Are you measuring at 12V of before the power supply? What kind of power supply do you use?

Is it noisy?


10W is just the motherboard. The whole thing pulls 25-30W at idle with 6 HDDs (10 TB WD Red).

The measurement was with a kill-a-watt at the wall. The motherboard has a SuperMicro "proprietary" 12V connector (that they give you the pinout for and the connector housing) that can be used instead of the 24 pin ATX connector (populate one or the other). It has some regulators onboard to supply 5V for the hard drive logic. I'm using a 120W 12V laptop brick.

Xeon-D is really neat as it has 10G NICs and SAS on-die with the CPU and run at really low power since there's no chipset (except the ASPEED IPMI). I'm waiting for some nice EPYC embedded boards (they also have on-die 10G) before upgrading. Except the eval board, I've only seen them with quad 1G interfaces.

https://www.supermicro.com/en/products/motherboard/X10SDV-8C...

It's fanless, but if your airflow is bad it'll overheat under load, I just zip tied a 60mm Noctua fan to it (NF-A6x25). I have it in a Fractal Node 304 case. It's nice and compact and fits on a shelf in the closet.


This is a great list of suggestions. Also, Halo CE is one of the greatest multiplayer games of all time. My friends and I still play Halo CE (NHE) on LAN all the time.


What’s your OS? Are running plane Linux or some NAS variant?


I'm a masochist and run Gentoo on it. I work with Gentoo all the time at work so I just run it on everything to keep me on top of my game...

That being said, I might switch it to FreeNAS in the future. FreeBSD 13-BETA1 uses the same ZFS codebase as ZFS on Linux (OpenZFS) so maybe I can do incremental (snapshot) backups of Linux ZFS boxes to it even though it's BSD.

Doing Gentoo updates regularly is exhausting when you run it on 6 machines (personal laptop and desktop, work laptop and desktop, personal fileserver, personal guest PC). My personal machines (except the file server) all use the same CPU architecture (znver1) so I just run the same image on all of those.


If you're considering FreeNAS you may want to wait till the TrueNAS SCALE comes out.

TrueNAS is the new branding of FreeNAS, with FreeNAS remaining on FreeBSD and TrueNAS SCALE being based on Linux with ZFS. TrueNAS SCALE is in alpha at the moment so I haven't tried it..


Incremental snapshots work fine for me even from the base ZFS (i.e. not OpenZFS) in FreeBSD 12 to a Linux box with OpenZFS.

Also, if you're comfortable with the command line, I fail to see any reason you would prefer FreeNAS over straight up FreeBSD.


My favorite platform is PC Engines APU 2. Consider something like the apu2e4 with its aluminum case and a msata card. I turn them into routers, media servers, Bitcoin nodes, etc. More expensive than Pies but I’ve had great success with them.

https://www.pcengines.ch/apu2.htm


I deployed one, it is good hardware, but the performance is pretty low, behind an rpi3.

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.


Think that’s a legit take. Agree 100% about reencoding — I’ve only used it for minidlna and mpd.

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.


They're not low cost new, but there's a decent number of used Intel NUCs available on eBay and similar sites. They're standard PCs with low power components, so you can stick SSDs and other things into them easily. Since it's Intel platform it's also easier to power manage them with standard tools. Powertop can flip the graphics output, audio, etc. off independently and scale frequency.


I used a Raspberry Pi for this for a long time and did fry a couple of SD cards along the way. A few years ago, the last time the SD card died, I decided that instead of buying a USB SSD for it I’d get a used Lenovo Thinkcentre “Tiny”, which has been great.

They are readily available from corporate IT liquidators on eBay. Mine was $100 and came with a Core i5, 250GB SSD, 8GB of memory. I’ve read about people swapping Xeons into them as well. It uses more power than a Pi but is still basically silent. Overall I’ve found it to be perfect for the things you’re talking about.


Some anecdotal experience about Raspberry Pi and SD cards. Mine has been running for 4 years with a 32GB SD card and 0 SD cards have died so far.

It is controlling some relays and running a nextcloud. Initially I checked the iotop and noticed there were regular writes to SD card when idling. Configured the ext4 to stop that.


Try a Nuc 11 with an Akasa turing.. https://www.anandtech.com/show/16191/akasa-turing-fanless-ca... slap in 64GB ram and a 1TB SSD Run proxmox .. boom silent homelab that sits in the living room behind the TV ..


Lots of old laptops out there for cheap if not free. Many of them are quiet and low power with the added bonus of having a built in UPS.


The battery will die within months and you risk a house fire. Other than that yes, laptops hardware makes a good small server. See my comment https://news.ycombinator.com/item?id=26298116


Every laptop I've owned with a removable battery worked on wall power without the battery.


Did you even read the message?


I'm using the cheapest Synology NAS (DS119j) paired with an SSD. It runs between 10-5 watts.

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.


For the price of RPi (or less!) you can buy a second-hand thin client which will have much more robust storage options and easy expandability.

Some recommendations: HP T520/T620, Fujitsu Futro S520/S720, Wyse Dx0Q

https://www.parkytowers.me.uk/thin/hp/t520/ https://www.parkytowers.me.uk/thin/Futro/s520/ https://www.parkytowers.me.uk/thin/wyse/d/dx0q/


I rushed to comments just to make sure parky towers was there. That is a great website.

Also on the same spirit, the motherboard+cpu for processors like J4105 or J1900 often are found for less than a raspberry. Even better if used.

Lastly, worst case of maximum cost-benefit, you can try powering on a notebook replacement motherboard (which usually comes with RAM and CPU soldered). Here is a video using an old Thinkpad replacement board: https://www.youtube.com/watch?v=t2vrRZqDy74


You can use a USB enclosure + drive with a Raspberri Pi, e.g. [1] [2]

If you plan on something more CPU intensive (e.g. running VMs), another option that looks interesting is the System76 Meerkat [3]

1. https://www.amazon.com/SSK-Aluminum-Enclosure-External-Based...

2. https://www.amazon.com/Blue-NAND-1TB-SSD-WDS100T2B0B/dp/B073...

3. https://system76.com/desktops/meerkat


I use a DFI EC700-BT! It's been so awesome I've wanted to plug them forever but haven't found a chance! So thanks for this thread!

Fanless, ECC ram, space for a drive inside but I have it attached to a usb disk tower. I got it a handful of years ago so I'm sure it's aged, but I regularly stream video from it over an SSH tunnel. It has two ethernet ports too!

And the coolest part: I was having an issue with booting due to my buggy usb disk array, and it was a pain to move it over to my desk to attach a screen to troubleshoot. I contacted DFI support and asked if they could enable console port boot, and they built and sent me a new bios image to flash with the console port boot feature!


I run a Ubiquiti UDM Pro as the router for my home network and slapping a few additional containers (it uses podman) on top like pi hole is doable e.g. using https://github.com/boostchicken/udm-utilities

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.


Oh nice! It works on the non-pro dream-machine as well.


Try Rpi once again with external ssd[1], preferably with external power source like psu[2]. Rpi has huge community which will help you if you ever need solution for bespoke config

[1]https://www.jeffgeerling.com/blog/2020/im-booting-my-raspber... [2]https://superuser.com/questions/1239449/using-a-separate-pow...


I don't really understand why Plug Computers [1] didn't catch on a lot. A decade and a half later and hardly made a dent. Super things, very simple to use, just plug it in and leave it running. A decade and a half however is a long time and they've not come far other than getting bigger and less able to compete on features with new offerings. Perhaps the horse has left the stable on these.

[1] https://en.wikipedia.org/wiki/Plug_computer


I thought a few plug computers over the last decade... honestly I always had fire hazard at the back of my mind...and the one time I opened one up that was getting hot only to be horrified by the setup inside and stopped using it! Of course this doesn't speak for all plug computers, just why I've avoided them since


Right. I think this is a huge missed gap that may or more likely may not be filled in the future. A phone USB charger isn't in risk of being a fire hazard, nor an eSATA, nor some RAM, nor a wireless card. Passive cooling is plenty as long as not stuck in a cupboard, and being plugged into a wall brings the benefits of heat transfer to the wall.

I agree that most implementations have got me cautious as well. But it shouldn't be so. I feel the concept has been eclipsed on several fronts and it'll take quite an effort to become mainstream.


I used a ShivaPlug and part of it melted. I was glad when I had planned for that by putting it on a low risk surface - it came with a cord option, and I was using that partly because I also don't like the strain it was likely to induce on the outlet.


I ran a dockstar with the same kirkwood soc that was in the plugs.

Ran well, even gbit. Had mpd, dhcp, dns, nat running on it.

The plug variants were overheating left and right though.


How about an x86-64 that runs just whatever your favorite flavor of linux is?

In particular the Hardkernel ODROID-H2+. It's got 2x2.5G ethernet ports (and optionally 4 more), M2/nvme, 2 SATA, and 2 dimms (max 32GB ram).

It's not particular power hungry (max TDP of the J4115 is 10 watts), if your needs change the extra ram could be quite handy.

Should be fine for router duty, firewall, network service, plex/kodi, even light NAS duty. It's got way more CPU than the RPI and clones, avoids ugly things like network or storage over USB, yet generates minimal heat/noise.


You can use a older possibly partially broken laptop with low TDP CPU. Put the guts in a larger PC case or something similar. You can calculate what kinda heat sink you need that works without fan or pick a fan-less device. You still need a bit air flow so the case must be open enough or has fans depending on the CPU and size. The last time I did this was several years ago and It was running 24/7 for about 2 years without any problem. A Laptop alone likely would dies someday because the fan dies. On idle the my whole system inclusive power supply was burning less than 10 watts.

But there are far far more efficient CUPs noways. You basically have the last 10 years of mobile CPUs to find something that does exactly what you need. Some older CPUs you can get almost for free. If you need something newer (with 4k video HW rendering an stuff) you may get a good dead with broken stuff. especially display and keyboard can be broken since you wont need them. make sure it has the IO you need especially RJ45 are sometimes missing on the very slim new devices Be aware that some devices can not be turned on without keyboard attacked! Either because the bios doesn't like it or more likely because the power on button is on the keyboard so an USB keyboard wont work! Also auto boot after power-lose may not be possible because some bios just do not have that option. So make sure you know exactly what you need first.

DO NOT (AB)USE THE LAPTOP BATTERY AS UPS. The battery will die within months if its always connected and all you get is a potential for a house fire.


Intel NUCs are pretty good if you want something a bit more powerful than a Pi. Very small form factor and low power usage. Low-end ones start at about $180[1]. There are also kits for a bit less if you want to supply the SSD and RAM.

[1] https://www.intel.com/content/www/us/en/products/boards-kits...


I’ve been running a pair of BeagelBone Black SBCs for this for years. The one I just retired to replace with the current model had been running nearly continuously since 2014. (Powered down to move — twice — and for power outages here and there.) It's anecdotal, but my experience so far is that the onboard eMMC seems faster and is less corruption-prone than SD cards.


Similar story here for longevity of the BeagleBone Black. It’s as good, or better, than the matching RPi.


My BBB has been going 24/7 as my Pihole for almost 1 year now. The only thing I have to manage is the Pihole logs because of the 2GB eMMC of my older version.


I use a Raspberry Pi as a low-power website server and as a UPS controller. It has a heavy-duty heat-sink without a fan and runs consistently at around 39 degrees. Its power source is the UPS that it controls.

But I specifically used a slightly-slower high-endurance micro-USB card to prevent overuse wearing-out of the card. [I also use these same cards in my dash-cam.]

The cards I use are made by Sandisk, but no doubt other companies make them too. The ones I have are white, probably to distinguish them from 'normal' cards.

While I haven't had any problems at all in using these cards, their slightly slower speed makes them look like a 'fail' using the raspberry pi testing app.


A couple of options:

NanoPC-T4[0] is based on RK3399, with a big.LITTLE CPU (Dual-Core Cortex-A72, Quad-Core Cortex-A53) with 4GB RAM, supports NVMe and a fanless configuration.

ODROID-HC4[1] is based on Amlogic S905X3, with a Quad-Core A55 and 4GB RAM (no WiFi, only 1G Ethernet) and two SATA ports, which make it well suited for entry-level NAS.

[0] http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4

[1] https://wiki.odroid.com/odroid-hc4/odroid-hc4


I've used a few cheap Chinese "mini PC" as found on Amazon. The model with an Atom quad core is fine for light uses (and with the built in dGPU can hardware encode with Plex, albeit not h265 10bit).

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.


Late posting but I'll leave this here anyway. Mainly so I can point others as needed.

Raspi is actually the answer. Use better sd cards. Or consider making the root fs readonly and put the other changing data on usb external storage. Even an external harddisk.

Give it the ability to turn other machines on/off as needed. I have a pi that is always on and orchestrates all sorts of little tasks. Some of them require plenty of writes. I havent burnt through a SD card yet.

NFS/samba fs mounts to allow the pi to upload to a server. Etc.

You'd be surprised how much just one pi can do. I certainly was.


Just replaced my rpi with a 10th gen nuc. It’s not fanless. It’s pretty quiet and power use wise it’s sipping under 10W when idle (which is obviously most of the time). I run proxmox on it and a couple of VMs with home assistant etc.

I looked at SBCs but getting something that had a well built case and reliable passive power supply, gigabit/WiFi/Bluetooth/nvme and also manages a high peak workload (recompiling kernels etc) without breaking a sweat at ~$3-400 is hard to beat.


I'm running a synology 6 bay nas which in addition to hoarding data and time machine backups, its running pihole in a docker container, plex server for the kid's movies, and a linux vm for little python scripts and a mqtt server. I haven't run home assistant on it yet, but I think it should be able to handle it. Plenty of folks warned me that it lacked the computing power but for my purposes it has been pretty great.


I have an always on HP ELITEDESK 800 G2 - I5-6500 3.20GHZ with an SSD. Uses about 20w. I recently measured power consumption over a few weeks. I unplug the monitor which saves a few watts.

I love the Pi but it is not a server. My best experience of Pi is when the Pi does one thing e.g. uses rsync/rclone to back up all my data to an encrypted usb disk.

Also, the box has built-in kvm/vnc which is handy as I need a ladder to get to it in my roofspace


I have a small Atom powered BeeLink (or something like that). I switched it from Windows to Xubuntu and added a large external SSD in addition to the 64BG eMMC. I have it running a few security cams.

I like it. It's been stable and has enough power to outdo the Pi (multiple cameras plus web interface) while still being low enough power that I can run it off a battery backup for a while in the event of brief power outages.


I would recommend low-end intel. You get things like a clock with a battery, a power switch, transcoding, and many distributions.

Zotac makes some nice fanless machines that take an ssd, and they run linux fine. They come with a vesa/wall mount

They can be very low cost, for example the zotac zbox ci325 or ci329 ~ $160-170 (add memory + ssd). You can pay more all the way up to fanless i7 machines.


The Rockchip SoCs are quite good. Pine64 has several boards, here is one of them, https://www.cnx-software.com/2021/02/16/pine64-unveils-quart...

Either eMMC or M.2 or SSD should be fine.


Check out reddit.com/r/homelab

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.


If you do decide to give the pi another chance, move the root partition to an ssd and avoid the SD card woes. Or, boot from a USB device and have no sd card at all on the Pi 4. Both work well and a cheap option as you probably already habe all the stuff.

You've still got a load of wires to deal with though (unless you shell out for a fancy case).


Slap an SSD in an external USB enclosure, connect it to a Pi 4 configured to boot from USB, and you're all set.


I run Alpine Linux in Diskless Mode on a Raspberry Pi Zero W. Diskless means it loads the OS from SD-card into RAM on boot and then runs from there, preventing wear. I use USB for writable storage only for the (few) applications I run that require it. It suffices as a basic NAS and consumes very little power.


I’m also interested! It would also be great if knowledgeable people comment on cheapest options. RPi options typically end up around $100. There once was the CHIP computer for $10 that included storage, wifi (but not ethernet), for example, but not anymore. Quantity has a quality of its own and all that...


Most routers have an OS and a hard drive. Can you take control of your router? Or, a good way to save on the overall cost, is to return the router rented to the provider, and have a router-computer.


The RPi 4 with an external USB SSD drive should last a while and the SD card won’t wear out as fast if you’re writing to the SSD plus they have more RAM on 4th gen. I have 3 that have been running 24/7 in that configuration for a year as a Kubernetes cluster and have had 0 issues.


Can someone explain to me the use case of a home server? I've always enjoyed tinkering with RPis, but have never found a good enough reason to keep one running 24/7 as a server. PiHole seems to be the best use case for it, but uBlock Origin or Wipr handles ad blocking for me.


For a household with 2+ people – each with personal phone and personal laptop plus a bunch of common devices like TVs, streaming speakers etc you would need a bunch of useful local LAN services:

1. Local Backup storage server – always have a local+cloud back – neither one is good enough just by itself.

2. Local streaming service – photos, music, home videos etc.

3. Internet gateway –

a. filtering firewall,

b. privacy enhancing dns server,

c. optionally wireguard based tunneling with custom routing.

d. You can also log and catch suspicious traffic in your network (best way to catch an infected device on your home network).

e. If you have two Internet connections, you can configure them for high-availability and load-balance your outbound traffic.

4. Local software updates caching proxy.

5. Mail server (transport/relay).


I suppose the only thing here that really interests me is the backup server, and even then I've got enough (potentially misplaced) faith in iCloud/Dropbox/Google photos to not spontaneously combust at the same time as I lose/break my devices. Out of interest, what software do you use for the backups? Is it something like Borg/rsync and a cron job, or is there a nice batteries included solution?


Freenas works great once it is setup correctly.


How about photos etc, can you please share what you're using and why? Thanks!


My home servers do the following things:

a) raise my power bill and heat my home :p

b) run a PPPoE client (ugh) and firewall/nat, and handoff the PPPoE session (custom client, available on github, email me) and firewall state (pfsync) if the primary goes down (which is usually for reboots); redundant dhcp, recusrive DNS, and automatic failover to LTE as well.

c) host a samba share for household documents and media. With automated backup to the secondary server (but if the main server is offline, you can't use the share). The samba share also accepts backups from the windows hosts (veeam free edition), which means I actually have backups that are easy to restore from.

d) publish selected data from the share (on change) to my DO droplet, because my connection isn't reliable enough to host from home (I used to serve my lame webpages, and my DNS from my home servers, but when I moved, it became a non-option due to the DSL going offline when the DSLAM loses utility power)

e) record over the air TV with MythTV and HDHomerun network tuners

f) host local development because my frontend systems are Windows and I'm not developing there (not interested in a windows hosted Linux environment thanks, putty works well for me)

g) PXEBoot server, which is mildly useful, at times.

Are there other ways to do that stuff? Probably, but this is what worked for me. I used to have all these things running on a single server, but having multiple means I can reboot them for kernel updates without losing my internet, so that's pretty nice.


I was annoyed that my media is only available on my main machine, if I wanted to watch something on my phone or show a photo to someone, I needed to boot it up. So a home server to host files for me and my household seemed logical. Since then I went on a degoogling trip and as part of that, I installed Nextcloud, also very useful. I also do my backups to the homeserver (and then back up the homeserver too).


Can I ask what you're using to view video/photo from your home server on your/family phones? Thanks!


Unfortunately it's not a solved problem. I envy Google Photos features, wanted something that nicely present the photos but I end up just using Nextcloud's phone app or web interface. Both can generate nice sharing links with expire dates, which is quite useful because it cleans up after itself. I eyed Piwigo for a time, but it's overkill for my use case.


You're welcome to try PhotoStructure. It's still a young product, but it's already got some unique features and new releases come out regularly: https://photostructure.com/faq/why-photostructure/


I have one that i use for various things firewall, router, file sharing, prototyping web systems, torrenting. Backup of images. A 1000 different small things. I guess I could do without it but it is very convenient to have somewhere where I can run small scripts test various things and make the result publicly accessible over the web.


Servers with lots of storage cost plenty of money to rent. It's cheaper to have your own if you plan to store/serve lerge amounts of data. In addition, if you are the only one with access to it, you don't have to worry about the implications of storing sensitive data on someone else's computer.


Personally while I do run AdGuard Home on my Pi, the most important software is my password manager service. Keeping all my passwords both synchronized among devices and local without worrying about the power draw from the Pi staying on has worked very well.


Out of interest, why would you not use a hosted service such as bitwarden? I've been appreciating everyone commenting on this thread with their use cases but I haven't seen a single one where is hasn't been easier to do the same thing better with a service. Is it a privacy thing, or just the peace of mind knowing the services you use aren't going to shut down and stop working because you're hosting it?


Specifically it's more of a peace of mind thing with regard to security. I actually do use Bitwarden though (bitwarden_rs container) and although the critical info in the database is encrypted, I worry less about my network getting hacked than a high value target such as a hosted password manager. It is for this same reason that I don't save passwords in the browser and defer to my locally running password manager.

Note that for non-technical people, using a hosted password manager is far preferable in most cases than not. And for technical people who don't want to go through the effort of standing up their own service, paying for somebody else to do it for you is no doubt easier.

It is nice that when you self-host you also don't have to worry about a third party service shutting down. But for security oriented software I think it'd be too risky to continue running indefinitely without maintenance, so unless people stepped up to maintain the code you'd only be buying yourself your own migration timeline really.


I have an old desktop running Plex, so I can stream my personal movie and TV library to any of the Roku devices in my house.


I've never heard of or used Roku before, from a quick search it seems to be a chromecast style stick to plug in to a TV to watch stuff, is there any reason you couldn't plug an RPi or your desktop straight into the TV to watch from?


Well roku's are popular, have nice software, and are easy to stream to. They are also newbie friendly, hand someone a remote and they'll likely have netflix, amazon prime video, youtube, and related streaming services going in no time. Even a 5 year old can manage to get things going.

It's the best I've seen, way better than I've seen built in TV's. It's also the Switzerland of streaming services. No problems with Apple devices disliking google services, or vice versa. So you get the best selection of streaming channels I've seen.

It's also popular enough that clients written for roku tend to be better than less popular devices, like say some random brand TV. Not to mention TVs are often useful for 10+ years, and it's way cheaper to upgrade a Roku than replace a TV.

Oh and there's a Plex client.


Rokus are streaming boxes/sticks that connect directly to streaming services (like Android TV). Next to the Amazon Fire TV devices, they're the smoothest way to get YouTube and other services on a TV.

My desktop is two floors away from either TV in my house, so being able to stream my personal media library to them over LAN is more convenient than lugging around a desktop to either TV. It's buttery smooth streaming too, and the interface is really customizable


I ran into similar issues when using Rpi with SD cards, but I switched to a bootable SSD and had zero issues since.

If you don't like tinkering with your Rpi I can also recommend the Odroid C4: it has a better GPU and a native eMMC connector so you don't have to fiddle around with SD cards.


HP t620 PLUS. Ignore what the manufacturer says, it'll run 32GB RAM. I have a USB3 card in mine for more hard drives. ESXi with 5 VMs running all the time. Power consumption is like 6-12W for the base unit, plus whatever your drives and cards add.

Or use a Pi4 with USB disks.


I use a mini-ITX board (GA-C1007UN), which has an embedded Celeron CPU and two GbE ports. It serves me for almost five years now as a home server, router and Wi-Fi access point. The downside is that it requires an ATX power supply and is not completely silent.


You could use a picoPSU.


2nd hand ThinkPad. Rock solid, usually silent, with battery backup, keyboard and display.


Relatively low power, compared to a modern desktop, even though multiples of power consumption of an RPi, but refurbished PCs from the previous decade do often have a good utility function for their price.


Sounds like you want pretty much any couple-generation-old laptop.


Get an older Mac mini. Been my file server for 5 years now.


Not super low cost, but I've been happy with my Synology DiskStation.

It's a NAS device that can act as a general-purpose Linux server.

Install Docker and you're off to the races.



Maybe a NUC 8i3 with an aftermarket fanless case?


Deskmini with a low end pentium and an arctic 12lp.

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.


rpi can now boot from ssd via usb. but i would recommend against using rpi.

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 use a NUC running ESXi and it’s superb. Generally it’s pretty silent if VMs are idle, which is 95% of the time.


my rpi boots from an old usb flash drive. It is slow, disk write is 2MB/s, but it is pretty stable so far.

But next time i will probably buy something from https://wiki.debian.org/CheapServerBoxHardware


Modern pi4 can boot from other media. The Sd card problem is mostly a thing of the past.


Ise a mechanical HD instead of an SSD/CF then you get back the reliability.


I happened to be in the same situation recently :) I'll list everything, in case other people find it useful.

If you want to go really low power, ARM is probably the best choice. The smallest choices are something like a Raspberry Pi, Ordroid C4, RockPi and the likes. Some of these have SATA-Ports, so if your only concern is SD-card corruption, this is the way to go.

For more power on ARM, the current options get expensive fast, unfortunately. There are some servers coming out, but 5 digits is probably not what you're looking for ;) The mid-range is pretty empty as well (compared to x86), but you can go with a NVidia Jetson or HoneyComb LX2 [0].

When you need to have virtualisation, run proprietary software (or Kodi+Netflix, as I have found out) or run PFSense/OPNSense, you probably want to go x86. Luckily, the x86 space is not as small. The low end is filled by J1900-SoCs [1], which you can get quite cheap. The Odroid H2/+[2] is pretty powerful as well and is comparable to an RPi in size. I can highly recommend these low power boards - they consume 10-20W max, can be run with a MiniPSU [3] and yet they can provide good speed and double-digit amounts of RAM. Also, they're very cheap and even cheaper second-hand. Only drawback is that Ryzen embedded SoCs seem to be in their infancy.

If you need even more compute power, you can go for a Mini-PC. These are available in small form factors on AliExpress [4], but you can also build them yourself quite easily by choosing a MicroATX/MiniATX board and some low-power CPU, combined with a passive heat sink and a small case. These usually come with more ports than the option above, but, depending on what you put in there, the power use might go up quite a bit. It's the least expensive way to get ECC, though. Intel NUCs are also an option, but these don't come cheap.

The last option is a small desktop PC. You can easily cool it passively in a large enough case, just take a large heat sink and a low-ish TDP CPU. Modern CPUs might idle at 20-40W, so it's not that bad. Try to get a very efficient PSU and a low-feature mainboard and you should be fine. The advantages of these builds are probably the best $/performance ratio and the most variation and extendability, but at the price of comparatively high power draw.

A honorable mention goes to the Epyc Embedded [5]/Xeon D [6] SoCs. These are quite nice, providing an abundance of enterprise ports (like SFP+) and ECC in a small form factor, but they're also priced for enterprise - so, unless money is not a problem, these are probably not an option.

[0] https://www.solid-run.com/arm-servers-networking-platforms/h... [1] i.e. https://www.gigabyte.com/Motherboard/GA-J1900N-D3V-rev-1x [2] https://wiki.odroid.com/odroid-h2/start [3] https://www.ebay.de/itm/Mini-ITX-PSU-120W-DC-DC-Rev-2-bringt... (for example, not this specific offer) [4] https://www.aliexpress.com/category/70803003/mini-pc.html [5] https://www.asrockrack.com/general/productdetail.asp?Model=E... [6] https://www.servethehome.com/supermicro-x11sdv-16c-tp8f-revi...


I am very happy with 2 Olimex A20 Homeservers with integrated SATA SDD.


Satoshi owns about 5% of all BTC. "he" has never touched them


you can attach a SSD to a RPI, but the USB interface will make it less fast than it could be


ASRock J5040-ITX


I use a Asrock J3355B for my little nas/homeserver it idles at 8W and "spikes" to 15W while decoding movies. It's a bit pricier as a raspi but it has a lot more features. 2 Sata Ports, PCIEX Slot up to 16gb ram etc but most important it is completely silent.


For some Europeans: fly to US, buy Mac Mini with M1 chip for $699.

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.


Seems a lot easier to just pay the taxes than to fly around the world in a pandemic?


I think it depends. If you decide to stay there for a month in a remote area, then you're probably doing the world a favor by not being a vector.


I'd argue that staying at home is doing the world a bigger favor, both in terms of air pollution and in terms of "being a vector". For most people it also doesn't make sense to sit around on a flight to save a couple of bucks, their time is usually more valuable than that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: