From 49e646fc710a5f49bd8138b2d91252ddb0326544 Mon Sep 17 00:00:00 2001 From: webcoderz <19884161+webcoderz@users.noreply.github.com> Date: Wed, 29 Jan 2025 09:03:01 -0500 Subject: [PATCH 1/4] adding templating capabilty --- compose.yml | 10 ++++++++-- creds.env.template | 3 +++ Dockerfile => docker/Dockerfile | 18 ++++++++++-------- docker/config.json.template | 15 +++++++++++++++ docker/entrypoint.sh | 7 +++++++ 5 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 creds.env.template rename Dockerfile => docker/Dockerfile (50%) create mode 100644 docker/config.json.template create mode 100644 docker/entrypoint.sh diff --git a/compose.yml b/compose.yml index b0744fb..02bcd15 100644 --- a/compose.yml +++ b/compose.yml @@ -1,12 +1,15 @@ services: mcp-bridge: build: - context: . + context: ./docker + additional_contexts: + requirements: . + dockerfile: Dockerfile develop: watch: - path: mcp_bridge action: rebuild - container_name: mcp-bridge + container_name: mcp-bridge2 ports: - "8000:8000" environment: @@ -15,4 +18,7 @@ services: # - MCP_BRIDGE__CONFIG__JSON= # volumes: # - ./config.json:/mcp_bridge/config.json + volumes: + - ./docker/config.json.template:/mcp_bridge/config.json.template restart: unless-stopped + env_file: ./creds.env diff --git a/creds.env.template b/creds.env.template new file mode 100644 index 0000000..0775b9e --- /dev/null +++ b/creds.env.template @@ -0,0 +1,3 @@ +#############open ai##################### +OPENAI_API_KEY= +OPENAI_API_BASE_URL= \ No newline at end of file diff --git a/Dockerfile b/docker/Dockerfile similarity index 50% rename from Dockerfile rename to docker/Dockerfile index e3d425b..1263b9e 100644 --- a/Dockerfile +++ b/docker/Dockerfile @@ -4,22 +4,24 @@ FROM python:3.12-bullseye RUN pip install --no-cache-dir uv # install npx to run stdio clients (npx) -RUN apt-get update && apt-get install -y --no-install-recommends curl +RUN apt-get update && apt-get install -y --no-install-recommends curl gettext RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - RUN apt-get install -y --no-install-recommends nodejs -COPY pyproject.toml . +COPY --from=requirements pyproject.toml pyproject.toml -## FOR GHCR BUILD PIPELINE -COPY mcp_bridge/__init__.py mcp_bridge/__init__.py -COPY README.md README.md +## FOR GHCR BUILD PIPELINE +COPY --from=requirements README.md README.md +COPY --from=requirements mcp_bridge/__init__.py mcp_bridge/__init__.py +COPY --from=requirements mcp_bridge mcp_bridge RUN uv sync -COPY mcp_bridge mcp_bridge EXPOSE 8000 -WORKDIR /mcp_bridge -ENTRYPOINT ["uv", "run", "main.py"] +COPY config.json.template config.json.template +COPY entrypoint.sh entrypoint.sh + +ENTRYPOINT ["bash", "entrypoint.sh"] diff --git a/docker/config.json.template b/docker/config.json.template new file mode 100644 index 0000000..53ea30a --- /dev/null +++ b/docker/config.json.template @@ -0,0 +1,15 @@ +{ + "inference_server": { + "base_url": "${OPENAI_API_BASE_URL}", + "api_key": "${OPENAI_API_KEY}" + }, + "mcp_servers": { + "fetch": { + "command": "uvx", + "args": ["mcp-server-fetch"] + } + }, + "logging": { + "log_level": "DEBUG" + } +} \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100644 index 0000000..70b900a --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +echo "generating config.json" && \ +echo "........................." && \ +envsubst < config.json.template > config.json && \ +echo "starting mcp_bridge........." && \ +uv run python mcp_bridge/main.py \ No newline at end of file From 5da037b5867ee56f6c9455a4ee5f18aedb00f008 Mon Sep 17 00:00:00 2001 From: webcoderz <19884161+webcoderz@users.noreply.github.com> Date: Wed, 29 Jan 2025 15:18:16 -0500 Subject: [PATCH 2/4] Update compose.yml --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index 02bcd15..9e1199b 100644 --- a/compose.yml +++ b/compose.yml @@ -9,7 +9,7 @@ services: watch: - path: mcp_bridge action: rebuild - container_name: mcp-bridge2 + container_name: mcp-bridge ports: - "8000:8000" environment: From aea9a53dcc8726d40cd5f7073d16306e577dcbfc Mon Sep 17 00:00:00 2001 From: webcoderz <19884161+webcoderz@users.noreply.github.com> Date: Wed, 29 Jan 2025 15:19:21 -0500 Subject: [PATCH 3/4] Update creds.env.template --- creds.env.template | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/creds.env.template b/creds.env.template index 0775b9e..f108023 100644 --- a/creds.env.template +++ b/creds.env.template @@ -1,3 +1,5 @@ #############open ai##################### OPENAI_API_KEY= -OPENAI_API_BASE_URL= \ No newline at end of file +OPENAI_API_BASE_URL= +#########MCP Bridge############### +MCP_BRIDGE_LOG_LEVEL= \ No newline at end of file From 1fa0983c10b1de2dde7659671902ccca3c181893 Mon Sep 17 00:00:00 2001 From: webcoderz <19884161+webcoderz@users.noreply.github.com> Date: Wed, 29 Jan 2025 15:19:54 -0500 Subject: [PATCH 4/4] forgot to save --- docker/config.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/config.json.template b/docker/config.json.template index 53ea30a..f9adc57 100644 --- a/docker/config.json.template +++ b/docker/config.json.template @@ -10,6 +10,6 @@ } }, "logging": { - "log_level": "DEBUG" + "log_level": "${MCP_BRIDGE_LOG_LEVEL}" } } \ No newline at end of file