Hacker News new | past | comments | ask | show | jobs | submit login
Setting up a Raspberry Pi 4 home server (smalldata.tech)
251 points by wheresvic3 on Feb 20, 2020 | hide | past | favorite | 125 comments



A big performance increase by putting the OS on a SSD. The read/write speed is much better than using the SD card. It takes a little tweaking to get the SSD to boot on the rpi 4, but can be done. Basically the SD card gets used a bootloader.

howto:

https://jamesachambers.com/raspberry-pi-4-usb-boot-config-gu...


Yes, to be honest, if I had to do it all over again, I would probably have gone with the SSD and tried to boot off of it directly.

At the time of writing however, the pi was an experiment and I figured that I would just have an extra drive to store stuff if the pi did not work out. In any case, since it's not being used as a regular computer, the SD card works fine, even when compiling stuff :)


has the disadvantage of needing the SSD (which is probably more expensive than the pi?). here is something I ran across a while back, that if I understand correctly, uses a ramdisk + overlayfs to make the whole thing faster: https://github.com/cattlepi/cattlepi


Here's my build

    $55 Pi 4 (4gb)
    $8  Official USB charger
    $25 Argon One case (could also get acrylic + ICE tower)
    $10 microSD card
    $12 Sata to usb adapter
    $40 Kingston 240gb SSD (we can't do over 500mb/s anyway)
    

    $120 Total
You get a significant performance boost switching to a 64-bit OS. aarch64 has better SIMD guarantees, hardware AES (over 10x faster), double the registers, and generally more optimizable due to the more streamlined ISA. I haven't tested it yet, but in-memory compression could potentially help with the 4gb RAM limit.


I have a similar setup, but also require a powered USB3 hub to drive SSD. The power from the Pi wasn’t enough to be consistent (disk errors).


Pardon my ignorance. Does your bare SSD sit outside without any case (connected to the Pi via the SATA to USB cable)? Does it need any kind of heat dissipation mechanism (or cooling) at all?


That's up to you. You can find USB3 SATA enclosures on Amazon for around the $12 mark. There's not a big heat dissipation issue in my experience and a Pi probably isn't exactly going to be taxing the drive very much.

If you don't mind the terrible $/gb ratio, you can even get USB3 thumbdrives that use an SSD.


May I query which exact operating system did you use? Debian aarch64?


Ubuntu released a version last December that fixed the 64-bit problems pi4 has been having (USB and RAM issues primarily).

https://ubuntu.com/blog/updated-images-of-ubuntu-for-the-ras...


with 4gigs of ram running the OS from a ramdisk would probably make it fly (even faster than the ssd ;))


Perhaps, but I do web development and Chrome really eats the RAM.


Been meaning to do this, but with root on NFS, not USB.


Yeah, this is what I do. The Pi 4 has Gbit ethernet, so potentially faster than any device you can connect, and with 4 GB of memory most of the stuff you're running stays cached in RAM, so there's effectively no latency issues and additional memory requirements for a simple server are negligible. It's a great solution.


I wish there was a M2 SSD port


You should probably go for an Intel NUC or equivalent if you need an M.2 SSD, since it's probably massively overkill for the Raspberry Pi.


It might not be as exciting, but I run https://dietpi.com/ on my RPi. It's basically a Debian distro with an easy to use installer for common things. To install Apache, Nextcloud or anything else you just select it from a long list of installers in a console user interface.


A few insecure choices here: * fail2ban installed but no mention of actually setting up the rules. Additionally out of the box fail2ban won't work with docker containers * Wide open ports. Only open what you need * In the DNS script you are putting the username and password in the URL. This means even though you are using https anyone can see the username and password you're sending. Pass these options some other way.


fail2ban has some defaults. Definitely not for all those ports though. But 80, 443, 22 have them

Regarding DNS, the query string is encrypted on HTTPS. It can still be cached on logs on their side for example. It can be seen on the script, but the credentials would still have to be there somewhere.


You're right in that it is better to only open ports that you require - will update :)

I'm not quite sure what you mean by "Additionally out of the box fail2ban won't work with docker containers". fail2ban is installed locally on the pi.


fail2ban works by monitoring logs.

If you had installed for example your web server on a container, the logs will be on the container. Fail2ban on the host won’t be able to parse the ones inside the container (by default, needs more work).


URL parameters will be encrypted with HTTPS, so they're not plaintext over the wire. The problem is that requests are usually getting logged somewhere, so anyone with access to the logs can see your password.


I like pam_shield better than fail2ban. It's directly inline with auth, versus parsing logs, and is easier to customize for any oddball setup you might want.

There's also a similar pam module called pam_tally2, which I haven't used.


I'm not familiar with pam_shield but I've used the pam_faillock module (which is similar to pam_tally2) for years and it just works(TM) [0].

In fact, here, it's automatically configured on each and every host at install-time (via the post-installation scripts in my kickstart files). I can't remember a time when I ever needed to "touch" it afterwards.

(A few years ago, I evaluated pam_tally2 vs. pam_faillock and settled on pam_faillock but, unfortunately, I can't recall what led me to that choice.)

---

[0]: In reality, though, it doesn't really do much. There's only two Internet-facing servers with 22/TCP open to the world -- the bastion hosts -- and only public-key authentication is permitted on those.


> In the DNS script you are putting the username and password in the URL. This means even though you are using https anyone can see the username and password you're sending.

Who is "anyone" in this context? At most, it would only be anyone that has access to logs and the Pi itself. A man-in-the-middle wouldn't see them because it's HTTPS.


>Additionally out of the box fail2ban won't work with docker containers

oh snap...because the logs are in the container. Hadn't thought of that. Good shout


Nice article.

I had big plans for using a Raspberry Pi as a Plex Media Server once. The set up was easy, I attached my external HDD and let it scan the libraries. My wife and I watched a few movies, it worked perfectly. The next evening when we sat down to watch a movie I saw that Plex couldn't connect to the media server. I went upstairs and attached a monitor to my Raspberry Pi and I saw that Wireless Internet was not working on it. I tried everything and eventually rebooted it and everything worked again. This turned into a daily thing. I followed all sorts of instructions I found on the internet to try and fix the issue, but to no avail. Every day there would come a certain time where the Raspberry Pi would just lose it's Wifi capabilities and a reboot was needed. Sad, because I liked the idea of this small box sitting on the corner of my desk running a media server. This was an older Raspberry Pi, maybe things have improved.


Yeah, you’re gonna want Ethernet for a server. Both ends of a connection being on wifi is asking for flakiness even if there aren’t any problems with the server’s hardware or software.


Running any server on wifi, even home plex instance, is not a great idea. It's a shame that rPi doesn't support PoE out of the box, that'd mean you could've only 1 cable connected, but it'd manage both network and power.


Really? It's not 2005. Sure something system critical use ethernet.

But the idea that it's WiFi that's unreliable is clearly not the case.

Something is wrong with the RPI WiFi chip, driver or OS configuration.


Normal homes these days have quite a bit of competition for wifi. Hell even today's watches these days have wifi. Add a kindle, a few security cameras, a few laptops/tablets, a few phones, etc. Then add some crappy/noisy LED bulbs, a cheap microwave, and various consumer electronics and wifi is far from a sure thing for streaming 4k video over... especially for hours at a time.

I had some network lag/dropped frames, turns out my stereo receiver was downloading a quite large firmware update. Had me freaked out a bit, I hadn't recorded the mac address. Didn't figure it out till I turned the TV on and saw a dialog asking if it should upgrade.

So, yes, generally I'd recommend that anything that's going to consume hours of 4k video be put on ethernet if at all possible.


I always try to connect devices that don't move to Ethernet. It saves WiFi bandwidth for "mobile"devices and is extremely stable and the full bandwidth is always available.

Things like SmartTV, RPi, Solar Panels, Amplifier, etc. I hate it that Chromecast only has a wireless option.

But more on-topic, it shouldn't drop off WiFi just like that.


> SmartTV

From what I've seen about Smart TV's, I'm better off not allowing them to ever connect to the Internet. Forgo all the "smart" features and just use a Fire TV stick, Roku, Chromecast, etc.

My current TV is an 8 year old 46-inch "dumb" TV, but I plan on upgrading to something bigger later this year, and it looks like my only options will have Smart features, but I already use a Fire TV stick and a RPi, so I don't think I need the smart features.


Roku devices also track you, you are not much (at all?) better off.

https://blog.acolyer.org/2020/02/10/watching-you-watch/


I'm not really that concerned with tracking, but I am concerned with ads.


In which case I suggest a Sony smart TV. It's only some manufactures that shove ads in your face so vote accordingly.


Projectors are a compelling alternative - most of them aren't "smart" (yet).


> I hate it that Chromecast only has a wireless option.

They're a little pricier, but the Chromecast "Ultra" supports ethernet out of the box. For the base model, you can get an adapter.


It's 2020 now and my experience is that WiFi is wonderful, yet still too unreliable to count on 100%. At some point you're gonna run into issues if you run something that's meant to be 24/7. What's so hard about cabling?


If you're living in an apartment (like a sizeable chunk of the world's population does), WiFi is absolutely not an option for anything even remotely traffic heavy.


2.4 is unusable in my house. I can only reliably use 5.0 ghz


It’s so easy to use PoE that it’s almost out of the box


Fwiw, I run an rpi4 4gb as a plex home server over ethernet and it’s been flawless for the two months I’ve had it. I set it up on a lark expecting it to be basically rubbish but turns out that, at least with my media and an LG TV Plex client, it’s never had to transcode a thing. It’s now my only media server. It just sits there in the corner, costs about $5 / month in electricity, faithfully serving up anything I throw at it.

On top of that, it also runs my Pihole and a bunch of other services through Docker.

Bit of a revelation, really.


As a free software alternative to Plex, Jellyfin is definitely worth considering. FSF fork of Emby, integrates well with other software like Radarr, Sonarr, Jackett etc.

https://jellyfin.org/


FSF forked Emby?


I had a similar problem with an early model of Raspberry Pi, but no problems with the newer one. Definitely worth giving it another go.


I heard plex server is no longer supported on the Pi's though.


It’s running on my pi4 down in the basement, no issues.


Why not just setup a cron job to run a reboot command daily?


Why not have it just work without having to reboot?

The real answer is that the instability that manifests overnight will eventually manifest while you’re watching a movie.


Why not set up a local kubernetes server and let it handle the reboot ?


Please consider https://freedombox.org/ - it is part of Debian.


It seems to only have images up to Raspberry 3B+, but not 4?

https://freedombox.org/download/


I'm currently in the process of setting up a HA Hashicorp stack (Vault/Consul/Nomad) + GlusterFS cluster in my free time at home with Raspberrys and some other small-board computers. Completely overkill but it's great fun. My goal is to see just how self-reliant I can be in terms of digital services. Right now it feels completely reasonable to get to a point where the only external services I really rely on is a CA and domain registrar. Possibly DNS, and external endpoints to front traffic. If the HA part works well and I can make a failover region somewhere, self-hosted e-mail doesn't seem that unreasonable anymore.

There are several attractive alternatives to RasPi (Odroid already mentioned, beware though as most of the small boards are 32bit only. Also Khadas VIM3, FriendlyELEC NanoPi, Rock Pi. Many people also seem to like Orange Pi). The earlier generation Raspis are honestly quite disappointing from a performance perspective, mostly because of the shared bus between Ethernet/Wifi/USB/storage. The 4B is actually the first to hold its ground, and still does price/performance-wise compared to the above. Honestly it feels like the market's stagnated a bit around the RK3399 and Allwinner H5/H6, hoping there's going to be a new wave of interesting stuff during 2020.

A really nice feature of some of these ARM boards is that you can go so much more free (as in libre) than with x86 chips. Raspberry Pi excluded, unfortunately.

If you're open to x86 and want a bit more power, Intel NUCs have been around for a good time and AMD is pushing out Ryzen NUCs now. First out is ASROCK. I've also been very happy with the PC Engines APU2 router boards - they are great as small-form-factor servers or NAS builds as well.

Note that even if Raspbian is 32-bit only, you can totally run 64-bit OS's on the 3B+ and 4 series.

For 3B+ there's even a pretty stable UEFI bootloader: https://www.raspberrypi.org/forums/viewtopic.php?f=50&t=2494...

For Raspi 4 you can just rebuild the kernel for aarch64 and change the config a bit. Or if you're lazy, sakaki- is providing weekly builds here: https://github.com/sakaki-/bcm2711-kernel

I have both 3B+ and 4B running vanilla 64-bit Debian Buster.


I have this exact setup (vault/consul/nomad + glusterfs and zerotier for networking) and its pretty awesome. Still dependent on letsencrypt for SSL certificates. It runs plex amazingly well (though I am using some machines which are probably overkill for this purpose), even with the data coming from a glusterfs drive. Most of my nomad tasks can just launch anywhere because of gluster.

For internal DNS at least, you can just use consul. I set up dnsmasq to forward to consul on all of my machines which is super convenient (esp when that DNS just points to a docker container ipv6 address on the zerotier network, not port remapping on networking insanity needed)


Any additional build details from you or Legogris?

Haven't considered using glusterfs but the rest of those pieces, absolutely.

Only piece I could find similar to the topic is https://www.mockingbirdconsulting.co.uk/blog/2019-01-05-hash....


After a quick scroll-through I have a very similar setup. One thing to watch out for is that you really want to set up TLS and ACLs for Consul, Vault and Nomad as early as possible (maybe ACLs for nomad is not as critical to have in place from day one) - if you can avoid bootstrapping that on an already running cluster you save yourself a lot of head-scratching.

Integrating these three systems, with Terraform on top, is pretty time-consuming with all the policies and TLS certificates, but it seems pretty smooth to maintain after the initial setup.


Nice, thank you for the TLS/ACL hint!

I'm learning terraform/consul/nomad/vault as I build this thing, so I think the learning curve for me is extra painful compared to some of y'all.

The docs seem really good if everything is cloud-hosted and really nonexistent if you're running it all on your own metal.

I'm thinking I'll build out my test stack with vagrant. I can use Dropbox or Keybase or something similar to store and sync my terraform state if I need to. Any other hints or helpful readings?


Cheers, haven't checked out zerotier before. I'm curious, do you run GlusterFS on nomad or standalone? Seems like it could work fine as raw_exec, but I'm not sure if that's a good idea or not.


kinda a late response (sorry) but I run it standalone, setup via ansible. I have ansible scripts that bootstrap everything "below" nomad so it sets up zerotier, then vault, then consul, then dnsmasq (pointing to consul) and then nomad. You could probably run gluster in nomad but given that I give most nomad tasks a gluster directory that feels odd.

The only thing I still need to figure out about this setup is that I currently use a single glusterfs volume for most of my nomad tasks, I would love to have a nomad integration that could provision and mount the gluster volume when I specify a volume for a docker task in nomad.


It'd be nice to read about your setup if you post it somewhere.

I just built a new server with a 12c/24t 3900x and bought 3x RPi4-4GB, the goal was to have the Pis and a couple of light-weight VMs run a Kubernetes cluster using K3s (I'm currently running 3 Alpine VMs as a cluster on the server, and planning to add the Alpine aarch64 on the 3 Pis. I was thinking of deploying OpenFAAS to the Pis for serverless functions and have more "heavy" services on the server. I'm a developer so it's more of an academic task than running production services (I have another home server running FreeNAS with my production services in jails).

The alternative would be the Hashi stack, and I want to work with Vault anyway as I'm looking at it for secret management in our infrastructure at work.


I'm thinking I might do a write-up when I've had some more progress!

And yeah, my requirements in terms of performance are pretty light but my main candidate for whenever I need more power on a single node (though I guess I'd have to get at least two to keep my HA approach, so I want to see how far I can get with horizontally scaling SBCs first) is a mini-ITX with Ryzen 3900.


I made the mistake of putting the 3900X in the CS381, which, sadly has zero cooler clearance, and so the NH-L9a I had to use so it'd fit, has horrid cooling performance. I'd just suggest being careful with case choice to make sure you can put a big cooler or an AIO on the CPU.


Opensuse also provides 64bit images for RaspberryPi

https://en.opensuse.org/HCL:Raspberry_Pi4


Once you jump up into the 4GB model and are looking at "home server" or "media server" type functionality, other solutions might be more attractive.

For example, used ASUS Chromeboxes are all over eBay from $50-$120 or so with a real SSD, x86-64, nice enclosure, etc. And they are easy enough to use a SeaBios ROM with for regular Linux instead of ChromeOS.

Edit: not disputing the Pi is king at lower memory / lower storage / lower cost points.


I got a HP Compaq Elite 8200 with a i5 and 8GB of RAM for 50 bucks on Newegg about a month ago. And shipping was free too.

I stuck in a spare ssd and 8TB drive. It is running Ubuntu.

Right now it acts as a pi hole, nextcloud server, Channels DVR server, Plex Media Server, and runs Transmission. It barely breaks a sweat.

I used to just have a Pi 3B+ doing duty as a pihole and nextcloud box.

This works better and overall cost less than the pi once I added in the sd card, case, fan, power supply.


The Lenovo M72e is another USFF PC you can find with 8GB ram for $100 or less. Comes with WiFi too.


Seconding this, I run a couple of these in my basement and they are great low cost, low power servers.


I grabbed a $45 eBay Dell 9010, added a $12 dual NIC card, installed VMware on an tiny thumbdrive, threw in an old SSD and HD, and used the 4GB DIMMs I had laying around. Makes a perfect server for pfsense, media, and whatever web stack I want to spin up.


I'd love to know how you find these great deals on Newegg. I've heard of them in the past and their search engine seems to make hiding them a thing. Thoughts and thanks in advance.


But the i5 is much more power hungry than the Pi.


Processors are pretty good about only using what they need. And compared to my hot water heater and fridge the closet computer sips juice. Shit, I have two 60 watt light bulbs illuminating my porch all night to keep raccoons away from my garbage bin.


I try to keep everything I have running 24/7 as low power as possible. On the other hand, RPis quickly become overloaded for many tasks and so you end up needing a half dozen of them. On top of this there tend to be thermal management issues especially on the newer models.

Fortunately there are a lot of great options for SBCs now that are more powerful than the RPi. For example, I run an NVR for multiple cameras on the ODroid H2 which has a quad-core celeron, dual GbE, and 2x SATA - for only around three times the cost of the rpi 4 B. x86 isn't the best for power consumption but opens up options as far as OS. Due to video encoding rpi-based camera solutions often get close to requiring one rpi per camera!

I replaced my x86-based file server with the Kobol Helios4, an ARM-based SBC with 4x SATA. They've recently announced the Helios64 which will knock it up to 5x SATA with a faster ARM SOC, and comes with a hot-swappable drive enclosure that at least appears to rival the hardware of e.g. QNAP at a far lower price point.

I'd strongly recommend that people look around a bit on e.g. HackerBoards before assuming that an RPi is the best fit for their application. For example, a lot of people are running various 'single-purpose' network applications (e.g. pihole) on RPis when for not much more there are multiple options with multiple GbE ports and faster processors.


That Helios64 case is gorgeous. The only downside is they seem to have lost the ECC support they had in Helios4.


This was my conclusion too. Ended up getting a certified refurb i5 Lenovo with SSD and 16 GB of ram from Micro Center for $350. Yes, more expensive than the pi+ hard drive solution but still pretty cheap overall.


+1 an used laptop might use a bit more power but it has an enclosure, built-in UPS, cooling and SSD, has an x86_64 CPU and probably better specs. An all-around better choice for many many purposes.


Hard to add additional NIC (or two) to a laptop.


Similar options on a laptop as on an RPi, at least (so, USB?)


I'm using a USB Ethernet dongle in my laptop. They're cheap and Linux seems to support all of them these days.


For about 2x the price of an Rpi4+accessories I picked up a used Lenovo workstation and an SSD. 16gb ecc ram and four cores. Much nicer than my attempts to use Pis for various server-like things.


Dell Inspiron workstations work well too. I used one for FreeNAS for years because it had ECC.


I fell for the ECC myth as well when using ZFS on XigmaNAS, but got schooled here on HN a while back: https://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-y...


I have a box with 128 gigs of ECC RAM and I see a handful of corrected bit flips every year. Ain't no myth, just gonna be a crapshoot where those bits fall and what effect they have.


ZFS without ECC may not be any worse than any other filesystem without ECC, but it's still nice to have on a system you want to run all the time and deal with your files.


I moved from a Pi server to a mini PC with a Ryzen processor and 16Gb RAM after even the Pi4 with 4Gb was starting to struggle with the number of tasks it was running (Unifi controller, Pihole, Home Assistant, etc - none of them are massively power hungry, but together they made it crawl at times). Still have a Pi next to the TV for media display, but it's mostly due to better subtitle support than the TV's built in streaming apps!


Which mini pc?


It's a DeskMini A300, so not an official "Mini PC", but bunch of bits stuck together. Still has 1.5Tb of disk space though - turns out that you can get 500Gb HDDs for free, since no-one wants them!


HP stopped selling these a few years ago, but I bought an HP Stream Mini[0] to be my replacement HTPC after my original Raspberry Pi Model B was starting to chug on 720p videos:

I was sold on it after reading an enthusiastic Ars Technica review.[1] I quite liked the thing. Its specs were a little anemic out of the box, but despite being the size of a tupperware container, I was able to swap out the flash HD for a proper SSD, upgrade the RAM, and even swap out the WiFi card for a better model. It's still holding up as my media center five years later.

[0] http://www.hp.com/hpinfo/newsroom/press_kits/2015/2015CES/St...

[1] https://arstechnica.com/gadgets/2015/02/cheap-functional-upg...


I replaced all my SBCs with a single Ryzen 3 3200g-machine. It was more expensive, but at about $350 it replaced 2 RPI, 1 odroid xu4 and a rock pi. With performance to spare.

Ryzen 7 2700 are cheap now. If I upgrade the ram and cpu I can make it a nice VM machine for very little.


I'm looking for a small guy like this, or those mentioned in the children with AMD/opensource graphics.


I recently setup my Pi 4 with Pi-Hole and Wireguard for VPN. My first install and config resulted in super high load. So I redid it all on a fresh card (same brand) and it was snappy. No idea what the culprit was but I'm running Raspbian, installed with a NOOBS formatted SD card

I disabled swap memory and overclocked it to 2ghz which was super easy. Switched to a Flirc case because my prio case with a fan was really loud.

For Wireguard I followed this guide: https://www.reddit.com/r/pihole/comments/bnihyz/guide_how_to...


If you're into this sort of thing, I have really enjoyed tinkering with Odroid products. Also the homelab subreddit is pretty good.

https://www.hardkernel.com/shop/odroid-hc2-home-cloud-two/


> homelab subreddit

check out homeserver too...more towards the low end of scale rather than "I've got a xeon beast in my basement" homelab


I use my Raspberry pi to proxy any cloud video to my LG Smart TV, at native resolution, using rclone mount and Emby Media server. It's great. I can play 4K 100mbit videos from my cloud drives directly on the TV.

Side note, you can also use cloudflare free for dns, it's easy to setup.


And cloud flare can block some of the mischievous web traffic too


Yes, exactly. Despite the fact that my domain is not listed anyone online, cloudflare dashboard says they blocked 1000s of attempts last month.


Eh, doubt. My guess is they're bumping those numbers based on people hitting the cloudflare edge IP not your particular DNS name.

Do you have your origin whitelisted to cloudflares edge ranges? If not it can be hilariously easy to get around cloudflare (ex: Hamas.ps is behind cloudflare but runs on Hetzner https://censys.io/ipv4?q=hamas.ps)


Excuses me for being ignorant but why would you need a DNS to stream from a cloud drive?


Sorry for misunderstanding, you don't need to. My comment about the DNS was about OP's use of no-ip.


Is there a Raspberry Pi 4 case somewhere for sale that can hold a 2.5 inch HDD?


I've often looked for this, and there are surprisingly few options. Maybe something like this would work?

https://www.amazon.com/Geekworm-Raspberry-Storage-Matching-E...


I only skimmed this article but I didn't see any step where the default credentials ("pi"/"raspberry", IIRC) are changed so if you follow this guide you should expect your "home server" to be hacked and become part of a botnet shortly after you

> head to your router settings and port forward 80, 443, 22 and any other ports that you might want.


in fairness, changing the password is step one on any internet connected raspberry pi.


I'm using a pi 4 with ubuntu server and plex. The Android tv Plex app works really well with it.

It's connected to my wifi router via an ethernet cable. I used 32 bit ubuntu as it's only a 1GB pi and 32 bit saves some ram. I had some voltage warnings when booting up, I should probably get a better power supply for it. The Usb drive is non-ssd.


What might people recommend for a NAS?


I personally looked into this a lot the past year. And Ended up with a Synology NAS.

The software is just incredible on that thing. I got one with an Intel CPU and can run Docker on it that way. This replaced my PI where i was previously running a few things for home automation.

You can totally setup a NAS with a pi but IMO it's never gonna be as nice as a Synology NAS and all the trouble you have to go through setting it up.


I have a 416, and got it for the same reason - it just works, very well, easy to administer (but hardly ever need to).

But I can't shake the feeling that they will turn to the dark side sooner or later - the fact that the software is closed, mostly. Definitely if they get acquired, but also all the nice features are begging to be abused once the MBAs see they can get another $1/year/customer from selling you out.

So far, I only have excellent things to say about Synology. The feeling is from past experience with other vendors - Synology themselves have been amazing.


LOVE my Synology DS-218+. Any service not covered by Synology's own suite (family and I make use of Synology Moments for photos, Synology Office for docs, Synology Drive for file sync) I have a docker-composed container for. Hardware accelerated decoding on Plex and Synology support (special shout out to my man Lars) is out of this world good.

You pay a little extra up-front but it really is worth it. The box also uses a special BTRFS implementation that is rock solid and easy to manage snapshots for with their own GUI tools.


Depends on the purpose. I'm assuming for at home.

High quality? Get a Synology. Qnap is nice too, but Synology usually has a little better specs. All other brands are 'just not that good'.

Build your own? Go to https://www.xigmanas.com Just grab some hardware you think might work. Better hardware usually results in better NAS, but it will never be as optimised as a Synology.

Want to tinker with software endlessly? Any system that will support some kind of Linux. Take the word endlessly very literal.

I have a lot of various NAS systems. I don't trust any of them with very important data. Most of them have automated backups to various other systems.


Running a 4-bay x64 QNAP device right now that's 5 years old and just came out of support.

I am planning on "upgrading" it to Ubuntu by using an SSD in one of the bays and create a RAID-Z array using the 3 remaining disks.

Having a NAS is an ever-expanding process. You start off small (a router with DD-WRT and a few services), but then you realize a new way to use it and you hit the limitations of your hardware. Right now, my goal is to DVR a local show that's broadcast OTA, but my USB tuner isn't supported by the heavily-pared down QNAP kernels.


FreeNAS, a supermicro motherboard, ECC memory, an i3 if it’s just a pure NAS or a Xeon if you need more power. I have the above setup with 6 WD Red drives in a NFS pool.

It’s hard to justify using a Pi for a NAS unless you don’t mind your SD becoming corrupted.

Are you looking to build a real NAS or a Pi NAS? You could by off the shelf but it’s not as much fun.


A real NAS but I see the Pi isn’t up to it yet; too bad.


I’ve been using FreeNAS for about a year. The community has the angry sysadmin mentality and they favor retired sever hardware but it’s not hostile or anything. The docs are decent and setup isn’t too hard. Make sure your rig can boot FreeBSD.

OpenMediaVault is another Debian based distro I might check out in the future.

Hardware wise I’d go with something that supports ECC and a sever grade mobo, likely intel based. Supermicro has some cool IPMI features I used to setup over LAN, no monitor or keyboard.

Just a reminder to not open up your NAS to the public. I VPN to my home network if I need remote access.


+1 for FreeNAS. I recently converted my Mac mini 2012 into a FreeNAS box, I just replaced the SSD with two 2.5" HDD. No ECC but also way cheaper than the alternative I had in mind.


Ssh/sftp can be open.


Most of the popular options don't make sense to me as a robust solution.

miniboards(RPi, something-Pi) - underpowered for transcoding, no SATA/PCIe ports only USB, so little storage capacity via unreliable USB link. For playing it's OK, but if you're building something expandable, to last a long time , forget it.

Synology/QNAP boxes - expensive, proprietary components, if some part (power brick, motherboard) fails after warranty ends, you're SOL. You can't swap parts, repairing anything is very hard.

Rack mounted server in home - absurdly loud fans and impractical form factor

So what is the golden option that is almost never mentioned? Build a quiet pc in tower box. You can choose the right components for your needs. You can repair/swap them for new ones when they fail. And it is cheaper.


Synology

A Raspi-NAS is nice for the learning experience, but if you want a real NAS, just get one. Or build it with proper hardware and FreeNAS or a similar solution.


I've done a bunch of research, and ended up purchasing a HPE Proliant Gen8 server. The plan is to install OpenMediaVault, and use it as a Plex server, for NextCloud, Docker and more. I will also get a Hassio server running also at some point, but probably on an Rpi so that I can leave it running 24/7 in good conscience.


NUC-like PCs, usually fanless Chinese ones. E.g. search "nuc" on AliExpress. Use one for 1-2 years 24/7, super stable and performant


I got my first NAS last summer, Synology DS218+ and I'm very happy with it. The Plex server works on it flawlessly.


I got an older tower (Lenovo ThinkCenter), added a PCI SATA card. Lots of room to expand. A bit pricy on energy. Runs FreeBSD. Currently just have 2 mirrored SSDs for boot disk plus two mirrored HDDs.



One small point not mentioned in the article is that the is hooked on to a wall behind the tv so it is nicely hidden.

A cheaper option would probably have been to get a proper computer (likely secondhand), which would have been more cost effective but probably take up more space :)


Now I just need to translate it to Portuguese and share it with my Dad. Thanks a lot. =)


Nice! If you publish it, do send it across and I can link it :)


I enjoy this blog, but I wish it had an RSS feed.




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

Search: