You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.9 KiB
76 lines
1.9 KiB
FROM node:24.0.1-alpine |
|
|
|
# Install Node.js package supergateway |
|
RUN npm install -g supergateway |
|
|
|
# Install system dependencies including build tools |
|
RUN apk update && \ |
|
apk add --no-cache \ |
|
python3 \ |
|
py3-pip \ |
|
python3-dev \ |
|
bash \ |
|
screen \ |
|
rust \ |
|
cargo \ |
|
cmake \ |
|
make \ |
|
g++ \ |
|
clang \ |
|
llvm-dev \ |
|
clang-dev |
|
|
|
### Python-based tools |
|
|
|
# Install bindgen-cli required by aws-lc-sys (dependency of uvx) |
|
RUN cargo install --force --locked bindgen-cli |
|
|
|
# Add cargo bin to PATH |
|
ENV PATH="/root/.cargo/bin:${PATH}" |
|
ENV LIBCLANG_PATH="/usr/lib/llvm19/lib/" |
|
|
|
# create venv |
|
RUN python3 -m venv /venv && \ |
|
echo "source /venv/bin/activate" >> /root/.profile && \ |
|
/venv/bin/pip install --no-cache-dir uvx uvenv mcp-server-fetch matplotlib numpy pyyaml |
|
ENV PATH="/venv/bin:${PATH}" |
|
|
|
### Node-based tools |
|
|
|
# Clone, install dependencies, and build google-search-mcp-server |
|
RUN apk update && apk add --no-cache git |
|
RUN git clone https://github.com/ayush-rudani/google-search-mcp-server.git /opt/google-search-mcp-server && \ |
|
apk add --no-cache git && \ |
|
cd /opt/google-search-mcp-server && \ |
|
npm install && \ |
|
npm run build |
|
|
|
# Install global dependencies for Node.js-based MCP servers |
|
RUN npm install -g \ |
|
@modelcontextprotocol/server-google-maps \ |
|
@modelcontextprotocol/server-filesystem \ |
|
@upstash/context7-mcp \ |
|
@modelcontextprotocol/server-puppeteer \ |
|
@wonderwhy-er/desktop-commander@latest \ |
|
mcp-communicator-telegram \ |
|
mcp-cli-exec |
|
|
|
RUN npx @wonderwhy-er/desktop-commander@latest setup |
|
|
|
# chromium and x11 buffer (xvfb) for puppeteer |
|
RUN apk add chromium |
|
RUN apk add xvfb xvfb-run |
|
|
|
# Clean up apk cache |
|
RUN rm -rf /var/cache/apk/* |
|
|
|
# Ensure Python user binaries are in PATH |
|
ENV PATH="/root/.local/bin:${PATH}" |
|
|
|
WORKDIR /app |
|
|
|
EXPOSE 8000 |
|
|
|
ENTRYPOINT ["supergateway"] |
|
|
|
CMD ["--help"]
|
|
|