Hi y’all. I’ve got an Intel Nuc 10 here. I want to run a few apps on it, like BitWarden, PiHole, NextCloud, Wireguard, and maybe more, just for my own use, inside my home.

Is there a way to guage whether the hardware is up to the task in advance? Like, if love to be able to plan this by saying, “this container will use x MB of ram and 5% of the cpu” and so on?

I want to run everything on this one PC since that’s all I have right now.

EDITED TO ADD: T****hank you all! Great info. :thumbsup

  • drdaeman@lemmy.zhukov.al
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 months ago

    It’s very hard to say anything definitive, because many of those can generate different load depending on how much traffic/activity it gets (and how it correlates with other service usage at the same time). Could be from minimal load (all services for personal use, so single user, low traffic) to very busy system (family and friends instance, high traffic) and hardware requirement estimates would change accordingly.

    As you already have a machine - just put them all there and monitor resource utilization. If it fits - it fits, if it doesn’t - you’ll need to replace (if you’re CPU-bound, I believe CPUs are not upgradeable on those?) or upgrade (if you’re RAM-bound) your NUC. You won’t have to reinstall them twice anyway.

    • vegetaaaaaaa@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months ago

      This is the only real answer - it is not possible to do proper capacity planning without trying the same workload on similar hardware [1].

      Some projects give an estimation of resource usage depending on a number of factors (simultaneous/total users…) but most don’t, and even the estimations may be far from actual usage during peak load, with many concurrent services, etc.

      The only real answer is close monitoring of resource usage and response times (possibly with alerting), and start adding resources or cutting down on resource-hungry features/programs if resource usage goes over a certain threshold (~80% is when you should start paying attention) and/or performance starts to degrade.

      My general advice is to max out installed RAM from the start, virtualize your hosts (which make it easier to add/remove resources or migrate a hungry VM on more powerful hardware later), and watch out for disk I/O on certain workloads (databases… having db engines running off SSDs helps greatly).