Skip to content

feat: improve embedded install with env reuse, static services, and container naming#597

Open
johnlanni wants to merge 4 commits intoagentscope-ai:hiclaw-controller-refactorfrom
johnlanni:feat/embedded-install-improvements
Open

feat: improve embedded install with env reuse, static services, and container naming#597
johnlanni wants to merge 4 commits intoagentscope-ai:hiclaw-controller-refactorfrom
johnlanni:feat/embedded-install-improvements

Conversation

@johnlanni
Copy link
Copy Markdown
Collaborator

@johnlanni johnlanni commented Apr 10, 2026

Summary

  • Load existing hiclaw-manager.env before defaults so secrets and config survive re-installs (matching hiclaw-install.sh behavior)
  • Fix manager container name: "default" manager uses hiclaw-manager (no suffix) so make uninstall/test scripts can find it
  • Use static service sources for Tuwunel and Element Web in embedded mode, matching setup-higress.sh behavior
  • Add HICLAW_OPENAI_BASE_URL support with correct protocol detection for openai-compat provider
  • Normalize legacy domain values missing :8080 port suffix
  • Add APT_MIRROR build arg to Dockerfile.embedded for faster builds in China
  • Fix test scripts to detect hiclaw-manager container (not just hiclaw-manager-*)

Test plan

  • make build-embedded — verify APT mirror speeds up build
  • make install-embedded && make test-embedded — verify full flow
  • Re-run make install-embedded with existing env file — verify secrets are reused
  • make uninstall-embedded — verify hiclaw-manager container is cleaned up
  • Verify HICLAW_OPENAI_BASE_URL=https://coding.dashscope.aliyuncs.com/v1 creates correct service source with https protocol

🤖 Generated with Claude Code

johnlanni and others added 4 commits April 10, 2026 17:22
…ontainer naming

- Load existing hiclaw-manager.env before defaults so secrets and config
  survive re-installs (matching hiclaw-install.sh behavior)
- Write all key variables to env file with chmod 600
- Normalize legacy domain values missing :8080 port suffix
- Fix manager container name: "default" manager uses "hiclaw-manager"
  (no suffix) so make uninstall/test scripts can find it
- Add ContainerName override to CreateRequest for explicit naming
- Use static service sources (not DNS) for Tuwunel and Element Web in
  embedded mode, matching setup-higress.sh behavior
- Add HICLAW_OPENAI_BASE_URL support: read from env, create DNS service
  source with correct protocol, configure openai-compat provider
- Add APT_MIRROR build arg to Dockerfile.embedded for faster builds
- Fix test scripts to detect hiclaw-manager container (not just
  hiclaw-manager-*)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Element Web runs in the user's browser, so it needs to reach Matrix
via the host-exposed gateway port (127.0.0.1:18080), not the internal
container domain (matrix-local.hiclaw.io:8080) which browsers can't resolve.

Add HICLAW_ELEMENT_HOMESERVER_URL to override the base_url in
start-element-web.sh, and set it in the embedded install script.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Test 14 (git-collab) runs git commands inside the controller container.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Without this, re-installs lose the OpenAI base URL configuration.

Co-Authored-By: Claude Opus 4.6 (1M context) <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.

1 participant