[Android] Google Chrome does not create a web-app for HA on home screen (HA accessed via reverse proxy)

I’ve made my HA installation externally visible by using nginx reverse proxy in my Synology NAS. Since then I wanted to create another shortcut to HA on my home screen, but the public link that I use to access my HA does not create a web-app shortcut, but a bookmark instead. I mean that after creating the shortcut when I click it - Google Chrome starts and opens a new tab instead of starting as a separate app without the address bar etc.

Seems taht the reverse proxy has somethng to do with HA ability to be accessible as a web-app and instead a bookmark-like shortcut is created.

Any ideas how to fix this??

Any ideas, anyone?

I had the same issue, try to delete the shortcut, log in again from Chrome browser on the phone, enter your credentials and log into Homeassistant then click on the 3 dots and add to home screen. Should appear as an app now.

I’ve tried that numerous times, but it didn’t help me. Do you also have a reverse-proxy in your HA installation? I think that is the only reason of this behaviour.
I’ve even decided to try to build my own app that will embed so called WebView (same as Google Chrome does for generated web-apps), but the WebView component is unable to open the website address of my HA installation.
I can only think about trying to analyze resource load flow in both cases to check what is different in both cases and what causes the problem here.

It’s a pity HA does nto have a dedicated app for Android.


I face exactly the same problem. I do not have a reverse proxy installed, but I used the “duckdns” addon with hass.io and switched the http component to use SSL and the LE certificate generated.

When I add the bookmark from the local URL it still works fine (there is also a popup asking me to create a 1x1 app on the phone), while this doesn’t come when I access HA via https://mydomain.duckdns.org:8123

On the homescreen the icons are also slightly different (the right one is the “correct” one with local URL).


Any ideas? I read that some manifest.json file is used to create the webapp, maybe it contains something invalid in our cases?

Best Regards,

1 Like

Thanks… that workaround helped and it works perfect now.

While the offline method seems to work, the correct way (in my opinion) would be to use port 443 instead of 8123:

Thanks a lot! That worked for me! Totally strange solution and indeed it looks like a bug in Chrome. In the desktop version it opens a full-screen web-app even without this trick, so this is Android Chrome-related.
I wonder if Google knows about it.

Now regarding a ‘correct’ solution. I don’t really agree. 443 is a common HTPS port - that’s true. But it should not make any difference for the browser which port is used for what. The protocol is given in the URL (https://) so Chrome knows that is should try to connect using https and not with plain http. Another thing - it works fine with my default HA port 8123 with HTTPS and the web-app is created without any problem. This only didn’t work for my ‘external’ URL (port 5001) which works via a reverse-proxy.