diff --git a/.env.example b/.env.example
index 23f00b5..a2096cd 100644
--- a/.env.example
+++ b/.env.example
@@ -3,4 +3,4 @@ HUE_APPLICATION_KEY=replace-with-your-hue-application-key
HUE_VERIFY_TLS=false
COLLECT_INTERVAL_SECONDS=30
LOG_LEVEL=INFO
-
+PUBLISH_ADDRESS=0.0.0.0
diff --git a/README.md b/README.md
index 0ddd25a..65008b3 100644
--- a/README.md
+++ b/README.md
@@ -37,9 +37,9 @@ available.
# Edit .env with the bridge IP and application key.
docker compose up --build -d
```
-4. Open [Grafana](http://localhost:3000) and sign in with `admin` / `admin`. The
+4. Open Grafana at `http://HOST_LAN_IP:3000` and sign in with `admin` / `admin`. The
dashboard is in the **Hue** folder. Change this development password if the port
- will ever be exposed beyond localhost.
+ is reachable by anyone else on your network.
Useful local endpoints:
@@ -47,7 +47,11 @@ Useful local endpoints:
- VictoriaMetrics UI:
- Grafana:
-All published ports bind to `127.0.0.1`. Named Docker volumes retain metrics and
+By default, published ports bind to `0.0.0.0`, making them reachable through the
+host's `192.168.178.x` address. Docker cannot bind to a wildcard subnet such as
+`192.168.178.*`; to listen only on the LAN interface, set `PUBLISH_ADDRESS` in `.env`
+to the host's exact address, for example `192.168.178.42`. Ensure your host firewall
+permits access only from trusted networks. Named Docker volumes retain metrics and
Grafana state across restarts. TLS verification is off by default because Hue bridges
normally use a self-signed certificate; set `HUE_VERIFY_TLS=true` if yours has a
trusted certificate.
diff --git a/docker-compose.yml b/docker-compose.yml
index 2095832..ba4054b 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,7 +9,7 @@ services:
COLLECT_INTERVAL_SECONDS: ${COLLECT_INTERVAL_SECONDS:-30}
LOG_LEVEL: ${LOG_LEVEL:-INFO}
ports:
- - "127.0.0.1:8000:8000"
+ - "${PUBLISH_ADDRESS:-0.0.0.0}:8000:8000"
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/healthz')"]
interval: 30s
@@ -27,7 +27,7 @@ services:
- victoria-metrics-data:/victoria-metrics-data
- ./config/victoriametrics/scrape.yml:/etc/victoriametrics/scrape.yml:ro
ports:
- - "127.0.0.1:8428:8428"
+ - "${PUBLISH_ADDRESS:-0.0.0.0}:8428:8428"
depends_on:
- hue-collector
@@ -43,7 +43,7 @@ services:
- ./config/grafana/provisioning:/etc/grafana/provisioning:ro
- ./config/grafana/dashboards:/var/lib/grafana/dashboards:ro
ports:
- - "127.0.0.1:3000:3000"
+ - "${PUBLISH_ADDRESS:-0.0.0.0}:3000:3000"
depends_on:
- victoriametrics