Skip to content

bug(extensions): 29 community extensions hardcode 127.0.0.1: — missing ${BIND_ADDRESS:-127.0.0.1} pattern from PR #964 #458

@yasinBursali

Description

@yasinBursali

Severity: High
Category: Docker Config / Networking
Platform: All
Confidence: Confirmed (all 29 files inspected)

Description

PR Light-Heart-Labs#964 (merged 2026-04-15) mandated the pattern ${BIND_ADDRESS:-127.0.0.1}:<host>:<container> for all user-facing port bindings. The default is secure loopback; --lan / dashboard / .env opts into 0.0.0.0. Core services (open-webui, dashboard, litellm, qdrant, searxng, etc.) were updated. All 29 community extensions in resources/dev/extensions-library/services/ still hardcode 127.0.0.1: and were not migrated. In LAN mode, every community extension is silently unreachable from other devices on the network — no error is produced; the ports simply don't appear on the external interface.

Affected File(s)

All community extension compose files:

  • resources/dev/extensions-library/services/anythingllm/compose.yaml:68
  • .../audiocraft/compose.yaml:107
  • .../bark/compose.yaml:141
  • .../baserow/compose.yaml:212
  • .../chromadb/compose.yaml:240
  • .../continue/compose.yaml:295
  • .../crewai/compose.yaml:360
  • .../flowise/compose.yaml:405
  • .../forge/compose.yaml:443
  • .../frigate/compose.yaml:476-479 (4 ports)
  • .../gitea/compose.yaml:538-539 (2 ports)
  • .../immich/compose.yaml:567
  • .../invokeai/compose.yaml:664
  • .../jupyter/compose.yaml:692
  • .../label-studio/compose.yaml:745
  • .../langflow/compose.yaml:782
  • .../librechat/compose.yaml:862
  • .../localai/compose.yaml:953
  • .../milvus/compose.yaml:986
  • .../ollama/compose.yaml:1024
  • .../open-interpreter/compose.yaml:1070
  • .../paperless-ngx/compose.yaml:1115
  • .../piper-audio/compose.yaml:1202
  • .../privacy-shield/compose.yaml:1263
  • .../rvc/compose.yaml:1291
  • .../sillytavern/compose.yaml:1336
  • .../text-generation-webui/compose.yaml:1369-1370 (2 ports)
  • .../weaviate/compose.yaml:1422-1423 (2 ports)
  • .../xtts/compose.yaml:1451

Root Cause

PR Light-Heart-Labs#964 established the project convention but was scoped to core services; the 29 community extensions in the extensions-library were not updated in the same pass. BIND_ADDRESS is registered in .env.schema.json and is set by --lan, dream --lan, and the dashboard network mode. Community extension ports do not consume it.

Evidence

Example — anythingllm:

# resources/dev/extensions-library/services/anythingllm/compose.yaml:68
ports:
  - "127.0.0.1:${ANYTHINGLLM_PORT:-7800}:3001"

Required form (matches core services post-Light-Heart-Labs#964):

ports:
  - "${BIND_ADDRESS:-127.0.0.1}:${ANYTHINGLLM_PORT:-7800}:3001"

Platform Analysis

  • macOS / Linux / Windows-WSL2: All equally affected. BIND_ADDRESS=0.0.0.0 is set via --lan on macOS installer, dream --lan on Linux CLI, and Windows PowerShell installer. All three platforms see the same symptom: core services reachable on LAN, community extensions loopback-only.

Reproduction

  1. Set BIND_ADDRESS=0.0.0.0 in .env (or run dream --lan / install with --lan).
  2. Install any community extension (e.g. anythingllm).
  3. From another device on the same LAN, attempt to connect to http://<server-ip>:7800.
  4. Observed: Connection refused. The port is not bound on any external interface.
  5. Expected: Core services (open-webui at :3000, dashboard at :8080, etc.) reachable from LAN; community extensions should be too.

Impact

Multi-device DreamServer users (NAS server + laptop/phone clients) cannot use any community extension over the LAN. Single-device users unaffected. No error is surfaced anywhere — the UI shows extension as "running" and "enabled". The gap is only visible via ss/netstat/connection attempts from another device.

Suggested Approach

Mechanical find-and-replace across all 29 files: "127.0.0.1:${"${BIND_ADDRESS:-127.0.0.1}:${. BIND_ADDRESS is already in .env.schema.json; no installer changes needed. Single PR covering all 29 files is appropriate — consistent scope, no logic change, matches the PR Light-Heart-Labs#964 pattern.

Labels

bug, docker-config, networking, lan, community-extensions, all-platforms

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions