docs: document the two FILE_SERVER_URL settings (fixes #43)#58
Conversation
…er env var The project has two settings named FILE_SERVER_URL that must agree but which weren't documented together, and one side (the container env var read in computer-use-server/docker_manager.py:44) wasn't exposed via docker-compose.yml at all. The filter in openwebui/functions/computer_link_filter.py:330 builds a regex from its own Valve and silently skips decoration if the URL text embedded by the server doesn't match — no error, no log line, preview just never appears. Surfaced by issue #43. This change is docs + compose plumbing only. No code behavior changes. - docker-compose.yml: expose FILE_SERVER_URL on the computer-use-server service with the previous hardcoded default preserved via ${FILE_SERVER_URL:- http://computer-use-server:8081}. Overridable from .env without editing source. Inline comment points at the filter Valve requirement. - .env.example: documented block under the Computer Use Server section, commented-out example with the matching-Valve warning and a cross-reference to docs/openwebui-filter.md. - docs/openwebui-filter.md: new subsection "Two FILE_SERVER_URL settings — they must match" between the existing "Also check" paragraph and the Valves reference. Covers the failure mode, a side-by-side table of the two settings, how to set them, and the docker-compose -p / renamed container_name pitfall. Amends the preceding paragraph with a link into the new subsection. - docs/KNOWN-BUGS.md: new entry #6 reproducing StevenNotch's scenario in the project's existing Severity/How-it-works/Issue/Workaround format, linking back to the openwebui-filter.md explanation. Notes the rename-the-Valve follow-up as not scheduled. - README.md: FILE_SERVER_URL added to the Configuration table with a link to the canonical docs/openwebui-filter.md subsection. README stays a quickstart; full explanation lives in docs/. Fixes the discoverability half of #43. Actual Valve rename is out of scope here — would break existing deployed Valve configurations. https://claude.ai/code/session_01UMvLz4zxSFSZN3TydK28kc
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 47 minutes and 27 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis pull request introduces a new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/openwebui-filter.md`:
- Line 64: Clarify that using docker compose -p alone does not change the
container_name pinned in our docker-compose.yml (container_name:
computer-use-server) and that the earlier example
`myproject-computer-use-server` incorrectly implies -p will rename the
container; update the sentence around the `docker compose -p myproject / renamed
container_name` example to state that if you change the project name AND you do
not pin container_name, internal hostnames will be prefixed (e.g.,
myproject-computer-use-server), but in this repo the compose file pins
container_name: computer-use-server so -p alone won’t change that; mirror the
same corrected wording in docs/KNOWN-BUGS.md and retain the advice to set
FILE_SERVER_URL to the externally reachable URL when hostnames are renamed.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: aa137503-e667-41c9-bf41-d6d3968655df
📒 Files selected for processing (5)
.env.exampleREADME.mddocker-compose.ymldocs/KNOWN-BUGS.mddocs/openwebui-filter.md
…RL docs CodeRabbit flagged the `-p myproject → myproject-computer-use-server` example as inaccurate: the stock docker-compose.yml pins `container_name: computer-use-server` (line 25), so `docker compose -p` alone does not rename the internal hostname. Mirroring the same imprecision in docs/KNOWN-BUGS.md #6. Reword both to state the actual precondition — the Compose-generated hostname only kicks in when the operator REMOVES or CHANGES the container_name pin (e.g. running two stacks side by side) and/or uses `-p`. Retain the core advice: when the internal hostname isn't browser-reachable, set FILE_SERVER_URL to the external URL and keep the server env var and filter Valve identical. Also update the entry heading + cross-ref anchor to match the new framing. https://claude.ai/code/session_01UMvLz4zxSFSZN3TydK28kc
Summary
Document the two
FILE_SERVER_URLsettings that must agree and plumb the previously-hidden server-side one throughdocker-compose.yml. Fixes the discoverability half of #43 (StevenNotch).The project has two settings named
FILE_SERVER_URL:computer-use-server/docker_manager.py:44, used bymcp_tools.py:847andapp.py:1194to embed URL text into assistant messages and the sub-agent prompt. Wasn't exposed indocker-compose.ymlbefore this PR — users had to edit source to override it.openwebui/functions/computer_link_filter.py:120, used inoutlet()to build a regex that must MATCH the URL text from (1). If they disagree, the filter silently skips decoration. No error, no log line, just no preview.StevenNotch hit this in #43 after running
docker compose -p myprojectwith a renamedcontainer_name— the default internal hostname stopped resolving and only one of the two settings was updated, so the filter regex never matched.Changes
docker-compose.ymlFILE_SERVER_URLon thecomputer-use-serverservice with the previous default preserved via${FILE_SERVER_URL:-http://computer-use-server:8081}. Inline comment links to the docs..env.exampleFILE_SERVER_URL=http://localhost:8081example.docs/openwebui-filter.mdFILE_SERVER_URLsettings — they must match" with a side-by-side table of the two knobs, explicit walkthrough of the silent-failure mode, and a worked example for the-p/ renamed-container case. Amends the preceding "Also check" paragraph with a link into it.docs/KNOWN-BUGS.mddocker compose -p <project>or customcontainer_namein the existing Severity / How it works / Issue / Workaround format. Links back to the openwebui-filter.md explanation.README.mdFILE_SERVER_URLin the Configuration env-var table with a deep-link to the canonical docs subsection.No code behavior changes. No Valve rename (out of scope — would break existing deployed Valve configurations; tracked as a follow-up).
Test plan
python3 -c "import yaml; yaml.safe_load(open('docker-compose.yml'))"→ valid YAML./tests/test-project-structure.sh→ 22/22 PASSgrep -n FILE_SERVER_URL docker-compose.yml .env.example docs/openwebui-filter.md docs/KNOWN-BUGS.md README.md→ all five files consistent (same spelling, same default, same cross-ref target)cp .env.example .env,docker compose up→ existing behavior unchanged (defaulthttp://computer-use-server:8081still flows through)FILE_SERVER_URL=http://192.0.2.1:8081in.env, restart → new value appears in server-emitted file URLshttps://claude.ai/code/session_01UMvLz4zxSFSZN3TydK28kc
Summary by CodeRabbit
New Features
Documentation