I have an early 2000s PC (pre-SATA) with 512MB RAM (I’d love to tell you about the CPU, but its under a cooler that isn’t going anywhere) that’s been sitting in closets for about 15 years. Assuming I’m willing to buy into it, can something like that reasonably host the following simultaneously on a 40GB boot drive:

Nextcloud Actual Photoprism KitchenOwl SearXNG Katvia Paperless-ngx

Or should I just get new hardware? Regardless, I’d like to do something with this trusty ol business server.

Edit: Lenovo or Dell as the most cost-effective, reliable self-host server in your opinion?

  • @[email protected]
    link
    fedilink
    English
    211 months ago

    What I’ve always done is to create a VM for each service I run – so like one each for DNS, apache, postfix, dovecot, and even one to handle ssh and ftp logins. I’ll also set up a VM when I want to test a new service, so I don’t trash out a physical machine. This makes it easy to make extra copies if I want to run redundant systems or just move them to a different physical server. I suppose this is something like what docker does, except these are entirely self-contained systems that don’t even need to be running the same OS, and if someone happens to hack into one system, it doesn’t give them access to all the others. I also have a physical machine set up as a firewall to direct the appropriate ports to each VM and handle load balancing, but for your experiments you could do this task on the physical desktop and point everything to the VMs running inside it.

    One nice thing about KVM is that you can overload your memory space. So like if you only have 512MB available and you set up three VMs with 256MB each, the actual free space will be shared among them because usually a system doesn’t take up ALL of its memory (although for linux you might need to limit how much cache ram each system will try to use). In reality what you find is that a system might run a task or get a burst of traffic that uses more memory, so it will pull free physical memory from the other VMs as needed, then give it back when the task is done. You won’t really want to run web-facing servers with such a tight space though, unless you are the only person actually using them, but hopefully it gives you some ideas of how you can play around with what you have available in that machine.

    • @LazerDickMcCheeseOP
      link
      English
      111 months ago

      Holy shit, that’s genius. I saved your comment for reference. This is probably how I’ll end up learning to make these things work

      • @[email protected]
        link
        fedilink
        English
        111 months ago

        Well thanks, and all credit goes to the person who passed that setup on to me, and the person who passed it on to them… Everyone is so infatuated with docker these days and I just don’t know why. Cool you can run stuff in a container, but so can I. Just like I’ve seen so many people who think VMware is the ultimate because, what, businesses pay for it and that makes it better? Honestly when I tried VMware I found it to be a monstrous resource hog that my desktop machine could barely handle, and yet I can run KVM on servers that are almost twenty years old.

        This is one of the reasons why it pays to play around with older hardware – you get to see how smoothly various options run, and pick the solution that doesn’t require next-generation hardware just to get by. I’ve always ran older used machines because I can get them dirt-cheap, I know the bugs are worked out of the hardware, and they are just fine. I’m actually upgrading to some Poweredge R620 racks this year, which are still 11 years old, but they use half the power for a massive boost in processing so I’m working on replacing the other machine.