Skip to content

Default ports conflict with common services (8080, 8000) #684

@jnun

Description

@jnun

Problem

NemoClaw hardcodes four service ports with no override mechanism:

Port Service Common conflicts
8080 OpenShell gateway Jenkins, Tomcat, K8s dashboard, Adminer
8000 vLLM/NIM inference Django dev server, PHP built-in server
18789 Dashboard SSH port forwards
11434 Ollama

On any machine running other development tools, nemoclaw onboard fails at the preflight port check with no way to proceed other than stopping the conflicting service.

Reproduction

$ docker run -d -p 8080:8080 adminer
$ nemoclaw onboard

  !! Port 8080 is not available.
     OpenShell gateway needs this port.

There is no flag, env var, or config file to change the port.

Expected behavior

Users should be able to override ports via environment variables, following the existing process.env.NEMOCLAW_* pattern used by NEMOCLAW_MODEL, NEMOCLAW_PROVIDER, and NEMOCLAW_GPU:

$ export NEMOCLAW_GATEWAY_PORT=8081
$ nemoclaw onboard

Proposed fix

PR #683 adds bin/lib/ports.js (23 lines) that reads NEMOCLAW_GATEWAY_PORT, NEMOCLAW_DASHBOARD_PORT, NEMOCLAW_VLLM_PORT, and NEMOCLAW_OLLAMA_PORT from environment variables with validation and sensible defaults. Five existing files are updated to use the constants instead of hardcoded literals.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions