Skip to content

docs: Add custom domain configuration for VITE_ALLOWED_HOSTS#727

Closed
leoric-crown wants to merge 1 commit intocoleam00:mainfrom
leoric-crown:docs/add-custom-domain-configuration
Closed

docs: Add custom domain configuration for VITE_ALLOWED_HOSTS#727
leoric-crown wants to merge 1 commit intocoleam00:mainfrom
leoric-crown:docs/add-custom-domain-configuration

Conversation

@leoric-crown
Copy link
Copy Markdown

@leoric-crown leoric-crown commented Sep 22, 2025

Summary

  • Add comprehensive documentation for VITE_ALLOWED_HOSTS configuration to enable custom domain access
  • Fix Docusaurus logo display issues and upgrade React Flow dependency

Changes Made

  • README.md: Added custom domain access section with Caddy reverse proxy example
  • docs/configuration.mdx: Added detailed custom domain configuration documentation
  • CLAUDE.md: Updated with custom domain configuration section
  • Docusaurus fixes: Fixed logo display issues and navbar logo paths
  • Dependencies: Upgraded React Flow from reactflow v11 to @xyflow/react v12 (official package rename)

Problem Solved

Resolves the "Blocked request. This host is not allowed" error when accessing Archon via custom domains like archon.lan through reverse proxies.

Test Plan

  • Verified Docusaurus documentation site builds and displays correctly
  • Confirmed logo display issues are resolved
  • Tested VITE_ALLOWED_HOSTS configuration with archon.lan domain
  • Validated all documentation examples and syntax

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Added comprehensive “Custom Domain Access” guidance, including VITE_ALLOWED_HOSTS usage for single/multiple domains, common scenarios (LAN, reverse proxy, mDNS/Bonjour), example Caddy configuration, and frontend restart notes. Updated configuration docs and quick reference accordingly.
  • Bug Fixes

    • Corrected site logo and icon image paths to ensure assets display properly in the documentation site and homepage.

- Add VITE_ALLOWED_HOSTS documentation to README.md with Caddy example
- Update Docusaurus configuration docs with comprehensive custom domain setup
- Update CLAUDE.md with custom domain configuration section
- Fix Docusaurus logo display issues by using correct logo file paths
- Upgrade React Flow: reactflow v11 → @xyflow/react v12 (official package rename)
- Add example configuration for archon.lan local network access

This enables users to access Archon via custom domains through reverse
proxies like Caddy, addressing the "host not allowed" error when using
custom hostnames.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@leoric-crown leoric-crown force-pushed the docs/add-custom-domain-configuration branch from 0ee2dec to 6861544 Compare September 22, 2025 16:30
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Sep 22, 2025

Walkthrough

Adds documentation for configuring custom domains via VITE_ALLOWED_HOSTS (including examples, use cases, and restart notes), updates quick reference, and includes a Caddy example. Duplicates the new section in README. Adjusts image asset paths for the Docusaurus logo and homepage icon.

Changes

Cohort / File(s) Summary
Custom Domain Docs
README.md, docs/docs/configuration.mdx
Added “Custom Domain” guidance using VITE_ALLOWED_HOSTS (single/multiple domain syntax), common use cases, Caddy config example, and frontend restart note. README contains the section twice.
Asset Path Updates
docs/docusaurus.config.js, docs/src/pages/index.js
Updated logo/icon paths from logo-neon.png to img/logo-neon.png in navbar config and homepage node icon.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I thump my paws on docs so bright,
Domains now hop in, left and right—
VITE_ALLOWED_HOSTS, a tidy trail,
Caddy winds that never fail.
New logos glow where paths align,
Carrots cached, and all is fine. 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The PR description includes a useful Summary, Changes Made list, Problem Solved, and a Test Plan, but it does not follow the repository's required template: it omits the "Type of Change" checkboxes, the "Affected Services" section, the "Testing" header with a "Test Evidence" code block, the Checklist, and explicit "Breaking Changes" and "Additional Notes" sections. Because those template sections are required by the repository, the current description is incomplete for reviewers and for repository auditing. Please update the PR description to match the repository template by adding the "Type of Change" checkboxes and selecting the appropriate option(s), filling the "Affected Services" checkboxes, moving the Test Plan under "Testing" and providing a "Test Evidence" code block with the commands and results used to verify the changes, completing the Checklist items or marking them N/A, and adding explicit "Breaking Changes" and "Additional Notes" (or stating "None") so reviewers have the required context.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "docs: Add custom domain configuration for VITE_ALLOWED_HOSTS" accurately and concisely describes the primary change in the changeset — addition of documentation for VITE_ALLOWED_HOSTS (README and docs) and related docsite asset-path fixes — and is specific enough for a reviewer scanning history. It avoids extraneous detail and correctly highlights the main developer intent.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
docs/docs/configuration.mdx (4)

245-251: Incorrect container-to-container hostnames in examples.

Use lowercase service names in URLs; uppercase “Archon-Server” will not resolve on the bridge network.

Apply:

-- Frontend → Server: `http://Archon-Server:8080`
+- Frontend → Server: `http://archon-server:8080`

260-268: Proxy target hostname should match service name.

Vite proxy config must target archon-server, not Archon-Server.

Apply:

-    target: 'http://Archon-Server:8080',
+    target: 'http://archon-server:8080',

277-288: Same hostname issue for Socket.IO proxy.

Apply:

-    target: 'http://Archon-Server:8080',
+    target: 'http://archon-server:8080',

77-84: Service names in table: match docker-compose and remove nonexistent "archon-docs"

  • Change "Server | Archon-Server" → "Server | archon-server".
  • Do NOT rename "archon-frontend" to "archon-ui" — docker-compose.yml uses archon-frontend.
  • Remove or correct the "Documentation | archon-docs" row; there is no archon-docs service in docker-compose.yml. Either add that service to docker-compose or update the table with the actual service/host-port.

Location: docs/docs/configuration.mdx lines 77–84

🧹 Nitpick comments (3)
docs/src/pages/index.js (2)

7-16: Remove redundant static Lucide import to avoid double-bundling.

Icons are loaded dynamically later; this static import needlessly increases bundle size.

Apply:

-import { 
-    ArrowRight, 
-    Database, 
-    Zap, 
-    Globe, 
-    FileText, 
-    Cpu, 
-    CheckSquare,
-    Plug
-  } from 'lucide-react';

262-288: Make image paths baseUrl-aware.

Absolute paths break if baseUrl changes. Use useBaseUrl for robustness.

Apply:

+import useBaseUrl from '@docusaurus/useBaseUrl';
...
-        <img src="/img/logo-neon.png" alt="Archon" className={styles.archonIcon} />
+        <img src={useBaseUrl('/img/logo-neon.png')} alt="Archon" className={styles.archonIcon} />
docs/docs/configuration.mdx (1)

144-149: Restart command: align container name.

Be consistent with service naming across docs.

Apply:

-docker compose restart archon-frontend
+docker compose restart archon-ui
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 63a92cf and 6861544.

⛔ Files ignored due to path filters (2)
  • docs/package-lock.json is excluded by !**/package-lock.json
  • docs/static/img/logo-neon.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • README.md (1 hunks)
  • docs/docs/configuration.mdx (1 hunks)
  • docs/docusaurus.config.js (1 hunks)
  • docs/src/pages/index.js (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Backend Tests (Python + pytest)
🔇 Additional comments (5)
docs/src/pages/index.js (2)

270-270: Asset path fix LGTM.

Switching to /img/logo-neon.png aligns with the static assets location.


24-41: Verified: @xyflow/react v12 dynamic imports & CSS path are correct.

Importing "@xyflow/react/dist/style.css" is supported and using <ReactFlow proOptions={{ hideAttribution: true }} /> is the correct API in v12.

docs/docusaurus.config.js (1)

134-136: Navbar logo path correction LGTM.

img/logo-neon.png is the correct static path under Docusaurus’ /static. No other changes needed here.

docs/docs/configuration.mdx (1)

106-116: Nice addition: VITE_ALLOWED_HOSTS documentation.

Clear and actionable; matches the PR objective to resolve “host not allowed” errors.

Consider adding a brief note that values should be raw hostnames (no protocol/port), e.g., archon.lan, not http://archon.lan:3737.

README.md (1)

384-387: Standardize docker-compose commands to use the service name "archon-frontend"

docker-compose.yml defines the service as archon-frontend and sets container_name to archon-ui; docs mix both. Use the compose service name for docker compose commands (e.g., keep docker compose restart archon-frontend and change occurrences like docker compose logs -f archon-uidocker compose logs -f archon-frontend), or explicitly state when you mean the container_name.

Likely an incorrect or invalid review comment.

@Wirasm
Copy link
Copy Markdown
Collaborator

Wirasm commented Nov 24, 2025

Solid contribution, please resolve conflicts and reopen if you want us to take a look at this again.

Thank you!

@Wirasm Wirasm closed this Nov 24, 2025
coleam00 added a commit that referenced this pull request Apr 7, 2026
)

* fix(web): add query error states to sidebar and context components (#707)

8 useQuery call sites showed misleading empty states when the backend
was unreachable. Users saw "No conversations yet" or "No workflow runs"
instead of an error indicator, making API failures invisible.

Changes:
- ProjectContext: expose isErrorCodebases through context interface
- Sidebar: show "Failed to load projects — retrying" when codebases query errors
- AllConversationsView: show "Failed to load — retrying" instead of empty state on conversations error
- ProjectDetail: add error branches for both conversations and workflow runs queries
- WorkflowInvoker: return error element instead of null on fetch failure
- MessageList (WorkflowDispatchInline): show ⚠ warning icon instead of infinite spinner on error

Fixes #707

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: Auto-commit workflow artifacts (archon-fix-github-issue)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Tyone88 pushed a commit to Tyone88/Archon that referenced this pull request Apr 16, 2026
…oleam00#727)

* fix(web): add query error states to sidebar and context components (coleam00#707)

8 useQuery call sites showed misleading empty states when the backend
was unreachable. Users saw "No conversations yet" or "No workflow runs"
instead of an error indicator, making API failures invisible.

Changes:
- ProjectContext: expose isErrorCodebases through context interface
- Sidebar: show "Failed to load projects — retrying" when codebases query errors
- AllConversationsView: show "Failed to load — retrying" instead of empty state on conversations error
- ProjectDetail: add error branches for both conversations and workflow runs queries
- WorkflowInvoker: return error element instead of null on fetch failure
- MessageList (WorkflowDispatchInline): show ⚠ warning icon instead of infinite spinner on error

Fixes coleam00#707

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: Auto-commit workflow artifacts (archon-fix-github-issue)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
joaobmonteiro pushed a commit to joaobmonteiro/Archon that referenced this pull request Apr 26, 2026
…oleam00#727)

* fix(web): add query error states to sidebar and context components (coleam00#707)

8 useQuery call sites showed misleading empty states when the backend
was unreachable. Users saw "No conversations yet" or "No workflow runs"
instead of an error indicator, making API failures invisible.

Changes:
- ProjectContext: expose isErrorCodebases through context interface
- Sidebar: show "Failed to load projects — retrying" when codebases query errors
- AllConversationsView: show "Failed to load — retrying" instead of empty state on conversations error
- ProjectDetail: add error branches for both conversations and workflow runs queries
- WorkflowInvoker: return error element instead of null on fetch failure
- MessageList (WorkflowDispatchInline): show ⚠ warning icon instead of infinite spinner on error

Fixes coleam00#707

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: Auto-commit workflow artifacts (archon-fix-github-issue)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

2 participants