You might want to try Openstack. It is set up for running a multi-tenant cloud.
You might want to try Openstack. It is set up for running a multi-tenant cloud.
Seems to not be paying off though; having whole communities and instances close is pretty inconvenient.
Why does Lemmy even ship its own image host? There are plenty of places to upload images you want to post that are already good at hosting images, arguably better than pictrs is for some applications. Running your own opens up whole categories of new problems like this that are inessential to running a federated link aggregator. People selfhost Lemmy and turn around and dump the images for “their” image host in S3 anyway.
We should all get out of the image hosting business unless we really want to be there.
That could work fine, probably? Or you could use it on the same machine as other stuff.
ZFS zRAID is pretty good for this I think. You hook up the drives from one “pool” to a new machine, and ZFS can detect them and see that they constitute a pool and import them.
I think it still stores some internal references to which drives are in the pool, but if you add the drives from the by-ID directory when making the pool it ought to be using stable IDs at least across Linux machines.
There’s also always Git Annex for managing redundancy at the file level instead of inside the filesystem.
I think you can keep doing the SMB shares and use an overlay filesystem on top of those to basically stack them on top of each other, so that
server1/dir1/file1.txt
andserver2/dir1/file2.txt
andserver3/dir1/file3.txt
all show up in the same folder. I’m not sure how happy that is when one of the servers just isn’t there though.Other than that you probably need some kind of fancy FUSE application to fake a filesystem that works the way you want. Maybe some kind of FUES-over-Git-Annex system exists that could do it already?
I wouldn’t really recommend IPFS for this. It’s tough to get it to actually fetch the blocks promptly for files unless you manually convince it to connect to the machine that has them. It doesn’t really solve the shared-drive problem as far as I know (you’d have like several IPNS paths to juggle for the different libraries, and you’d have to have a way to update them when new files were added). Also it won’t do any encryption or privacy: anyone who has seen the same file that you have, and has the IPFS hash of it, will be able to convince you to distribute the file to them (whether you have a license to do so or not).