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.
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.