Skip to content

feat: add minimal docker image build support and remove dashboard bui…#7424

Open
404MaximWang wants to merge 3 commits intoAstrBotDevs:masterfrom
404MaximWang:feat/add-minimal-image
Open

feat: add minimal docker image build support and remove dashboard bui…#7424
404MaximWang wants to merge 3 commits intoAstrBotDevs:masterfrom
404MaximWang:feat/add-minimal-image

Conversation

@404MaximWang
Copy link
Copy Markdown

@404MaximWang 404MaximWang commented Apr 8, 2026

Motivation / 动机

Provide a more lightweight Docker image.
提供更加轻量的镜像。

Remove redundant dashboard compilation steps in the workflow.
移除无用的Dashboard编译工作。

Modifications / 改动点

  • Updated .github/workflows/docker-image.yml to remove unused dashboard build steps as the build artifacts were excluded by .dockerignore anyway.

  • Added Dockerfile.minimal and updated the workflow to support building minimal images.

更改了.github/workflows/docker-image.yml;新增了Dockerfile.minimal

原docker-image.yml文件包含了编译dashboard的内容,然而编译结果的存放路径被列在.dockerignore文件中,也即编译结果不会被打包。本次修改移除了此内容。

增加了minimal镜像的打包工作流以提供更加轻量的镜像。

  • This is NOT a breaking change. / 这不是一个破坏性变更。

Screenshots or Test Results / 运行截图或测试结果

0f089a961e00f4e23434c80c4a70d263

The result of local packaging is shown in the figure. The image size is significantly reduced.

本地打包得到的结果如图。镜像体积显著减小。


Checklist / 检查清单

  • 😊 If there are new features added in the PR, I have discussed it with the authors through issues/emails, etc.
    / 如果 PR 中有新加入的功能,已经通过 Issue / 邮件等方式和作者讨论过。

  • 👀 My changes have been well-tested, and "Verification Steps" and "Screenshots" have been provided above.
    / 我的更改经过了良好的测试,并已在上方提供了“验证步骤”和“运行截图”

  • 🤓 I have ensured that no new dependencies are introduced, OR if new dependencies are introduced, they have been added to the appropriate locations in requirements.txt and pyproject.toml.
    / 我确保没有引入新依赖库,或者引入了新依赖库的同时将其添加到 requirements.txtpyproject.toml 文件相应位置。

  • 😮 My changes do not introduce malicious code.
    / 我的更改没有引入恶意代码。

Summary by Sourcery

Add support for building and publishing both standard and minimal Docker images while simplifying the Docker image workflows.

Enhancements:

  • Introduce a minimal Docker image definition alongside the existing standard image.

CI:

  • Update nightly and release Docker image workflows to build both standard and minimal variants using a matrix strategy and appropriately suffixed tags.
  • Remove redundant dashboard build steps from Docker image workflows since their artifacts are not included in the image build context.

@auto-assign auto-assign bot requested review from Fridemn and Raven95676 April 8, 2026 17:26
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Apr 8, 2026
Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The strategy.matrix definitions for build-nightly-image and build-release-image are duplicated; consider extracting the matrix values (e.g., via YAML anchors or a reusable workflow input) to avoid divergence if the set of image types changes in the future.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The `strategy.matrix` definitions for `build-nightly-image` and `build-release-image` are duplicated; consider extracting the matrix values (e.g., via YAML anchors or a reusable workflow input) to avoid divergence if the set of image types changes in the future.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a minimal multi-stage Dockerfile for AstrBot. The review identifies several critical improvements: copying the entire /usr/local/bin directory is risky and should be scoped, the pip installation commands can be consolidated into a single layer, the runtime dependency installation is largely redundant, and the cleanup of Python cache files should be handled via .dockerignore to effectively reduce image size.

…etter robustness; deduplicate 'uv pip install' command; remove useless 'apt install' and 'find' commands
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant