feat(deploy): self-contained containerd with embedded MCP image

- Add Dockerfile.containerd: multi-stage build that compiles MCP binary,
  assembles rootfs, creates Docker image tar, and bundles it with containerd
- Add containerd-entrypoint.sh: auto-imports MCP image on first start
- Fix MCP image reference: rename busybox_image to image in config,
  use fully-qualified docker.io/library/memoh-mcp:latest everywhere
- Make image ref configurable via config.toml instead of hardcoded
- Simplify deploy.sh: remove manual nerdctl/containerd-install steps
This commit is contained in:
BBQ
2026-02-12 21:25:43 +08:00
parent e63d335c7e
commit c53d35740e
16 changed files with 322 additions and 351 deletions
-12
View File
@@ -40,10 +40,6 @@ if [ "$(uname -s)" = "Darwin" ]; then
fi
"""
[tasks.containerd-install]
description = "Install containerd or verify in Lima"
run = "scripts/containerd-install.sh"
[tasks.swagger-generate]
description = "Generate Swagger documentation"
run = "cd internal/handlers && go generate"
@@ -79,14 +75,6 @@ chmod +x ~/.local/bin/memoh-cli
echo " CLI binary installed to ~/.local/bin/memoh-cli"
"""
[tasks.mcp-image-up]
description = "Build MCP container image"
run = "scripts/mcp-image-up.sh"
[tasks.mcp-image-down]
description = "Remove MCP container image"
run = "scripts/mcp-image-down.sh"
[tasks.compile-mcp]
description = "Build MCP binary into /app and signal container"
run = "scripts/compile-mcp.sh"