Skip to content

feat(BA-7321): add DOCKER install mode deploying the published service images - #13703

Open
kyujin-cho wants to merge 5 commits into
docs/BA-7272/docker-readme-v2from
feat/BA-7321/docker-install-mode-v2
Open

feat(BA-7321): add DOCKER install mode deploying the published service images#13703
kyujin-cho wants to merge 5 commits into
docs/BA-7272/docker-readme-v2from
feat/BA-7321/docker-install-mode-v2

Conversation

@kyujin-cho

Copy link
Copy Markdown
Member

Replaces #13681.

Resolves BA-7321
Resolves #13680

Copilot AI balanced review requested due to automatic review settings August 11, 2026 13:47
@kyujin-cho
kyujin-cho force-pushed the feat/BA-7321/docker-install-mode-v2 branch from 4b5a750 to 01679e7 Compare August 11, 2026 13:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a Docker Compose installer mode for deploying and bootstrapping published Backend.AI service images.

Changes:

  • Adds DOCKER mode plumbing, setup UI, and installation report.
  • Generates and manages containerized services with path-parity mounts.
  • Adds compose-template rendering tests.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/ai/backend/install/types.py Adds Docker install enums.
src/ai/backend/install/context.py Implements Docker deployment and bootstrap orchestration.
src/ai/backend/install/configs/docker-compose.services.yml Defines service containers and mounts.
src/ai/backend/install/app.py Adds Docker setup UI and report.
tests/unit/install/test_docker_services_compose.py Tests compose rendering and service configuration.
tests/unit/install/BUILD Registers installer unit tests.
tests/unit/install/__init__.py Marks the test package.
changes/13681.feature.md Documents the new install mode.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +2357 to +2361
if self.install_variable.accelerator is not None:
raise PrerequisiteError(
"The published lablup/backend.ai-* service images do not yet "
"bundle the accelerator plugins, so --accelerator would produce "
"a broken DOCKER-mode deployment.",
# configure
await ctx.configure()
# post-setup
await ctx.populate_images()
Comment on lines +2569 to +2581
# Post-start health verification: warn (but do not fail the install)
# when some services are not in the running state.
non_running = await self._collect_non_running_services()
if non_running:
self.log.write(
Text.from_markup(
"[yellow bold]:warning: Some service containers are not "
f"running: {', '.join(sorted(non_running))}.[/]\n"
"[yellow]Inspect them with "
f"[bold]docker compose -f {self.SERVICES_COMPOSE_FILENAME} "
"ps / logs <service>[/] before using the deployment.[/]"
)
)
Comment on lines +2594 to +2596
"ps",
"--format",
"json",
Comment on lines +29 to +35
privileged: true
working_dir: {{BASE_PATH}}
command: ["python", "-m", "ai.backend.manager.server", "--config", "{{BASE_PATH}}/manager.toml"]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/machine-id:/etc/machine-id:ro
- {{BASE_PATH}}:{{BASE_PATH}}
fregataa
fregataa previously approved these changes Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500~ LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants