Check out this list.
Seasoned software developer with a knack for tackling complex technical challenges. When I’m not heads-down coding, I usually indulge in two other passions: exploring the world through travel and creating culinary delights in the kitchen.
Check out this list.
Stripe has pretty robust subscription management. And their APIs are a dream to work with.
Depending on how nerdy you want to be, hledger is pretty robust.
It would take a bit of setup, but you can automate transaction imports and apply rules to categorise transactions automatically.
Check out https://plaintextaccounting.org/ for write-ups, alternatives, etc.
AWS Route53. Lets me keep all my domains in one place. If Cloudflare did .au I’d switch to that.
I use PhotoSync to sync my Apple Photos to my NAS over SMB.
I hope to never have to restore from there. It’s not something you’re to do frequently.
AWS Glacier. I use the Synology plugin that does it automatically on a schedule.
This library looks like it could be a good starting point - https://convert.js.org/
Absolutely. Each server can be entirely standalone, you can just disable federation.
What’s the name of that plugin?
I haven’t dug into the protocol, but I’d imagine communication would be done over HTTPS, which requires a domain.
As others said - use Linux. It’s the defacto server operating system. Windows is clunky and cumbersome. Microsoft even made .NET work across other operating systems, making hosting .NET apps on Linux a breeze.
A super simple (and free) way of exposing your home server to the internet is to use Cloudflare tunnels. That way it doesn’t matter what your IP is, traffic is routed through Cloudflare to your server and your IP is never exposed.
Use Cloudflare for your DNS, and it will offer you additional protection on their free plan.
Tailscale “just works”. Since I’ve set it up I’ve never really thought about using anything else. Adding new devices is seamless.
Seconded, I have an iCloud+ family plan so it was a no-brainer to use their mail. Setup was easy and it supports catch-alls.
What version of docker/docker compose are you running? You can find this by running docker version
and docker compose version
From their documentation, you need 1.24.0 or greater.
https://tailscale.com/kb/1223/funnel/ Maybe?