Ingress access for Tandoor recipes

  1. Install Tandoor recipes and Nginx Proxy Manager add-ons and start them, no need to expose port for the Tandoor recipes add-on.
  2. Open <config>/homeassistant/addons_config/tandoor-recipes/config.yaml, add REMOTE_USER_AUTH: 1, then restart the Tandoor recipes add-on.
  3. Open Nginx Proxy Manager webui, add hass.example.com to access http://homeassistant:8123, tandoor.example.com to access http://db21ed7f-tandoor-recipes:8080. Edit the tandoor item add custom location / with configuration:
set $hass_url $scheme://hass.example.com;
auth_request /_/auth;
auth_request_set $auth_cookie $upstream_http_set_cookie;
auth_request_set $login_url $hass_url$upstream_http_location;
add_header Set-Cookie $auth_cookie always;
error_page 401 =302 $login_url;
proxy_set_header Remote-User admin;
proxy_hide_header X-Frame-Options;

add advanced configuraion:

location = /_/auth {
  internal;
  proxy_pass http://homeassistant:8123/api/ingress/_/auth;
  proxy_pass_request_body off;
  proxy_set_header Content-Length "";
  proxy_set_header X-Ingress-Name tandoor_recipes;
  proxy_set_header X-Original-URI $request_uri;
}
  1. Install ingress integration, add ingress configuration:
ingress:
  tandoor_recipes:
    work_mode: auth
    title: Tandoor recipes
    icon: mdi:silverware-fork-knife
    url:
      match: (\w+://)hass(\..+)
      replace: $1tandoor$2
      default: https://tandoor.example.com

Now you can access Tandoor recipes from HA sidebar without extra login. If you open http://tandoor.example.com/ when HA not logged in, it will automatically redirect to the HA login page.




2 Likes

Thanks, great how-to! I didn’t knew this was possible

Hi!
Thank you for this how-to! This is exactly what I needed!
Unfortunatley, it doesn’t work. If I click on the entry in the sidebar it says “ERR_NAME_NOT_RESOLVED”.
I think this is because of the db21ed7f-tandoor-recipes entry in the reverse proxy, as I can’t access this address from my local network.

Edit:
Ok, I found the error in the configuration.yaml. I use .local instead of .example.com and also no https, so I replaced your line (https://tandoor.example.com) with http://tandoor.local
Now it throws a 500 Internal Server Error. Any ideas why?
Do you know what I am doing wrong or where the problem is?
Thank you ever so much!

I trying this step by step manual … But I cannot make it work :frowning:

same ERR_NAME_NOT_RESOLVED error :frowning: could someone be more elaborate about how it make to work ?