mirror of
https://github.com/samvallad33/vestige.git
synced 2026-06-28 21:49:38 +02:00
Add Dockerfile for MCP registry introspection (Glama) (#95)
Lets registries such as Glama start the server in an isolated sandbox and run the standard MCP stdio introspection (tools/list, resources/list, prompts/list) so the listing passes its checks and scores. - node:20-slim (glibc) base, required because the npm postinstall downloads the prebuilt x86_64-unknown-linux-gnu binary (a -gnu binary will not run on musl/Alpine). - Installs vestige-mcp-server@latest globally; postinstall fetches the binary. - VESTIGE_DATA_DIR=/data keeps memory state inside the container. - ENTRYPOINT vestige-mcp speaks MCP over stdio. Verified locally: npm install + postinstall fetch the binary, the server boots, runs its migrations, and answers initialize + tools/list over stdio.
This commit is contained in:
parent
9e1c386d39
commit
ef4cefaa40
1 changed files with 28 additions and 0 deletions
28
Dockerfile
Normal file
28
Dockerfile
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Dockerfile for running the Vestige MCP server in an isolated sandbox.
|
||||
#
|
||||
# Used by registries such as Glama to start the server and run the standard
|
||||
# MCP stdio introspection exchange (tools/list, resources/list, prompts/list).
|
||||
# The server speaks MCP over stdio, which is exactly what these tools expect.
|
||||
#
|
||||
# Base must be glibc (Debian), not musl/Alpine: the npm postinstall downloads
|
||||
# the prebuilt x86_64-unknown-linux-gnu Rust binary from the GitHub release, and
|
||||
# a -gnu binary will not run on an Alpine/musl image.
|
||||
|
||||
FROM node:20-slim
|
||||
|
||||
# ca-certificates lets the postinstall fetch the release asset over HTTPS.
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install the published package globally. Its postinstall downloads the matching
|
||||
# prebuilt vestige-mcp binary for linux/x64 from the GitHub release.
|
||||
RUN npm install -g vestige-mcp-server@latest
|
||||
|
||||
# Keep all memory data inside the container under a writable path.
|
||||
ENV VESTIGE_DATA_DIR=/data
|
||||
RUN mkdir -p /data
|
||||
|
||||
# Start the MCP server on stdio. The `vestige-mcp` bin execs the native binary
|
||||
# and inherits stdio, so the MCP client talks to it directly.
|
||||
ENTRYPOINT ["vestige-mcp"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue