Implement dashboard port from environment variable ESPHOME_DASHBOARD_PORT

This commit is contained in:
zhudhjen 2024-08-07 12:31:26 -07:00
parent 4b91ef5123
commit 59b410980e
3 changed files with 7 additions and 3 deletions

View file

@ -889,7 +889,7 @@ def parse_args(argv):
"--port",
help="The HTTP port to open connections on. Defaults to 6052.",
type=int,
default=6052,
default=0,
)
parser_dashboard.add_argument(
"--address",

View file

@ -137,9 +137,10 @@ async def async_start(args) -> None:
await dashboard.async_setup()
sock: socket.socket | None = args.socket
address: str | None = args.address
port: int | None = args.port
start_web_server(make_app(args.verbose), sock, address, port, settings.config_dir)
start_web_server(
make_app(args.verbose), sock, address, settings.port, settings.config_dir
)
if args.open_ui:
import webbrowser

View file

@ -19,6 +19,7 @@ class DashboardSettings:
"password_hash",
"username",
"using_password",
"port",
"on_ha_addon",
"cookie_secret",
"absolute_config_dir",
@ -31,6 +32,7 @@ class DashboardSettings:
self.password_hash: str = ""
self.username: str = ""
self.using_password: bool = False
self.port: int = 6052
self.on_ha_addon: bool = False
self.cookie_secret: str | None = None
self.absolute_config_dir: Path | None = None
@ -45,6 +47,7 @@ class DashboardSettings:
self.using_password = bool(password)
if self.using_password:
self.password_hash = password_hash(password)
self.port = args.port or os.getenv("ESPHOME_DASHBOARD_PORT") or 6052
self.config_dir = args.configuration
self.absolute_config_dir = Path(self.config_dir).resolve()
self.verbose = args.verbose