Skip to content

Conversation

@sternma
Copy link
Contributor

@sternma sternma commented May 20, 2025

Proposing a way to close #74. Textual now offers the textual-serve library, which allows for self-hosting the web UI with no public server dependency.

This MR contains the entrypoint for the web server, which defaults to only accepting traffic from localhost and serves at 127.0.0.1:8000. You can override this behavior and make it available from anywhere on your network by setting:

export WEB_HOST=0.0.0.0
export WEB_URL="http://10.1.2.3:8000" # replace with desired IP

I'm looking for feedback on how you want to tie this into both the packaging and user onboarding processes. For now, you can clone the branch and serve the web ui using python3 main_web.py.

image image

@sternma sternma marked this pull request as draft May 20, 2025 01:06
@sternma
Copy link
Contributor Author

sternma commented Jun 13, 2025

Hey @dmunozv04 , any thoughts on this? Is this the right direction?

@dmunozv04
Copy link
Owner

Hi there! Thanks for the great work, sorry for taking so long to answer
It's a nice way to do it, but I don't like how textual spawns an extra 'copy' of the app for each browser, and it doesn't offer a simple way to sync them. But since the config UI is really just used once, it shouldn't be a big deal.

It also looks like we'd have to figure out how to pass the config location to the textual app, or find some way to communicate the app with the config editor, having the additional benefit of config hot reloading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Web Interface

2 participants