Skip to content

Deployment: Dockerfile and Smithery config #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
FROM python:3.10-slim

# Install required system dependencies
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
make \
gcc \
git \
curl \
bash \
&& rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Copy the entire repository into the container
COPY . .

# Set up Python virtual environment and install dependencies
RUN python -m venv diffugen_env \
&& . diffugen_env/bin/activate \
&& pip install --upgrade pip \
&& pip install -r requirements.txt

# Use bash explicitly for the entrypoint as diffugen.sh uses bash-specific syntax.
ENTRYPOINT [ "bash", "diffugen.sh" ]
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,15 @@
<a href="https://github.com/CLOUDWERX-DEV/diffugen/network/members"><img src="https://img.shields.io/github/forks/CLOUDWERX-DEV/diffugen" alt="Forks Badge"/></a>
<a href="https://github.com/CLOUDWERX-DEV/diffugen/issues"><img src="https://img.shields.io/github/issues/CLOUDWERX-DEV/diffugen" alt="Issues Badge"/></a>
<a href="https://github.com/CLOUDWERX-DEV/diffugen/blob/master/LICENSE"><img src="https://img.shields.io/github/license/CLOUDWERX-DEV/diffugen" alt="License Badge"/></a>
</p>
<a href="https://smithery.ai/server/CLOUDWERX-DEV/DiffuGen"><img alt="Installations" src="https://smithery.duckduckgoose.cc/badge/CLOUDWERX-DEV/DiffuGen"></a>

## 📋 Table of Contents

- [Introduction](#-introduction)
- [Features](#-features)
- [System Requirements](#-system-requirements)
- [Installation](#-installation)
- [Installing via Smithery](#installing-via-smithery)
- [Automatic Installation](#automatic-installation)
- [Manual Installation](#manual-installation)
- [Cross-Platform Considerations](#cross-platform-considerations)
Expand Down Expand Up @@ -139,6 +140,14 @@ For troubleshooting dependency issues, consult the [DiffuGen GitHub repository](

## 📥 Installation

### Installing via Smithery

To install DiffuGen automatically for Claude Desktop via Smithery:

```bash
smithery install CLOUDWERX-DEV/DiffuGen
```

### Automatic Installation

The easiest way to install DiffuGen is using the provided setup script:
Expand Down
20 changes: 20 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml

startCommand:
type: stdio
configSchema:
# JSON Schema defining the configuration options for the MCP.
type: object
properties: {}
default: {}
description: No configuration required for DiffuGen server. All parameters are
set via environment variables or default values.
commandFunction:
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
|-
(config) => ({
command: 'bash',
args: ['diffugen.sh'],
env: { }
})
exampleConfig: {}