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.

Comment thread Dockerfile.minimal Outdated
Comment thread Dockerfile.minimal Outdated
Comment thread Dockerfile.minimal Outdated
Comment thread Dockerfile.minimal Outdated
…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