First, a hardware question. I’m looking for a computer to use as a… router? Louis calls it a router but it’s a computer that is upstream of my whole network and has two ethernet ports. And suggestions on this? Ideal amount or RAM? Ideal processor/speed? I have fiber internet, 10 gbps up and 10 gbps down, so I’m willing to spend a little more on higher bandwidth components. I’m assuming I won’t need a GPU.
Anyways, has anyone had a chance to look at his guide? It’s accompanied by two youtube videos that are about 7 hours each.
I don’t expect to do everything in his guide. I’d like to be able to VPN into my home network and SSH into some of my projects, use Immich, check out Plex or similar, and set up a NAS. Maybe other stuff after that but those are my main interests.
Any advice/links for a beginner are more than welcome.
Just glancing through that guide:
OPNsense instead of Pfsense, because pfsense is going to rugpull, it’s just a matter of time. I wouldn’t trust the twats that run it farther than I could throw them because they’re pretty silly people. Rossman suggests exactly this in the intro to the router section, he would change if he hadn’t been using it for a decade already. Unfortunately, a lot of this guide is focussed on how to do it via pfsense and if you’re brand new, you’re going to have to figure out how to do it in OPNsense yourself.
Wireguard/Tailscale instead of openvpn. Faster and way easier to set up. Don’t even try to set up a full LAN routed VPN, just use Tailscale for the services you want. And use it for everything and everyone instead of punching holes in the firewall.
He’s definitely right about mailcow; if you’re reading that guide for information, you are not a person that should be self-hosting email.
There’s a million ways to do anything when self hosting, so I’ll just talk about what I have and if you interested just reply.
I only host a few services for now: Invidious, CloudTube, Redlib, FreshRSS. All of them as docker containers, this helps in quickly updating them and isolating their configurations. I have a few TB of disk space on the server itself that I can access through SMB3 shares, so I don’t have a proper NAS yet. Probably will do so at some point when I need it.
As for hardware, I’m using an HP mini-pc with
- Ryzen 5 PRO 3400GE
- 16GB DDR4
- 256GB boot drive (NVME), 2TB storage drive (HDD)
This mini-pc can literally be opened by removing 1 screw, so hardware changes/cleaning can’t get easier. I installed Debian on it
As for remote access, I use twingate instead of self-hosted wireguard. Mostly because I’m using my ISPs router and they like to reset it whenever they want. I’m also not confortable opening ports on the router. Twingate covers my use case completely so I never went back to this. I can map a custom domain to the server’s IP and this meant I just switch on twingate when I’m out and can access it seamlessly.
TLDR, the developers of pfSense are not the nicest people sometimes. If this bothers you, consider checking out OPNsense.
So first the author is arguing around on the router section that you should not buy a cheap router but then goes for pfsense instead of opnsense, i understand that when you are used to pfsense that you may not want to switch but recommending it for new ppl is just stupid. They have shown their hostality against their OS community in the past see https://news.ycombinator.com/item?id=13615896
When I first started self hosting in 2018 I didn’t know about how PFsense handled themselves and got a netgate appliance and used it up until 2 years ago and it ran great. Not a bad recommendation by any means but also understand expectations and opinions shift.
I use pfSense and tried to migrate away in the past. The changes I would have had to make to setup opnsense were so significant that I gave up for to lack of time. I don’t have time luxury of downtime so I need to migrate quickly.
But if I were starting again I’d absolutely avoid the pfSense project and their childish shitty behaviour.
I do plan to buy more hardware to replace my current pfSense box and take my time to implement opnsense gradually.
I purchased a firewall appliance with 4 ports and installed opnsense on it. Best decision of my self-hosted life.
Get one with two 10gbps ports and you are set. Passive cooled, small factor, Intel atom CPU. 4gb ram is plentiful.
On aliexpress can be found for 100€ or little more.
Even much better than an OpenWRT, which I love and use but delegate to internal network (WiFi access points) rather than perimetral defense.
Just kinda flipped through his guide. It’s a bit dated on knowledge and techniques, even for beginners.
You don’t need a computer for a router. Get a router that ships with OpenWRT and start there. GL.iNet makes good and affordable stuff. Use that for your ad blocking, VPN, and so on to get started.
I’d just skip OpenVPN altogether and get started with Wireguard or Headscale/Tailscale.
If you want to run other heavier services, start out with a low-power minipc until you’re settled on what your needs or limitations are. You can get a very capable AMD minipc for $250-300, or an n100 low-power for a bit cheaper. Check out Minisforum units for this. Reliable, good price, and solid warranty.
If you deal in heavy storage, maybe consider adding a NAS to the mix, but maybe that’s a further steps. OpenWRT is a good starting point just to get your basic network services and remote access up, then just move on from there.
A good and fun starting point for some people is setting up Home Assistant on a minipc or Raspberry Pi (honestly, the costs of Pi boards now is insane. Might be good just to get the minipc).
I’d just skip OpenVPN altogether and get started with Wireguard or Headscale/Tailscale.
This one was huge for me. OpenVPN is pretty heavy with CPU overhead, where as wireguard is almost free. I was getting throttled due to the overhead of OpenVPN and roasting the CPU on my Netgear R6350 (it’s what I had lying around). With wireguard I get nearly the same speeds as without a VPN and my loads are very reasonable.
Also with weaker routers like mine, be wary of trying to use QoS, this will probably not help network congestion and instead become a bottleneck (like it did for me). This is where a beefy dedicated router really shines.
Absolutely agree, another thing I’d add on is, dockerize everything. Louis brushes by it because he never bothered to learn but containers make almost everything better
Gl.iNet is a great value router, but if you want to do anything really interesting, it won’t do.
I have Slate AX chugging along, and have been eyeing teklager boxes to do actual routing, with slate as an access point.
This is a beginner. I wouldn’t try to overcomplicate it.
Good point.
I would probably suggest just getting a Synology NAS or similar because it’s plug and play.
The whole idea of self-hosted is to build something yourself and learn your way around some new technology or software. Plus building something yourself allows you to change and upgrade it down the path, while Synology doesn’t provide any of the sort.
I use xpenology. You can save money if u use that.
neat, is it worth it over TrueNAS though?
and the major cost of a NAS is the HDDs so I doubt you could save all that much.
In my usecase i tested unraid, ubuntu server and xpenology fits Perfekt for me for example with the photos app. I have a real small NAS DS218j running 24/7. My xpenology server runs like 4 hours oder night or automaticly longer if needed. The smaller one syncs easy to the otter ones. Also create and recover Backups is easy there.
They’re definitely on my radar whenever I get around to setting up a NAS
it can run everything you want that’s why I’d suggest it first.
Unless you want to train for a job in networking you don’t need to go all out on a home lab. it can be as hard or easy as you want it to be.
This guide seems pretty dated in terms of technologies and approaches used so I wouldn’t follow it 100%.
And it is heavily opinionated, without pointing out other solutions like for example the use of openvpn without mentioning wireguard even once.
You can certainly build a box for for use as a router, but you don’t need to.
If your not planning to build out anything public facing and aren’t going to run ipv6 internally, you can use any router to block all inbound ports and run everything over wire guard or tailscale.
There are a million and one ways to self host services. First question needs to be, what do you want to do and why. That will dictate the how.
I bought a protectli awhile back. Mines 4 port 2.5 gbps nics, and it runs opnsense out the box.
You should take a look at their sfp+ model, if I were in your shoes that’s what I’d be looking at. It’s all in one, works nicely, is incredibly customizable, and is lower power usage than basically anything you’ll build yourself.
I use that for my router/firewall, then I use an off lease dell thin client to run my home assistant server, and a standard off the shelf buffalo nas. If you’re into immich, I’ll recommend jellyfin over Plex. I used it for years but they started collecting more data, sticking their own junk in etc. Jellyfin is open source and works great.
Trying to create a router yourself is complicated. I knew nothing about it and installed OpenWRT onto a Netgear router and was unprepared. I ended up effectively taking a YouTube crash course trying to understand so many new networking terms and more. I got it working but any small tweaks could cause issues as I didn’t fully understand what I was doing. I bought a GL.iNet Flint 2 and have been super happy with it. Save yourself a headache, get a good router like that and start having fun running things on a RPi.
Trying to create a router yourself is complicated.
Presumably not when Louis walks you through every step of it. That’s a big part of my motivation for just going through his guide.
Following a guide on how to make something is different than understanding what you’re doing. By all means go for it. I think if you want to enjoy self hosting, skip to that part and come back to creating a router in the future.
Proxmox
Unraid
UniFi
Raspberry Pi
Docker
I don’t have time to respond, but exploring the capabilities of any of those things would be a great place to start.
Proxmox can be a bit of a bear to setup. The documentation is not very approachable for new users. It uses a lot of terms without definition which is a deadly sin of technical writing IMO. Guides for getting an Ubuntu Server VM setup vary wildly and often recommend outdated settings.
I’m totally on board with using it though. It eliminates the need to start from scratch when migrating to newer hardware.
Set up your favorite Linux server distro and then go ham on setting up docker (dockge is a great tool to introduce compose).
You don’t need any guides for it except for really niche cases.
For example Ubuntu VM; click create VM, choose Linux for the type, click next a bunch and choose your ISO image, CPU cores, and RAM. And you’re done, there’s no specific settings to use.
proxmox is pretty intuitive to use. You just have to make a lot of decisions to start with in regards to storage. I always go with one main drive with a partician for ZFS cache and at least two drives in the array for VMs that way if a drive fails everything is still good. Things get a little annoying if you’re trying to pass through hardware.