Packaging & DistributionΒΆ
This guide covers how to package MCP Gateway for deployment in various environments, including building production containers and generating releases.
π¦ Production Container (Podman or Docker)ΒΆ
Build an OCI-compliant container image using:
make podman # builds using Containerfile with Podman
# or manually
podman build -t mcpgateway:latest -f Containerfile .
Or with Docker (if Podman is not available):
make docker # builds using Containerfile with Docker
# or manually
docker build -t mcpgateway:latest -f Containerfile .
A lite image is also available for use in production, see Containerfile.lite
π Run with TLS (self-signed)ΒΆ
This uses self-signed certs from ./certs/
and runs HTTPS on port 4444
.
π Container Run (HTTP)ΒΆ
This runs the container without TLS on port 4444
.
π VersioningΒΆ
MCP Gateway uses semantic versioning (MAJOR.MINOR.PATCH
) and the version is defined in:
You can bump the version manually or automate it via Git tags or CI/CD.
π Release ArtifactsΒΆ
If you need to ship ZIPs or wheels use the project build tooling:
Outputs land under dist/
. You can then:
- Push to PyPI (internal or public)
- Upload to GitHub Releases
- Package in a
.deb
,.rpm
, etc.
π What's in the Container?ΒΆ
A typical image includes:
- Gunicorn running with
mcpgateway.main:app
- All code, static files, and compiled assets
You can override settings using environment variables at runtime.