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

Labels

bugSomething isn't workingenhancement: platformRequest for support on other platforms.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions