ramalama icon indicating copy to clipboard operation
ramalama copied to clipboard

Fixes port error when executing container with --rag flag

Open jommco opened this issue 9 months ago • 2 comments

Addresses issue #1162

When ramalama run --rag is executed and port 8080 is already in use, the CLI correctly chooses an available alternative (e.g., 8084). However, the rag_framework script invoked inside the container still assumes port 8080, leading to a Connection refused error at runtime.

Summary by Sourcery

Fix port configuration for RAG framework when running in a container with a dynamically assigned port

Bug Fixes:

  • Resolve connection refused error by passing the dynamically selected port to the rag_framework script inside the container

Enhancements:

  • Add support for dynamically passing the container's port as an environment variable
  • Modify serve command to pass the correct port to rag_framework

jommco avatar Apr 10 '25 18:04 jommco

Reviewer's Guide by Sourcery

This pull request fixes an issue where the RAG framework inside the container was not using the correct port when the user specified a port using the --rag flag and the default port was already in use. The fix involves passing the selected port to the container as an environment variable and using it in the rag_framework run command.

Sequence diagram for running RAG framework with a specified port

sequenceDiagram
    participant User
    participant CLI
    participant Container

    User->>CLI: ramalama run --rag --port 8084
    activate CLI
    CLI->>CLI: Checks if port 8084 is available
    CLI->>Container: docker run ... --env PORT=8084 ...
    activate Container
    Container->>Container: rag_framework run /rag/vector.db --port 8084
    deactivate Container
    deactivate CLI

File-Level Changes

Change Details Files
Pass the selected port to the container via environment variable and command line.
  • Added logic to pass the selected port as an environment variable to the container.
  • Modified the rag_framework run command within the container to use the selected port.
ramalama/model.py

Possibly linked issues

  • #1162: The PR fixes the issue by passing the port number to rag_framework.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on an issue to generate a plan of action for it.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Apr 10 '25 18:04 sourcery-ai[bot]

rag_framework does not take a port option.

rhatdan avatar Apr 10 '25 21:04 rhatdan

@bmahabirbu Could you look to see if this is still an issue and take this PR over if it is?

rhatdan avatar Jul 23 '25 09:07 rhatdan

A friendly reminder that this PR had no activity for 30 days.

github-actions[bot] avatar Aug 23 '25 00:08 github-actions[bot]

https://github.com/containers/ramalama/pull/1761

address the issue plus a few others fixing and merging today

bmahabirbu avatar Aug 23 '25 20:08 bmahabirbu