PortfolioMind / docker /Dockerfile.toolbox
vaha-m's picture
Uploaded from local
6fe7c36 verified
raw
history blame
1.53 kB
# Dockerfile for MCP Toolbox Server
# Runs MCP Toolbox as an HTTP server for Cloud SQL PostgreSQL access
FROM debian:bookworm-slim
# Install dependencies
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
&& rm -rf /var/lib/apt/lists/*
# Set MCP Toolbox version
ARG TOOLBOX_VERSION=v0.18.0
# Detect architecture and download appropriate binary
RUN ARCH=$(dpkg --print-architecture) && \
if [ "$ARCH" = "amd64" ]; then \
TOOLBOX_ARCH="amd64"; \
elif [ "$ARCH" = "arm64" ]; then \
TOOLBOX_ARCH="arm64"; \
else \
echo "Unsupported architecture: $ARCH" && exit 1; \
fi && \
curl -L "https://storage.googleapis.com/genai-toolbox/${TOOLBOX_VERSION}/linux/${TOOLBOX_ARCH}/toolbox" \
-o /usr/local/bin/toolbox && \
chmod +x /usr/local/bin/toolbox
# Verify installation
RUN toolbox --version
# Create credentials directory
RUN mkdir -p /app/credentials
# Copy entrypoint script
COPY docker/entrypoint-toolbox.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Expose port for HTTP server
EXPOSE 5000
# Environment variables for Cloud SQL connection
# These will be provided via docker-compose or docker run
ENV CLOUD_SQL_POSTGRES_PROJECT="" \
CLOUD_SQL_POSTGRES_REGION="" \
CLOUD_SQL_POSTGRES_INSTANCE="" \
CLOUD_SQL_POSTGRES_DATABASE="" \
CLOUD_SQL_POSTGRES_USER="" \
CLOUD_SQL_POSTGRES_PASSWORD="" \
GCP_SERVICE_ACCOUNT_JSON=""
# Run MCP Toolbox via entrypoint script (handles GCP credentials)
ENTRYPOINT ["/entrypoint.sh"]