5 ms·
If you're worried about costs, I run Nextcloud locally in my house, and just deal with the fact it's not externally available. Everything syncs when it is in th
by jerf 4y ago
If you're worried about costs, I run Nextcloud locally in my house, and just deal with the fact it's not externally available. Everything syncs when it is in the house, which is just about always for the laptops and pretty often for the cell phones, and when it is out and about it just doesn't. It all works out.
I have a backup process running on it, but back up disk space is a lot cheaper than live disk space attached to a VM, so it's a lot cheaper than the requisite VM disk space would be.
That said:
"and I think I know how to get that done without getting snagged by one of their runaway expense traps, but I'm not completely sure. I do not trust them not to find some way to slip a thousand dollar bill past me before I realize what their automated system is doing."
This is a per-service concern. EC2 may be old & busted & "just VMs, dude, get cloud native you early 2000s buffoon" & totally uncool... but also precisely because it is just a VM, it is also bounded. It won't blow up on you, because you can't just use 100 times the service you expected. Worst you can do is use the network like crazy, and for as expensive as bandwidth is at large scales, at this scale it's not going to break your bank unless you really screw up. I'm bounded by the fact my home network connection won't let me go too crazy anyhow. (Or on a small T3 instance you can turn on unlimited credits and then run those up, but there's a bound on how large that can be even if you're running 100% full time and it's not huge.)
Just some options. Mastadon is presumably more complicated to run on local resources, you'd still need something with a public IP that can be reached to work correctly.
- BeefWellington 4y agoIf you're worried about costs, I run Nextcloud locally in my house, and just deal with the fact it's not externally available. I do the same but then have a VPN so I can reach it externally. One more thing to maintain but worth it.
- BostonEnginerd 4y agoTailscale works great for this application.
- domh 4y agoI second this. I was using a Cloudflare Tunnel, which worked but meant I had to jump through some hoops setting up an email auth flow that then sent me a verification code Now I use Tailscale (which is free for a single-user account) and it works excellently, without the Cloudflare dependency. No login necessary through the browser like with Cloudflare Tunnel, because you're already authed with Tailscale on the device.
- zzyyxx332211 4y agoI use this with Resilio Sync and custom dns names from Tailscale Magic DNS - life saver!
- sidmitra 4y ago>and just deal with the fact it's not externally available Perhaps wireguard(or tailscale just for this bit). Not saying you have to, having local only as default is perfectly good and safer maybe!
- disiplus 4y agoyeah i have a vpn to my home. i don't have a static ip to my home but i run a script on my mikrotik router to update the A record for the subdomain at cloudns.net that i use for vpn.
- ollien 4y agoYeah, Tailscale is probably a good bet. If you wanted to get a bit more involved, I have a blog post about my setup with OpenVPN (though it does require a hosted box, which may kinda defeat the purpose of having it locally for OP depending on their needs) https://blog.ollien.com/posts/vpn-gateway/ https://blog.ollien.com/posts/vpn-gateway/
- lurker_jMckQT99 4y agoI run Nextcloud "locally" too. It's "local" in the sense that it sits on an laptop-turned-server by my desk [0]. Add a domain name, a simple dynamic DNS [1] and a forwarding rule on your router ; your local machine is now reachable from everywhere. No (useless for that usecase) additional intermediary like Tailscale in the middle. It has the added benefit of allowing you to share everything that is on Nextcloud with people without requiring them to use any VPN/etc. [0] the fact that it runs an a laptop (with its battery) rather than on a workstation provides a UPS on the cheap [1] dynamic DNS can be achieved even using cheap providers such as OVH as long as you get your domain name there https://docs.ovh.com/ie/en/domains/hosting_dynhost/ https://docs.ovh.com/ie/en/domains/hosting_dynhost/
- bentcorner 4y agoRe: dynamic dns, I've just started self-hosting some services and piping them through cloudflare, and I use the docker container oznu/cloudflare-ddns to handle IP changes. Bonus is that I can restrict incoming traffic on the router to cloudflare ip ranges, and use cloudflare tools to restrict traffic. I suppose you could accomplish the same with a VPS but this is all free.
- bityard 4y agoThis would definitely be the ideal solution, and it is certainly how the Internet was intended to be used, but a lot of residential ISPs either frown on hosting services on a residential link, or outright forbid it. Plus, CGNAT is more or less inevitable at this point, might as well embrace it. Like you mention, services like tailscale and cloudflare tunnels are a way around it, but that introduces complexity and additional trust in another company. The main reason I host my stuff on a VPS is because if an attacker finds their way in, I don't want them to have unrestricted access to my home network as well. (And I'm to lazy to set up a DMZ...)
- camdv 4y agoI wouldnt call Tailscale "useless" in that case. If you use Tailscale there, you dont have to port forward, so you have no exposure to the general internet. No one bashing on your port, looking for vulnerabilities. You don't need a DDNS, since Tailscale gives you a fixed address for your machine that persists. So you can set a single CNAME record with your Domain hosting service and you're done. And Tailscale has clients for all platforms, including mobile, so it "just works" with all your devices. It's free for up to 20 devices.
- jtode 4y agoIn my case, I want it everywhere. I operate from a permanent deficit of attention, and I store all of my musical reference material in Google at the moment, because one thing I do always manage to have with me (so far) is my phone, so if someone calls for a song that I don't have memorized I can very quickly pull up the chart no matter what. I've tried making binders, I've tried every suggestion anyone could possibly make, and the ubiquitous available of Google Docs while I have a phone with internet is the only thing that has verifiably made me more productive. It's only gonna be a few tenners per month to have it fully under my control. So what you're saying about AWS seems to be that if I just use EC2 and their cheap storage and stick to things I understand (I understand a rented VM, for instance, and I understand the idea that whatever that VM sends out counts against a quota), that they would have a hard time catching me out, and that also seems true to me. Behind a firewall I'm extremely brave, the fact this is internet-public has me a bit more trepadacious I suppose. I also considered using a local instance to start, but the documentation seems to be very against that and I don't like starting my journey with a new system in defiance of their stated best practices, that seems like the road to a broken heart to me. edit: lots of suggestions to use dyndns type services, problem there is I'm on Starlink and have no public IP available. There might be a cheap bouncing service out there but that's more googling and in the final analysis I can afford to do it the straightforward way.
- Helmut10001 4y agoUse wireguard or cloud flare tunnels - personally, I have connected all the places I regularly spend time with persistent site-2-site IPSEC. Having your own infrastructure is a real blessing and relief from FAANG.
- shmoe 4y agothis is the (modern) way.
- gen220 4y agoYou can run dyndns yourself if your dns provider has an API (e.g. cloudflare). Mine is a ~10 line bash script. Basic idea is `curr_ip=$(curl ifconfig.me | grep smth)`, then `curl -X POST https://your_dns_provider?dn=vpn.jtode.com&new_ip=$curr_ip https://your_dns_provider?dn=vpn.jtode.com&new_ip=$curr_ip`. Run it as a cron, on a schedule that's kind to your IP identification service and kind to your personal SLAs around uptime (mine's set to every 5 minutes). Verizon changes my home IP every couple weeks, by my latest log check. No need to pay for dynamic dns. Self-hosting is a long journey of solving such trivial problems. But it's pretty rewarding when it all fits together. :) Good luck! I have a setup like the one you desire. Some of my services are port-forwarded to the public internet (i.e. the ones with a login screen) behind a local nginx instance. Others are only available on a "local" network, i.e. at home or via a VPN tunnel advertised at secret-vpn.{}.tld.
- jonfw 4y agoI've used openvpn to set up a tunnel into my network before, which worked great. I'd check out wireguard if I were to do that again from scratch, I like netmaker personally
- t-writescode 4y ago> and just deal with the fact it's not externally available I'm confused about this part. The default Docker implementation and Docker AIO implementation expect you to have a website that you point to to make it work. They auto-get SSL certs against that website. Has this not been everyone else's experience?
- jerf 4y agoThe docker image I'm using runs over HTTP just fine. The client can be prompted to use it manually. Since it's only internal, I'm dealing with it (and it doesn't share any passwords). Is it a bad idea? Yeah, sure, but given that it's not publicly routable if you're attacking my HTTP port as far as I'm concerned I've already lost. So there's no security situation that internal HTTPS will change, as far as I'm concerned. If HTTPS was the thing that stopped something, I've still got a problem.
- t-writescode 4y agoMy greater surprise / confusion is that the way the comment was written, it sounded like that was the default implementation and that you were unable to change it (despite wanting to). This was confusing and didn't correspond with my experience.
- deleted 4y ago[deleted]