Use Tailscale. Don’t expose the port to the public. You’re good to go. On iOS, the Tailscale app allows for on demand joining of your Tailscale network (when you’re off from your home network for example). This makes it easy. On Android it’s not as direct, can use Tasker to achieve this, it’s not great. But there’s a feature request on their repo too.
Alternatively, there’s Netbird which behaves similarly. I haven’t tried it, but have read good things about it.
Neither are US based as well if that’s a concern for you. Tailscale is Canadian, and Netbird is German. Netbird is completely open source. With Tailscale, the CLI and Android apps are open source, and there’s an open source alternative to the control server called Headscale. But honestly, using their free tier is probably enough (for both services).
Use Tailscale. Don’t expose the port to the public. You’re good to go. On iOS, the Tailscale app allows for on demand joining of your Tailscale network (when you’re off from your home network for example). This makes it easy. On Android it’s not as direct, can use Tasker to achieve this, it’s not great. But there’s a feature request on their repo too.
Alternatively, there’s Netbird which behaves similarly. I haven’t tried it, but have read good things about it.
Neither are US based as well if that’s a concern for you. Tailscale is Canadian, and Netbird is German. Netbird is completely open source. With Tailscale, the CLI and Android apps are open source, and there’s an open source alternative to the control server called Headscale. But honestly, using their free tier is probably enough (for both services).