I'm considering setting up a home lab and truly self-hosting my own services

submitted by edited

I'm considering setting up a home lab and truly self-hosting my own services. Unfortunately, my budget is limited to around $100-$150. I'm wondering if the HP Elitedesk mini PC is suitable for this purpose. I'm particularly looking at the HP Elitedesk 800 G3 or G5 models. Unfortunately, finding these devices in Dhaka has been challenging. So far, I've found a G3 on bikroy.com, but it comes with a 6th gen i7 CPU.

Edit: I ended up getting Elitedesk 800 G5 with i7 9th Gen CPU, 32 GB (Kingston) and 1 TB Nvme (a Chinese brand called Kingspec). I'll get a new ssd later. The price was 35k BDT ($300 approx). The bios was locked. But I managed to unlock it by booting without cmos.

Next Post: mitexleo.one/@ml/1151974176366

@selfhosted

#homelab #pc #selfhosting #selfhosted #linux #server #proxmox #hp #elitdesk

41
63

Log in to comment

41 Comments

I have many 6th, 7th, and 8th gen machines - yes, it will do just fine, tiny/mini/micro is my entire self hosted experience (with few exceptions).

Maybe a mini PC with a N100 might be worth a look? Especially when factoring in running costs over it's lifetime

+1 those are really great. And should be just below 150

I have a G3 and, this might be counter intuitive, but buy an older model that uses DDR3 ram, old ram like that is obsolete and no one wants it, but more ram is more important in self-hosting than fast ram. Of course that limits how much you can do at once, but if you only have 8gb of ram instead of 32 or 64, the lack of ram is going to be very limiting in the sense that you'll have to run very few things at one time and that becomes cumbersome to manage services "on demand", starting them and shutting them down to save on ram, instead of letting them all be ready and idle.

Ho you should look into setting up services with systemd socket. This solved my on demand issues. I made a script to generate the services and sockets automatically. It became really really fast to add a container which start ondemand

That sounds interesting but my services are mostly in lxc container with dynamically allocated dhcp addresses (I do not wish to maintain a list of static IPs)

And that makes it hard to start them on demand based on incoming connection like you would an httpd process daemon.

My services are only refferred to by hostnames, for instance vaultwarden.lan, but this address does not resolve when the LXC is offline. I guess I could make a static DNS entries in the local dns server and point those to a LXC container orchestrator to stop and start them as they are accessed.

But also, just leaving them all running and ready to answer queries is, so much more convenient if I have the RAM for it.

But I'm sure there are cases where this is the way to go, but I don't know how to start LXC containers based on sockets without creating static leases and static dns entries, I really like how IP address and DNS names are completely automated on my network !

Yeah i didn't try with dynamic adresses. Most of my services are behind a ngnix so I make most socket point to there. I usually go by IP, that an old work habit.
Should try some news things.
I played with it with DNS but my DNS name were for a whole "PC" (that was a raspberry pi zero) it work well even when i put a nginx on raspberry zero and services on pi4 I still had to have fixed port and resolvable DNS name.
I should try to automate DNS, maintaining an nginx up to date is some time a pain.

@ml @selfhosted HP is on the #BDS list.

@GM7077 @selfhosted Yeah. But I don't have many options here in Bangladesh. ๐Ÿ˜“

@ml @selfhosted Then I suggest you buy a second-hand system, so that no money goes to slaughter the children of Gaza.

@GM7077 @selfhosted Yeah, that's probably what I'm going to do.

Unrelated to Gaza, but "hp" has sucked for the past 25+ years. You're better off with anything else.

Do you have an old laptop somewhere? You shouldn't need a new machine for a home lab if you're just hosting services. Most of my self hosted services are on a fairly lightweight VPS.

And yeah, I'd second the commenter suggesting you look for a second hand computer somewhere instead of buying HP.

running a jellyfin server on something like this may not be pleasant, so it depends on what you are trying to do with this machine.

for most things, yeah - it will be fine; however, if you are planning to do live transcoding, running an llm, or other compute-heavy tasks, the box will need to be upgraded.

I convert my files to avoid transcoding but my Raspberry Pi 4B handles Jellyfin just fine.

As said it should be fine unless pushing it with something like media files/jellyfin/plex/nextcloud. Nextcloud for example needs few resources but running anything nice would soon crawl. For the best advice a bit more of what you intend to self host would be nice

@ml @selfhosted
Not sure what you plan on hosting but it looks like the G5 uses 9th Gen Intel. That should be plenty capable of doing 1080 transcodes if you run something like Jellyfin.

Before I built and migrated things to my NAS, I used a Lenovo m70q with a 10th gen i5 and 16GB of RAM as my docker host. Jellyfin ran great. Everything else I ran was pretty lightweight with the exception of TubeArchivist. It uses ElasticSearch which can grow pretty RAM hungry when caching large libraries.

@__hetz @selfhosted Thanks for the info. Let's see which one I can find in the market. I will get either G4 or G5.

@ml @selfhosted
Yeah, RAM is probably the biggest thing. Being able to upgrade it, particularly, if it only comes with 16GB. After that is processing power. When I was looking for hardware I think anything 7th gen and newer was recommended for Jellyfin (they recommend 11th and newer for new hardware purchases now).

In truth I used a Pi4B and external HDD for media storage when I first started. It could manage a single transcode at a time but the CPU was pegged at 100% doing it. :thinking_fire:

@ml @selfhosted my #homelab is running on a $60 dell optiplex I bought on eBay and it works great for me! Here's a wiki page it's hosting with some more info: yuno.jack-case.pro/bookstack/b

@GandalfDG @selfhosted Thank you. Optiplex is a good option.

@GandalfDG @selfhosted What do you think of Optiplex 7060?

@ml @selfhosted I don't have any particular allegiance to a specific model, it more depends what you're looking to host. The CPU in mine supports some hardware video encoding which is nice for #jellyfin. Also the case is big enough to shove a bunch of disk drives in for NAS storage purposes. Really it just came down to availability and price for the one I went with. Unless you have a specific workload in mind I'd just go cheap and available.

I like the elitedesk PC for smaller services. My main reason being the power draw and or heat output. The ones I have and plan to use 60w of power which is pretty damn good for a whole computer.

Noise is another factor. Space saving is a plus, helps prevent ewaste since these are almost always refurbished. Its a good deal IMO.

And you can always buy or build a big honking PC or server for something else later on.

I can totally agree. From my personel experience these machines work just fine for a regular family household (so like 4 users). Only downside is if you need a lot of storage. But for that it is (imho) a better idea to have a dedicated machine.

@ml
I'm hosting home-assistant and nextcloud on a raspberrypi4 with 4GB of ram. Anything bigger should be good enough. Invest in a decent disk array, though. It's not fun when you lose data.

Edit: I initially wrote it had 8GB of ram, but in fact it has 4GB.

@selfhosted

@ml @selfhosted old hp kit works great - a 6th gen is actually fine just get enough ram

@gary_alderson @selfhosted How much ram do you recommend? 16 GB seems good enough.

@ml @selfhosted you can always add more - good upgrade path

None

@ml @selfhosted you have options and a good upgrade path - you may want to look at hp 800 g4/5 for 9th gen - you can add 128 to those - doublecheck the specs

@ml @selfhosted Very suitable, my lab runs on the older G2. As mentioned in an other reply RAM will probably be your first constraining factor, try and get 16GB

@ml@mitexleo.one @selfhosted@lemmy.world
I would go with a fully spec'd out (and decked-out) Raspberry Pi 5 instead.

Are you in the US?

https://www.canakit.com/raspberry-pi-5

If you're not in the US...

https://www.raspberrypi.com/products/raspberry-pi-5/?variant=raspberry-pi-5-16gb

@gme @selfhosted RP5 is kinda expensive compared to 2nd hand/refurbished Dell Optiplex or Hp Elitedesk.

Not if you factor in stuff like energy costs.

Especially if you also look into 2nd hand for the RPi5.

@x00z Electricity is very cheap in Bangladesh compared to the US. Also the RP5 I found in a Robotics Shop has only 8GB RAM. I think G4 or G5 is a better option since I'm just starting out.

@ml@mitexleo.one @selfhosted@lemmy.world They are? They're well within your budget though. Oh well.

@gme @selfhosted This is what I can get under the budget :) .. RAM is not upgradable. Besides it's arm.

None

@ml@mitexleo.one @selfhosted@lemmy.world
ARM is awesome by the way.
Every single one of my services (including this instance) all run on ARM.
ARM is the future.
Raspberry Pi convinced me of that and when Hetzner started offering ARM servers and VPSes I switched everything over.
Some things like Discourse don't have an ARM container but that's the only thing I've found that
work with ARM.

@gme @selfhosted Understood. Ram is the limiting factor here. ๐Ÿ˜ข

Oh god, don't waste your money on a mini PC unless you specifically have a reason to get something small.

You're literally paying more for worse hardware because of the form factor.

Instead, try getting a used Dell Optiplex. You can buy them at walmart for under $100.

Also, don't kid yourself into thinking your server is going to be more popular than it is. If it's just for you, then there's no way you're going to exhaust its resources unless you're specifically trying to.