NAS + Stable Diffusion Home Network Architecture Question

Hi everyone,

Looking to build a home server that will function as a NAS. Wondering if it also makes sense to have it hosting common applications that I use, like stable diffusion, git, jellyfin, or should these only be on each client PC? There are around 8 client PC’s in my home that would like to use these services, ranging from chromebooks to workstation desktops.

I’ve come up with a list of pro’s and con’s of each approach and just wanted some second opinions or thoughts on whether it makes sense or if I’m missing something.

Have GPU in the NAS and run stable diffusion on the NAS
Pro’s:

  • Don’t need a GPU in each client (expensive!)
  • Able to set up batches to run overnight for very large workloads
  • Only have to set up stable diffusion once
  • Able to upgrade clients as time goes on without hassle.

Con’s:

  • May not be as secure as separating out the services into their own server

Having each client running these applications with their own GPU
Pro’s:

  • NAS stays just a NAS.

Con’s:

  • Expensive to buy 8+ clients with similar GPU’s at the moment.
  • Would probably also be not as secure as separating out the services onto their own server.

I’m intermediate in computer security knowledge; one of my fears would be that the NAS could get malware from having stable diffusion (or more likely, a rogue plugin/dependency installed.) Having worked in IT for many years, I’ve seen some of those cryptolockers spread themselves across network shares pretty fast, so I think I’d be vulnerable either way unless I segregate the services to their own server or virtual instance.

Any input or thoughts would be appreciated.

I am not in favor of making your NAS into a multi-purpose server. I would put up a separate system just for hosting compute-heavy and experimental tasks like that, for example for hosting e.g. AUTOMATIC111 Stable Diffusion UI.

You already have a “storage server”, sounds like you need a separate “compute server” too

Would you recommend this even if I don’t have a NAS already?

yes, in general I am in favor of separating out “important data and backups storage” from “experimental dev and compute tasks” and such

ymmv but it does give you a little more peace of mind knowing that your storage server is not being used to run random 3rd party softwares, at least no more than is required

just my thoughts though

Running Gradio and downloading tons of crappy python scrips and potentially pickled models on the same thing you use for personal files is a big yolo. Almost none of these AI researchers is worried about security for now. It doesn’t make sense unless you want to leave it training or generating non stop or something. It’s not a server thing. Play with SD on your desktop.

If you insist then get a Big bad desktop. Setup a VM with GPU passthrough for Torch and stuff. Partition or alternate with other things that use GPU. Setup the base system as a file server (NAS is a buzzword).

2 Likes

I was just thinking earlier today that security wise this might be even worse than node.js. If someone grabs a domain and place a bad package somewhere it would spread so fast.