Skip to content

[FEATURE] separate romm server url into local and external variables #2

@xstar97

Description

@xstar97

Feature Summary

separate the logic for ROMM_SERVER_URL so that a public env variable can be used for external gui items
like see and play on server buttons.

Problem/Use Case

Describe the problem this feature would solve or the use case it would address:

  • I run a kubernetes server and i locked my services down where the ip and port is not exposed, but a internal cluster url is used to linked services together while using ingress(domain) to access services externally.

  • the issue that im currently facing is that i can only use a secured kubernetes internal cluster url to link romm's API to this software but dont have the ability to reference an external url for public linking in some feats of this software.

  • What is the current limitation?

    • a single env variable for both api and external makes it some features not able to work in certain systems/use case.
  • How would this feature improve the user experience?

    • it will allow this gui bits to work a bit better in some systems
  • Who would benefit from this feature?

    • users who run kubernetes or genuinely anyone who locked down services from being accessible via ip:port

Proposed Solution

Describe the solution you'd like to see implemented:

ROMM_SERVER_URL=http://localhost:3000
ROMM_SERVER_URL_PUBLIC=https://romm.example.com
  • How should the feature work?
    • the public variable would be used for external buttons
  • What should the user interface look like?
    • interface shouldnt change much other than showcasing what the variable is set to if applicable
  • How should it integrate with existing features?
    • ROMM_SERVER_URL_PUBLIC is optional and can fallback to ROMM_SERVER_URL in general so its not a breaking change for all users.

Alternative Solutions

Describe any alternative solutions or features you've considered:

  • Are there workarounds available currently?
    • yea....i can give romm an ip and port or live with the gui buttons on this software not functioning by using a url that is for internal linking only
  • What other approaches could solve the same problem?
    • move away from kubernetes /s.

Detailed Design (Optional)

If you have specific ideas about implementation:

User Interface

  • Mockups, wireframes, or descriptions of UI changes
  • New pages, components, or modifications to existing ones

Technical Considerations

  • Database changes required
  • API endpoints needed
  • Integration with external services
  • Performance considerations

Configuration

  • New environment variables or settings
  • Migration requirements
  • Backwards compatibility

Examples

Provide examples of how this feature would be used:

  • Sample workflows
  • Screenshots from other applications (if applicable)
  • User stories

Additional Context

Add any other context, screenshots, or examples about the feature request here.

Priority

How important is this feature to you?

  • Low - Nice to have
  • Medium - Would improve my workflow
  • High - Critical for my use case

Implementation Willingness

  • I am willing to work on implementing this feature
  • I can provide testing and feedback
  • I can help with documentation
  • I would like someone else to implement this

Acceptance Criteria

What would need to be implemented for this feature to be considered complete?

  • Requirement 1
  • Requirement 2
  • Requirement 3
  • Tests written and passing
  • Documentation updated

Related Issues

Link any related issues, discussions, or pull requests.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions