meow meow i'm gay. look at my cube

yes i'm an adult but if you want the exact number too bad for you


artfight (artfight)
artfight.net/~wingedcatgirl

exodrifter
@exodrifter

I have grown dissatisfied with some of the software and services I use on a daily basis. Even when attempting to use VPS services to host the things I want to use, I have often found that the VPS's that are offered do not match my needs. This is because I often need a server that doesn't have a lot of computational power because I'm more or less the only user but does have lots of storage because I have a lot of data I want to save.

Aside from the price and logistics, there are also privacy concerns I have. So, I have been looking into self-hosted alternatives and found myself with some potential solutions for the things that I use. Recently, I remembered that I could self-host my own server without exposing it to the public internet by using a VPN. This made me really excited, to the point that I even did a stream where I built an insane NAS configuration and I've been talking about or researching self-hosting more or less all day the last few days.

At the suggestion of a user on my Discord server, I will document all of the prospective tools I have chosen and why I have chosen them below.


cohostminorityfeed
@cohostminorityfeed
This page's posts are visible only to users who are logged in.

You must log in to comment.

in reply to @exodrifter's post:

Oh hell yeah, I'm earlier on in a similar journey. Finally got an SBC set up with SyncThing last week so I can have a rolling copy of my main documents on another computer... TailScale sounds really appealing for making those docs accessible from outside my home network. I'm also in the same boat where I'm (rightfully?) scared of opening my network to the public internet, I'd like to avoid that at least for now.

You sound further than me! I haven't done any hardware stuff yet; I've just been playing around with software. I haven't considered using a single board computer for the servers (other than the WoL device)... I wonder if I could get that to happen for a SyncThing and Gitea server too. It could certainly cut down on power costs. What is your SyncThing setup like?

My "server" is just an old raspberry pi 3.5 model B with a 1TB external SSD plugged into it. It's sitting next to my router. There are obviously legit reasons to avoid pis right now; I think all the principles here will work with pretty much any other little low-power computer. (I have a powered USB hub so I can attach more hard drives as needed. I'd ultimately like to set up an HHD that the SSD backs up to every couple weeks.)

Installing SyncThing on the pi (freshly flashed with the CLI-only version of the raspberry pi os) was easy. I just followed this guide:
https://pimylifeup.com/raspberry-pi-syncthing/

I also had to set a static address on my pi, which was pretty easy:
https://pimylifeup.com/raspberry-pi-static-ip-address/

Once I had SyncThing installed on the pi, and I could access its web interface from my main computer, I just installed SyncThing on the main computer too and started sharing my docs. You already know how SyncThing works obv, the only difference here is that the pi is always on, and I'm not using it for any active work. I turned on trash can versioning so if anything gets deleted on the main computer, it'll stick around on the pi until I manually clear it out. Boom, rolling "cloud" back-ups.

I've only had this up and running for a little over a week, so I can't vouch for "this is definitely a good backup solution, you totally won't accidentally delete all your files with a sync error." I have another copy of all the stuff I'm sync'ing while I'm trialing this solution, I recommend doing that just in case.

But it only took a couple hours to set up, and so far everything is working exactly how I expected it too, I'm not seeing any red flags. Once I have another hard drive with less regular, hard back-ups separate from SyncThing, I'll feel really secure. (Or at least as secure as I can feel without an off-site back-up.)

The pi runs great for SyncThing. I'd love to set up pihole (I'd need a new router for this, my leased xfinity router doesn't let me touch the DNS settings), tailscale, maybe a samba share so I can use it as a tiny NAS too. Gitea would obv be super-nice. I don't know when I'd be overloading the pi, but I suspect I can do a lot with just the one board.

I didn't know! Thank you for linking that, I'm interested in checking out Yggdrasil now... though I have a suspicion that I'll stick with Tailscale or Netbird just because it would be easier for my family to use. The security analysis and tips were certainly great to see too.

curious if you have any opinions on openVPN, since it's not in your alternatives. opening remote access of any type is very far down my priority list, so VPNs are one of the least defined "here be dragons" areas in my own self-hosting plans.

syncthing is just wonderful, though, can't recommend it enough. it really is one of those magic foss applications that just magically solves a problem that would otherwise be a thoroughly inflexible service with mass data harvesting or a subscription fee (or secret third thing: both).

the initial appeal of syncthing for me was being an actual solution to my very lazy setup of a desktop hosting common files as an NFS share that other devices can edit. this is the sort of thing that works perfectly for one weekend and then immediately creates woeful copying/updating debt any time a laptop leaves its home network, which you may recognize as a thing laptops are explicitly built to do. i am very smart

i'm using a very simple system of one main device that keeps version history, and anything else just syncs with no extra data on its end. this can really scale up as large as any reasonable home user would want, though. it's funny that you mention rsync and borg, because if you poke around in syncthing spaces you will absolutely see people saying "syncthing is not for backups, please create an actual backup plan, we are begging you"

lawrence systems on youtube has several videos on deploying or configuring syncthing in various use cases, as well as comparing it to nextcloud. disclaimer: i don't know anything about him beyond being a syncthing booster. there's thirty more minutes of level1techs every 48 hours, i can only keep up with so much

the main problem i've had with syncthing is that my most frequently used files can end up out of sync, although this one is really on me for forgetting to save changes before i walk away from something i'm actively editing. syncthing's solution to this is to fork the mismatched version into a sync-conflict file, so nothing's getting deleted. if you have a good way to do file diff this is just an occasional inconvenience.

a couple of other things i'd mention:

the stfolder dotfile that syncthing puts in the root of a share is not optional. if it's deleted, that breaks sync completely. you can just make another one and sync will resume like nothing happened, though. or so i hear. from other people. i don't delete things just to tidy up directories. hah hah

you can turn off global discovery to abstain from external relays, using your local network only. however, if you turn off local discovery, and have not assigned static IPs to synced devices, then none of them will know where the other is and sync will break. or so i hear. from oth

thank you for all of the syncthing tips! i'll try to keep them in mind when setting it up for myself later.

as for openvpn, i've used it at work before and it's alright i suppose. we had some issues with 2fa making it hard to set up the connection through the gui. i hadn't considered it primarily because i didn't want to set up a public-facing server and then worry more about how secure the server was.