From 2afa2b55d08dc7cfe1c81057735c83955e4350ea Mon Sep 17 00:00:00 2001 From: Christophe Date: Tue, 10 Jun 2025 15:53:05 -0400 Subject: [PATCH 1/3] devops: Substitute GraphQL API for MCP server --- docker/Dockerfile | 19 ++++++++++++++----- docker/docker-compose.yaml | 23 +++++++++++++++++++++-- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 02202b7..657e897 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -4,7 +4,7 @@ WORKDIR /kg-node COPY . . RUN apt-get update && apt-get upgrade -y RUN apt-get install libssl-dev protobuf-compiler -y -RUN CFLAGS='-std=gnu17' cargo build --release --bin sink --bin api +RUN CFLAGS='-std=gnu17' cargo build --release --bin sink --bin mcp-server # Run image FROM debian:bookworm-slim AS run @@ -34,11 +34,20 @@ CMD ./sink \ --neo4j-user $neo4j_user \ --neo4j-pass $neo4j_pass -# GraphQL API image -FROM run AS api -COPY --from=builder /kg-node/target/release/api . +# # GraphQL API image +# FROM run AS api +# COPY --from=builder /kg-node/target/release/api . -CMD ./api \ +# CMD ./api \ +# --neo4j-uri $neo4j_uri \ +# --neo4j-user $neo4j_user \ +# --neo4j-pass $neo4j_pass + +# MCP server image +FROM run AS mcp +COPY --from=builder /kg-node/target/release/mcp-server . + +CMD ./mcp-server \ --neo4j-uri $neo4j_uri \ --neo4j-user $neo4j_user \ --neo4j-pass $neo4j_pass diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index b46672d..477bcd4 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -53,11 +53,30 @@ services: SUBSTREAMS_START_BLOCK: ${SUBSTREAMS_START_BLOCK} memcached_uri: memcached:11211 memcached_default_expiry: "3600" - api: + # api: + # build: + # context: .. + # dockerfile: docker/Dockerfile + # target: api + # ports: + # - "80:8080" + # depends_on: + # neo4j: + # condition: service_healthy + # memcached: + # condition: service_healthy + # environment: + # neo4j_uri: neo4j://neo4j:7687 + # neo4j_user: neo4j + # neo4j_pass: neo4j + # memcached_uri: memcached:11211 + # memcached_default_expiry: "3600" + + mcp: build: context: .. dockerfile: docker/Dockerfile - target: api + target: mcp ports: - "80:8080" depends_on: From 2bec215ba66e78a7f379d447afc5498adf82b14e Mon Sep 17 00:00:00 2001 From: Christophe Date: Tue, 10 Jun 2025 15:53:42 -0400 Subject: [PATCH 2/3] fix: MCP server bind address --- mcp-server/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcp-server/src/main.rs b/mcp-server/src/main.rs index 5e4bcd3..19267da 100644 --- a/mcp-server/src/main.rs +++ b/mcp-server/src/main.rs @@ -22,7 +22,7 @@ use tracing_subscriber::{ {self}, }; -const BIND_ADDRESS: &str = "127.0.0.1:8000"; +const BIND_ADDRESS: &str = "0.0.0.0:8080"; #[tokio::main] async fn main() -> anyhow::Result<()> { From 060ad72bc2322a4ce1e3b62e5dae35c725af567e Mon Sep 17 00:00:00 2001 From: Christophe Date: Tue, 10 Jun 2025 16:25:09 -0400 Subject: [PATCH 3/3] devops: Fix memcached healthcheck --- docker/docker-compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 477bcd4..f18f104 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -1,10 +1,10 @@ services: memcached: - image: memcached:latest + image: memcached:alpine ports: - "11211:11211" healthcheck: - test: echo "version" | (exec 3<>/dev/tcp/localhost/11211; cat >&3; timeout 0.1 cat <&3; exec 3<&-) + test: echo "version" | nc -vn -w 1 127.0.0.1 11211 interval: 1s timeout: 10s retries: 20