Skip Navigation

Secure Access and Android Apps

Hi all, I've been in love with the idea of self hosting some essential services for my home and over the past year I've set up a domain, a thin client as a server and installed some docker containers that caught my eye.

Since I'm a bit paranoid about intrusion, and already didn't manage to set up nginx for intranet use, I set up a cloudflare zeroTrust account, since there were a lot of youtube tutorials about that at the time.

So now I've set up zeroTrust with a google auth in between my homeserver and the internet, which suits me just fine and is simple enough my SO is willing to use the set up as well.

The one snag I've hit with this setup is that i can't use companion apps (e.g. paperless, grocy, homeassistant) on my phone, since their API access doesn't cope with coudflare's routing.

Do you have any advice on how to get a set up that has access control and lets companion apps through to the service? I've seen alot of recommendations for wireguard and VPNs, but I'm not sure my wife's company laptop and phone will play nice with those, since I assume I'd have to install a client.

11
11 comments
  • I use Tailscale for secure access to my apps. Trivial to set up and no holes is the firewalls whatsoever.

    1
  • Im not using cloudflare, but I had to add docker container IP to trusted proxies in homeassistant config to allow connection from different domain. This might even not be related to your question, but might be helpful idk

    Wireguard client is so simple to setup, just scan QR code and you can toggle it on/off with a button. Or you can copy paste few lines of config if you cant scan. Just check wireguard app for whatever OS you need (iOS, Android, Windows, Linux), it cant be more simple IMO

    1
  • You can use Service Tokens with Cloudflare Zero Trust (Access). Unfortunately, the companion App then has to support setting custom request headers, in order to send the token. Not many support this in my experience.

    The only other option would be to use Basic Authentication, instead of Cloudflare Access. This isn't as secure, but would be supported by most Apps (since you can simply inline user:password in the API URL). You can even setup a Cloudflare Worker to add basic auth to any Route you want.

    Ideally, would love some hybrid of these approaches, where I can keep Access enabled, but override with basic auth for 'legacy' apps. Don't know of a way to do this though.

    Edit: Forgot to mention a third option, if you just want access while home, you can setup a bypass in Cloudflare Access policies for your home IP address. Then if you really need access when remote, you could also use VPN, but not as seamless of course.

    0
You've viewed 11 comments.