Skip to content

Add Docker support with build and publish workflow#2

Merged
sofabeat merged 2 commits into
mainfrom
feature/docker-publish
Mar 30, 2026
Merged

Add Docker support with build and publish workflow#2
sofabeat merged 2 commits into
mainfrom
feature/docker-publish

Conversation

@sofabeat
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds containerization and automated Docker publishing to complement the existing release workflow, enabling distribution via GHCR alongside npm.

Changes:

  • Introduces a multi-stage Dockerfile for building and running the Node/TS service.
  • Adds a docker-publish job to the release workflow to build and push images to GHCR with semver tagging.
  • Adds .dockerignore and updates the changelog to reflect Docker/CI additions.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
Dockerfile Multi-stage build and runtime image definition for the MCP server
.github/workflows/release.yml Adds a GHCR build-and-push job to the release pipeline
.dockerignore Reduces Docker build context and excludes dev-only files
CHANGELOG.md Documents GHCR image publishing and updated release automation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/release.yml Outdated
Comment thread Dockerfile Outdated
Comment thread Dockerfile Outdated
Comment on lines +27 to +29
# Default: stdio transport. Override CMD for HTTP:
# docker run -p 3000:3000 -e PLATFONE_API_KEY=… <image> node dist/index.js --transport=http
EXPOSE 3000
Copy link

Copilot AI Mar 30, 2026

Choose a reason for hiding this comment

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

The Dockerfile comments say the default transport is stdio, but the image still declares EXPOSE 3000. This can be misleading for users and tooling (it suggests the container listens on 3000 by default). Consider either removing EXPOSE (and documenting the HTTP option), or switching the default command to run with --transport=http if HTTP is the expected container mode.

Suggested change
# Default: stdio transport. Override CMD for HTTP:
# docker run -p 3000:3000 -e PLATFONE_API_KEY=… <image> node dist/index.js --transport=http
EXPOSE 3000
# Default: stdio transport (no ports exposed). For HTTP, override CMD:
# docker run -p 3000:3000 -e PLATFONE_API_KEY=… <image> node dist/index.js --transport=http

Copilot uses AI. Check for mistakes.
…l command in Dockerfile

- Address @copilot PR comments
@sofabeat sofabeat merged commit 70cb11c into main Mar 30, 2026
1 check passed
@sofabeat sofabeat deleted the feature/docker-publish branch March 30, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants