• 0 Posts
  • 6 Comments
Joined 1Y ago
cake
Cake day: Jun 13, 2023

help-circle
rss

Risking sounding like a broken record, I always suggest Tiny/Mini/Micro 1L form factor office PCs. Lenovo, Dell, and HP all create ultra small office PCs that make great low power servers. A Pi will use 5-9w at idle, while these PCs will use 11-13w idle. They also use more standard components such as NVME drives, 2.5" drives, and replaceable RAM. Easy to find under $100 USD used, I’m sure you can find them under 100 euro.


Look up 1L mini PCs - Dell, Lenovo, and HP have similar one liter mini PCs that would’ve been used as a lightweight frontend in offices. They are easy to find on eBay and can be pretty cheap.

For example, my lab at home consists of three Lenovo Thinkcentre tiny machines. I bought them off eBay for $60-80 USD. They each came with a 500gb HDD and 8gb RAM. I have since upgraded them all to a 500gb NVME, 500gb SSD (they have a 2.5" drive bay), and 32gb of RAM. They run as a Proxmox VE cluster.

I think I might have $500 USD into the entire setup, including my 10" wide rack enclosure.


I totally missed that you have an uncontainerized service. Can you run the service directly on the hardware host (safely)? If so, here’s how I would probably run it considering your memory constraints:

  1. Install Debian
  2. Set up the uncontainerized service directly on the host.
  3. Install Docker directly on the host as well.
  4. Spin up the containers for everything else.

Not the cleanest/most separated answer but it would reduce the memory load of additional layers of host/VM/containers. If this isn’t storing any sensitive data or being directly exposed to the internet that should be fine.

If you are dealing with sensitive data or exposing to the internet, I would consider your original plan of Proxmox VMs to separate everything but see if you can add additional RAM to help. Also consider installing something like fail2ban on every host and VM.


The containers in Proxmox (LXC Containers) are a little different from Docker containers. You can’t deploy Docker containers directly as LXC containers. You can, however, run an LXC container and install Docker on it, then run Docker containers there.


In your scenario I don’t think I’d use Proxmox as you’re going to run into issues with lack of RAM. I think you’re going to have issues running out of memory either way though. Running the whole machine as a Docker node would probably be more memory-efficient than having the overhead of running separate VMs under Proxmox.

NGINX should run fine as a container. There’s even an official build available on Docker Hub.


This is the first time I’ve heard of this, thanks! Looks like a good addition to my homelab.