Being a noob and all I was wondering whats the real benefit of having a monolithic lets say proxmox instance with router, DNS, VPN but also home asssistant and NAS functionalitiy all in one server? I always thought dedicated devices are simpler to maintain or replace and some services are also more critical than others I guess?
Use containers. Start with one device. Check your utilization after you’re sure you’ve hit min and max for each of your services, then figure out if your single device can handle all your services gunning at once. If not, take your biggest service and migrate it to its own device.
Eventually, you might find yourself googling “Kubernetes vs Docker Swarm.” When you do that, take a deep breath and decide if upgrading one device is easier than trying to horizontally scale many.
Edit: Words bad. Verbs hard.
I’m no expert; only been dipping my toes in the selfhosted water for a few years.
But my thought process would be all the main stuff on your main server and the redundant instances on a little backup
I have a Raspberry Pi 4B as my load bearing Mac mini.
“Easier” and “simpler” are in the eye of the beholder.
A different way to approach it is to limit the failure domains. If this breaks how sad are you?
I would separate storage from the rest. Networking stuff together may be fine. Home assistant depends on how dependent on it your household is.
This is the way.
There’s nothing worse than finding your DNS/DHCP has gone down and it’s a VM / container running inside a server that can’t start because it doesn’t have an IP address and you can’t resolve names to get the thing started.
Break things down into chunks that make sense - to you.
I have dedicated (low power) hardware for the interweb firewall / DHCP / core network stuff.
I have a NAS for storage with all the backups / reinstall images on (so I can rebuild the firewall if there’s no internet, for example)
Then I have everything else in a single server.
Sources: a house fire, water leak & many hardware failures & borked upgrades over many decades.
Having as much on one machine as possible has efficiency and maintenance benefits since you have less machines to configure. The drawback is that multiple services can add up peak demands and run the machine oom which you can either solve by leaving extra headroom or make them redundant imo.
Someone with more experience than me might have other ideas to add.
I’d say mostly energy savings and CPU usage efficiency
This is what I do:
- Stuff that’s critical runs on VPSes running Debian stable. Things like my websites, email, authoritative DNS, etc. The VPS providers I use have nicer hardware than me (modern AMD EPYC servers, enterprise NVMe drives in RAID10 with warm spares, 40Gbps networking, etc)
- Other stuff is on a home server running Unraid. It has a Core i5-13500 with a W680 motherboard, 2 x 2TB NVMe drives in ZFS mirror, 2 x 20TB Seagate Exos drives in ZFS mirror for data storage, and 1 x 14TB WD Purple Pro for security camera recordings.
- I have a Raspberry Pi with a few things on it, like a second copy of my recursive DNS server, AdGuard Home (so the internet doesn’t break if I need to shut down “the main server”).
I was thinking of running several servers at home, but right now I’m just running one main one. I don’t have much space and it’s running fine for me for now. Power is expensive here. I’ve got solar power, but I get 1:1 credits for excess solar power, so I’d rather save it for other things.
Services that can utilize the full power of a single machine are quite rare. I have about 15 docker containers in total taking up about 800mb of ram on one of my servers. In reality having multiple can be more complex and harder to maintain, not to mention power efficiency and cost.
It could be a good idea to move more critical things to a different machine. It’s often said that you shouldn’t run your router and/or firewall on your main server, but I think there are also security reasons for that.
Or to move those to a low power consumption machine with cheaper hardwRe that are either more resource friendly, or very heavy but it’s fine if they can only finish their task over a longer time.
Also, think about how could things go wrong. Have a second DNS and DHCP server (it’s difficult to run a secondary DHCP besides the primary, maybe you don’t need that), and some way you can reach the internet if the router or the firewall gets borked. That “way” does not need to be accessible at all times, but you should be able to switch it on when needed.
Don’t forget to test that these are actually working after you have sweet them up.Whatever you decide on, don’t forget that you don’t have to do everything at once. Don’t let it overload you. Learning new tech takes time.
deleted by creator
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DHCP Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network DNS Domain Name Service/System Git Popular version control system, primarily for code IP Internet Protocol LVM (Linux) Logical Volume Manager for filesystem mapping LXC Linux Containers NAS Network-Attached Storage NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency NVMe Non-Volatile Memory Express interface for mass storage PiHole Network-wide ad-blocker (DNS sinkhole) VPS Virtual Private Server (opposed to shared hosting) ZFS Solaris/Linux filesystem focusing on data integrity k8s Kubernetes container management package
[Thread #867 for this sub, first seen 12th Jul 2024, 23:05] [FAQ] [Full list] [Contact] [Source code]
I split my setup into storage vs processing. Can one physical box handle both? If the answer is yes then go for it. If all your running is low IO stuff and it’s sipping cpu then one general purpose whitebox is a great start.
Its the difference between running home things and having the money to run datacenter reliability.
Having everything on just a few VM hosts is so much easier, cheaper, and efficient. It’s eventually a bigger investment though. The days of bare-metal are long gone!
Sorry, I think you’re misunderstanding what I’m saying. You can surely that, but if the host goes down, everything goes down. Single point of failure.