I'm in the process of designing a home server and am curious how many ethernet ports are required at minimum and how many people recommend. The single board computer (SBC) I plan to use has two built in and has a pcie slot to add four more if necessary. If I don't need the four extra I'd like to use the pcie slot for a pcie Coral Edge TPU (preferred over the USB variant but still an option).
I expect to plan to use the server to connect to my home network so any device on the network via WiFi can access NextCloud. Besides that I want to use Frigate in another container for home video surveillance. I don't know if I can or want to yet also add a Plex or Jellyfin instance to then connect to my TV or use a separate SBC for that.
What are your thoughts? I'm new to all of these things and just don't want to waste money on the wrong hardware. Thanks!
Off the top of my head, here are a few scenarios where you would like multiple network ports, none of which you are likely to need to worry about.
You only have gigabit network devices, but you're running a file server that you expect to often have multiple devices utilizing concurrently, so you connect all those devices to the same switch that the file server is plugged into and you implement bonding to increase the throughput to/from the server.
You are virtualizing a router, so you need a WAN port as well as a LAN port.
You have mostly gigabit devices, but you want a really fast connection between two servers or between your server and a workstation, so you add 10 Gbps or higher network cards to those machines and you connect them directly.
You're running a high-availability cluster and you want to use a ceph pool, so you use a second network port on each device for the ceph network.
Backup internet, eg two ISPs supplying internet to your house.
Two (or more) seperate networks that need access to the same server. This is done so is network A is down, network B can still access the server.
I still don't fully understand your question. You NEED at least one rj45 to supply network access to the server. (I'm ignoring the fact that wifi exists)
I have two ports bonded on my server to get more speed, but I could get by with a single port just fine.
If you need to connect to multiple networks you can use VLANs and a single ethernet port if you want to.
Are you confusing "ports" with "interfaces"? I can see that happening since we do colloquially refer to both as ports depending on context.
Each service will bind to it's own "port" which is tied up by that service. However each interface (the external physical connection) supports like 65,000 software ports.
So in practice, no, you don't usually need more than one physical network connection to run multiple services.
Remember a homelab can be anything from multiple rack mounts humming along in your basement to just SBC running some clever Podman containers. Everyone's wants, needs, and interests are different.
Sounds like most of what you want to do could be done with one or two machines, a decent switch, and some kind of Wi-Fi access point. There is no wrong or right way to do it.
i didnt have a problem with network ports (I use a switch) what I shouldve considered during purchasing was the number of drives (sata ports), pcie features (bifurcation, version, number of nvme slots)
I need to do high IOPs for my research now and I am stuck with raid0 commodity SSDs in 3 ports.
I would prefer to keep the cameras off of the WiFi. I don't want them accessing the internet. I have never used containers before which Frigate will be on so hopefully there is a way to disable internet access to a container. Otherwise though the SBC comes with two 2.5Gbit ports and I believe my router is at least 1Gbit though regardless I plan to upgrade it.
that's not about them accessing the internet or not (if you don't have a dedicated VLAN just keep empty the gateway in their network config), it's that at 2-6 mbits each, they saturate the bandwidth fast if everything is on the same network, especially wifi
I have 6 ports on my main server and I used to use them all just because I could, but I only really use 3 these days.
1x 10gbe for file server access, plex, downloaders, nextcloud etc.
1x 1gbe for DNS (Adguard Home), home automation stuff, web hosting, etc etc.
1x 1gbe for VMs
I could do them all with one 10gbe and split out subnets with Vlans in software, but I like dedicated connections where possible as it is easier to manage and monitor.
If you are looking to run a plex or jellyfin server it is usually best to use a dedicated player for those (nvidia shield, apple Tv, chromecast GTV etc..) as they always tend to have better support for things like multiple HDR formats and things like Atmos or DTSX compared to running a DIY HTPC box.
Thanks! It gives me context and better understanding with your example. Good to know about the extra features dedicated movie boxes might have. I'll keep that in mind when looking for or designing one.
For what it's worth, I have a server with two rj45s (and a third for BMC), but I only plugged one of them into my switch. I run anywhere from 2-8 containers/vms on that server and never felt the need to hook up the other jack. I guess there's probably some contention of running multiple hosts all through that one connection, but typically I don't really need anything faster than the ~2-400mbps I get with WiFi anyway. So to answer you question, it depends, but I would generally say maybe start with the one and don't worry about it unless you're really moving massive amounts of data regularly and saturating your line. You'd also need to consider you'll need a switch and other network hardware capable of handling that throughout as well if you're really going to potentially saturate those ports.
Thank you. This gives a lot of context and makes sense. I think I'll use the second port for an ePOE hub for the cameras and the pcie slot for the Coral. Right now I use a half decent all-in-one router with OpenWRT but have been wanting to upgrade to get AX WiFi. I'll look into makinging sure I get competent hardware.
Unless you're planning on virtualizing your router on the server (think OPNsense VM or something) then really only one ethernet port is required. Otherwise the sky is the limit. For example, mine has a 1 Gbps port, a 2.5gbps port, and two 10 Gbps ports.
Depends on what you want/need and whether you want to future proof I guess.
So really just one port to connect the server to the router for everyone to have access is what I'm understanding? So then that leaves me with one extra to use with an ePOE hub to then add all my cameras to.
Im using 10gb network cards in my homelab. My vm server has an extra 1gb port for an outside interface on multiple pfsesne vms that i use to route traffic over vpn tunnels.
Then on my nas i have 10gb to a switch with the vm servers. It has another 1gb interface that i run directly to another nas. It uses that direct link to backup data nightly.