Skip to content

Conversation

@FuNK3Y
Copy link

@FuNK3Y FuNK3Y commented Nov 12, 2025

What does this implement/fix?

This allows to bind esphome dashboard to a specific network interface within docker.

Access to the esphome dashboard should be protected, as it provides direct access to secrets.

While this can be done with username & password, it is less convenient than offloading that to a reverse proxy and leverage OIDC for seamless SSO.

At the same time, esphome needs direct line of sight with the devices it manages for mdns discovery.

Until now satisfying the 2 conditions was tricky, because the dashboard could not be restricted to a specific interface. While esphome support binding the dashboard to a given ip address (https://esphome.io/guides/cli/#dashboard-command --address) the ip address is oftentimes dynamic in docker.

This PR introduces the following environment variable for docker: DASHBOARD_LISTENING_NETWORK_INTERFACE. When set to the name of the interface (i.e. eth0) the dashboard will only listen on the ip address of that given interface.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • The code change is tested and works locally.

If user exposed functionality or configuration variables are added/changed:

I will update the documentation accordingly - once there is a consensus about the implementation.

Bind the dashboard to the specified network interface IP if set.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant