I would like to stand up some self hosted applications that need a significant amount of storage behind them. I’m thinking pixelfed/immich and peertube for now. The intention is to provide a place for my family to store and share photos and videos in an easily accessible place. I would also like to load it up with a long history of media we’ve already accumulated, adding up to about 1TB. I would prefer to host the front end application on a VPS so that I’m not having to rely on my home ISP to serve everything (blocking standard ports and such). However, I want to use the storage I have available at home. Bandwidth is not an issue (500Mbs synchronous). I know these applications can be set up to use object storage from various providers. Has anyone set up self hosted object storage? If so, any recommendations? Another option may be to create an IPSec tunnel or something between the VPN and the home storage to provide file-level access. Perhaps that would perform better? I don’t really want to pay a fat monthly fee for storage when I already have everything stored at home, but I don’t want to host the applications directly from home either. Thinking others have already solved this. Thanks for your input!
That really depends, are you looking for an actual filesystem or (for real) object level storage? Does the frontend have compatibility with s3-type endpoints?
I would recommend a vpn like tailscale to encrypt traffic and not expose your local env to the internet
Here are some self-hosted s3 compatible options: geekflare.com/self-hosted-s3/
Although I think you might want to reconsider your architecture here. If you’re planning on self-hosting the storage for a frontend hosted on a VPS somewhere latency is probably going to make for a pretty bad experience.
singinwhale@lmy.singinwhale.com 1 year ago
I would suggest not separating the storage from the server that far. It would probably be wiser to run the app with less latency to the storage and accept more latency on the web frontend. In short: use your VPS as a gateway only and put the actual host for the respective app into your home behind a VPN.