> Plus using your own machines allows you to do <i>immoral stuff</i>, such as pushing 100 MB files, if you feel like it. I have versioned controlled, quite a few mega-repos where the primary content is not text files at all. Shame me all you want, but being able to time-travel through my photo/video collections is fantastic. I don't really care that my 2 GB repo takes 4 GB on disk...<p>If one wants to avoid the downsides of just checking in big binary blobs, git-annex[1] is fantastic for maintaining archives (<i>not</i> backups). It also tracks locations of files (which of my drives is this file on?) in a completely peer-to-peer eventually consistent manner. It has a nearly unreasonable amount of features in multiple layers, though.<p>(Tip: set annex.largefiles[2] to avoid messing up your repo when you inevitably type `git add` instead of `git annex add`.)<p>[1] <a href="https://git-annex.branchable.com/" rel="nofollow noreferrer">https://git-annex.branchable.com/</a><p>[2] <a href="https://git-annex.branchable.com/tips/largefiles/" rel="nofollow noreferrer">https://git-annex.branchable.com/tips/largefiles/</a>
I used to do the same, without public IP from the VPS.<p>I just used Cloudflare, and a Go package [1] to lock down access to anyone but Cloudflare (because at the time their tunnels required Argo).<p>I now also use a VPS that's dirt cheap [2] if you make it IPv6 only (I have 3 in 3 different availability zones for about 1.5€/mo, it's insane). Cloudflare exposes it as IPv4+IPv6.<p>Compute light stuff comes from the VPS, compute heavy is proxied home instead.<p>[1]: <a href="https://pkg.go.dev/github.com/ncruces/go-cloudflare/origin" rel="nofollow noreferrer">https://pkg.go.dev/github.com/ncruces/go-cloudflare/origin</a><p>[2]: <a href="https://www.scaleway.com/en/stardust-instances/" rel="nofollow noreferrer">https://www.scaleway.com/en/stardust-instances/</a>
I love this. Somehow people forgot how far simple things such as a VPS, some reverse proxies and some hand-written short tools in whatever language can bring you. For me, crappy little tools is the way to success. Perfection is the opposite of good.
> It can do live migrations to any device on my LAN, with zero downtime. KVM is really cool! It transfers the RAM continuously until it's fully synced. This takes about 30 seconds.<p>Yes! It can take hours or days if you're moving a large machine with tons of traffic, too. Everything is fast for small <i>n</i>.<p>This doesn't make it less cool, though.