Spaces:
Paused
Paused
| # 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"] |