Skip to content

import services dialog#106

Merged
thestumonkey merged 12 commits into
mainfrom
claude/github-docker-import-SlXNo
Jan 17, 2026
Merged

import services dialog#106
thestumonkey merged 12 commits into
mainfrom
claude/github-docker-import-SlXNo

Conversation

@thestumonkey

Copy link
Copy Markdown
Member

Import services from gh

claude and others added 12 commits January 16, 2026 18:58
- Add backend API endpoints for scanning GitHub repos and detecting
  docker-compose files
- Implement GitHub URL parsing supporting various URL formats
- Add compose file parsing and service/env extraction
- Create ImportFromGitHubModal component with multi-step wizard:
  - URL input with branch selection
  - Compose file detection and selection
  - Service selection from detected services
  - Shadow header configuration interface
  - Environment variables configuration with secret handling
- Add import button to Services page header
- Support importing services with custom shadow headers for routing
- Save imported service configuration to settings store
Add compose file for Agent Zero AI agent framework with:
- Web UI on configurable port (default 50080)
- Support for multiple LLM providers (OpenAI, Anthropic, Google, Groq, etc.)
- Ollama support for local models
- Persistent data volume for memory, knowledge, and settings
- Health check and auto-restart
- Ushadow metadata for service discovery
Extend the import functionality to support both GitHub and Docker Hub:

Backend:
- Add DockerHubImageInfo model with URL parsing
- Add Docker Hub API integration for image info and tags
- Add unified scan endpoint that auto-detects source type
- Add Docker Hub register endpoint that generates compose files
- Support parsing Docker Hub URLs and direct image references

Frontend:
- Update ImportFromGitHubModal to support both sources
- Add source type selector (GitHub/Docker Hub tabs)
- Auto-detect source type from URL input
- Add port and volume configuration for Docker Hub imports
- Add tag selection from available Docker Hub tags
- Streamlined wizard flow for Docker Hub (2 steps vs 4)

Users can now import services from:
- GitHub repositories with docker-compose files
- Docker Hub URLs (e.g., https://hub.docker.com/r/fishaudio/fish-speech)
- Direct image references (e.g., fishaudio/fish-speech)
Change button icon from GitHub to Download and text from "Import from
GitHub" to "Import Service" since the modal now supports both GitHub
and Docker Hub imports.
- Add capabilities field to ImportedServiceConfig model in backend
- Update register endpoints to write provides field to compose x-ushadow metadata
- Add capabilities to frontend API types (DockerHubRegisterRequest, ImportedServiceConfig)
- Add capability selector UI with common options (LLM, TTS, STT, Embedding, Memory, Vision, Image Gen)
- Support selecting multiple capabilities per service
…zard

- Enable selecting multiple services from a compose file with checkboxes
- Add "Select All" / "Deselect All" toggle
- Import all selected services sequentially with per-service error handling
- Add extractErrorMessage helper to properly handle Pydantic validation errors
- Fix React error when backend returns validation error objects
The backend model expects source_url but frontend was sending github_url,
causing a 422 validation error.
- Auto-mark imported services as installed (added=true, enabled=true)
  so they appear in installed services list immediately
- Add "Paste Template" button in env vars section to bulk-add
  environment variables from KEY=value format text
- Supports comments (#) and handles duplicates
- Detects secrets by name pattern (key, secret, password, token)
Renders modal directly to document.body using React Portal,
ensuring it appears centered on screen regardless of parent
container overflow settings.
Updated the Service Catalog modal to use React's createPortal for
proper positioning, matching the Import Service modal behavior.
Changes include:
- Render modal to document.body via createPortal
- Increase z-index to z-[9999] for proper stacking
- Add backdrop-blur-sm for consistent blur effect
- Improve close button styling with hover states
@thestumonkey
thestumonkey merged commit e6690ad into main Jan 17, 2026
2 of 4 checks passed
@thestumonkey
thestumonkey deleted the claude/github-docker-import-SlXNo branch January 17, 2026 19:06
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