Stable Diffusion already works off of a queue, so that shouldn't be an issue.>>106479>I don't know anything about managing a server and would probably prefer vermin be able to fix whatever issues may arise.
Depending on the level of complexity we're talking about, some type of out-of-band management would be ideal for this. Server motherboards and some workstations will have "IPMI" which allows managing a computer and viewing its status across a network. It also allows advanced features such as being able to turn on a computer and even access the BIOS without being physically in the same location. The more "enthusiast", but DIY solution would be a PiKVM: essentially the same thing as an IPMI motherboard, but based off of a raspberry pi that you then plug into the motherboard headers (for power on, power off and reset), a USB port, and a HDMI port.
Now, depending on how complex the setup we're talking about is, and how much performance (and cost) we would want, there are a few different routes to consider:
1. Server-level hardware - reaching into the Enterprise realm, likely making use of a lot of old server equipment.
2. Prosumer - High end consumer hardware.
3. Minimum viable product - few generations out of date to cost-optimize.
So... We should ask ourselves what our requirements are.
1. For game servers, are we just hosting a single server at a time and shutting it down once activity falls off, or are we keeping them online indefinitely?
2. For stable diffuion, what sort of performance do we want? Is 4090 performance necessary (2 seconds to generate a 512x512), or is 3060-level performance okay (~30 seconds)?
If the answer to the first question is, "just one server at a time," then we could go for a more budget-oriented build. Otherwise, we would likely want a CPU that has a high core count to support multiple servers at once without bottle-necking. The second question kind of answers itself.
The third and final question is related to storage:
1. How much data do we actually need?
2. How fast do we realistically need our storage to be?
3. How valuable is our data? Do we care if the server's hard drive dies?
With a bunch of models, I'm currently using around 100GB for Stable Diffusion. A moderately sized Minecraft would can grow to a few gigabytes.
For storage speed, remember that we are limited by the network connection. A 200MB/s 3.5" HDD is generally going to be just as fast a 5000MB/s PCIe 4.0 x4 NVME SSD if our network connection is 200MB/s (1 Gigabit per second is roughly 125MB/s).
If our data is very valuable and we cannot tolerate a drive dying, we likely want to consider some form of RAID. Depending on how much storage we need, and how much redundancy we want will determine what RAID level we should go for. Bear in mind, RAID level will also improve read speed on our drive. Otherwise, if we don't really care about drive deaths, could could use any old drive.
1. What sort of operating system would we plan on using?
2. Would this server stay as-is once it's built, or would we want future expand-ability?
For a more complex setup, it may be beneficial to run a hypervisor such as Proxmox and then run virtual machines for whatever we need to do. For a more basic solution, something like Windows 10 or 11 would likely work fine, however.
If we would want future expand-ability, we should consider what that might mean: If NAS functionality is desirable, then a case that can fit a lot of hard drives like a Fractal Define R5 (8 3.5" HDD capacity) might work well, but it likely wouldn't fit a 4090. Something like a Fractal Meshify 2 XL or Define 7 XL might be worth considering: (16 3.5" HDDs and very spacious).