Skip to content

"Batteries-Included" Docker Image for STDIO #103

Description

@spelech

Description

Publish a secondary Docker image tag (e.g., ghcr.io/spelech/CSharp-MCP-Router:latest-full) that comes pre-installed with Node.js, Python 3, uv, and bun.

Motivation

The official lightweight aspnet:10.0 Docker image lacks the toolchains needed to natively run python/node scripts via stdio. A "batteries-included" tag allows users to rapidly deploy and run stdio backend scripts natively inside the container without having to build custom images or manage sidecar network topologies.

Proposed Implementation (Multi-stage Dockerfile)

We should maintain a single Dockerfile and use multi-stage targets to output both image variants cleanly.

  1. Dockerfile Updates: Extend the final runtime stage into a new runtime-full stage that runs the apt-get commands to install Node.js, Python 3, bun, and uv.
  2. GitHub Actions Updates: Update the CI/CD workflow to build and push both targets concurrently:
    • Build --target runtime ➔ tag as :latest and :vX.X.X
    • Build --target runtime-full ➔ tag as :latest-full and :vX.X.X-full

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions