diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-06-03 22:46:47 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-06-03 22:46:47 +0000 |
| commit | 7388337d3be5cc7f65ef547e30b2e39884dd165b (patch) | |
| tree | 0dc287c9b4f841069a6abf1f5c9a8f28a37bfd9d /internal/cli | |
| parent | c86c3771489c94bf4c15c1deff9d3cb568fbfc46 (diff) | |
feat: add --base-path flag to configure UI URL prefix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli')
| -rw-r--r-- | internal/cli/serve.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/internal/cli/serve.go b/internal/cli/serve.go index 9aa765b..fe0ba8e 100644 --- a/internal/cli/serve.go +++ b/internal/cli/serve.go @@ -23,6 +23,7 @@ import ( func newServeCmd() *cobra.Command { var addr string var workspaceRoot string + var basePath string cmd := &cobra.Command{ Use: "serve", @@ -31,11 +32,12 @@ func newServeCmd() *cobra.Command { if cmd.Flags().Changed("workspace-root") { cfg.WorkspaceRoot = workspaceRoot } - return serve(addr) + return serve(addr, basePath) }, } cmd.Flags().StringVar(&addr, "addr", "127.0.0.1:8484", "listen address (loopback by default; set external_bind_allowed=true in config to bind externally)") + cmd.Flags().StringVar(&basePath, "base-path", "/claudomator", "URL prefix the UI is served under (e.g. /claudomator-oss)") cmd.Flags().StringVar(&workspaceRoot, "workspace-root", "/workspace", "root directory for listing workspaces") cmd.Flags().StringVar(&cfg.ClaudeImage, "claude-image", cfg.ClaudeImage, "docker image for claude agents") cmd.Flags().StringVar(&cfg.GeminiImage, "gemini-image", cfg.GeminiImage, "docker image for gemini agents") @@ -43,7 +45,7 @@ func newServeCmd() *cobra.Command { return cmd } -func serve(addr string) error { +func serve(addr, basePath string) error { if err := config.ValidateBindAddr(addr, cfg.ExternalBindAllowed); err != nil { return err } @@ -175,6 +177,7 @@ func serve(addr string) error { pool.RecoverStaleBlocked() srv := api.NewServer(store, pool, agentRegistry, logger, cfg.ClaudeBinaryPath, cfg.GeminiBinaryPath) + srv.SetBasePath(basePath) if accountant != nil { srv.SetBudget(accountant) } |
