mirror of
https://github.com/samvallad33/vestige.git
synced 2026-06-28 21:49:38 +02:00
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.
28 lines
1.2 KiB
Docker
28 lines
1.2 KiB
Docker
# 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"]
|