From cad4225ca98b0c966082e947d94a0a1132b56262 Mon Sep 17 00:00:00 2001 From: Kilian Trunk Date: Mon, 17 Aug 2026 10:11:04 +0200 Subject: [PATCH 1/3] chore(dev): fix local notebook image permissions Co-authored-by: Matic Co-authored-by: Tom Soru --- .../lexical-graph-local-dev/docker/docker-compose-dev.yml | 2 +- .../lexical-graph-local-dev/docker/jupyter/Dockerfile.dev | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml b/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml index c8f9435ad..391f95c28 100644 --- a/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml +++ b/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml @@ -1,4 +1,4 @@ -name: local-dev +name: graphrag-toolkit-rdf-dev services: neo4j-local: image: neo4j:5.25-community diff --git a/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev b/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev index ac1a6a1f2..639879316 100644 --- a/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev +++ b/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev @@ -32,6 +32,7 @@ RUN pip install --no-cache-dir \ plotly # LlamaIndex readers (hard imports in lexical-graph source) +USER root RUN pip install --no-cache-dir \ llama-index-readers-web \ llama-index-readers-file \ @@ -42,6 +43,8 @@ RUN pip install --no-cache-dir \ pymupdf # Build tools for packages requiring C compilation (e.g. lru-dict) -USER root -RUN apt-get update && apt-get install -y --no-install-recommends build-essential && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y --no-install-recommends build-essential && \ + rm -rf /var/lib/apt/lists/* && \ + fix-permissions "${CONDA_DIR}" && \ + fix-permissions "/home/${NB_USER}" USER jovyan From a1277c9b4f987733e21bea56ed4cbc500a428704 Mon Sep 17 00:00:00 2001 From: Kilian Trunk Date: Fri, 21 Aug 2026 13:38:38 +0200 Subject: [PATCH 2/3] fix(dev): preserve volumes and install readers as notebook user --- .../docker/docker-compose-dev.yml | 3 +++ .../docker/jupyter/Dockerfile.dev | 10 ++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml b/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml index 391f95c28..a7be0cc24 100644 --- a/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml +++ b/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml @@ -57,5 +57,8 @@ networks: volumes: neo4j_local_data_dev: + name: local-dev_neo4j_local_data_dev neo4j_local_logs_dev: + name: local-dev_neo4j_local_logs_dev pgvector_local_data_dev: + name: local-dev_pgvector_local_data_dev diff --git a/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev b/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev index 639879316..8520069b2 100644 --- a/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev +++ b/examples/lexical-graph-local-dev/docker/jupyter/Dockerfile.dev @@ -9,7 +9,8 @@ RUN conda install -n base -c conda-forge mamba -y && \ pip install --upgrade pip setuptools wheel build backports.tarfile && \ mkdir -p /tmp/pip-cache && chmod 777 /tmp/pip-cache && \ apt-get clean && \ - rm -rf /var/lib/apt/lists/* + rm -rf /var/lib/apt/lists/* && \ + fix-permissions "${CONDA_DIR}" # Set pip cache to avoid warning: 'pip cache not writable' ENV PIP_CACHE_DIR=/tmp/pip-cache @@ -32,7 +33,6 @@ RUN pip install --no-cache-dir \ plotly # LlamaIndex readers (hard imports in lexical-graph source) -USER root RUN pip install --no-cache-dir \ llama-index-readers-web \ llama-index-readers-file \ @@ -43,8 +43,6 @@ RUN pip install --no-cache-dir \ pymupdf # Build tools for packages requiring C compilation (e.g. lru-dict) -RUN apt-get update && apt-get install -y --no-install-recommends build-essential && \ - rm -rf /var/lib/apt/lists/* && \ - fix-permissions "${CONDA_DIR}" && \ - fix-permissions "/home/${NB_USER}" +USER root +RUN apt-get update && apt-get install -y --no-install-recommends build-essential && rm -rf /var/lib/apt/lists/* USER jovyan From bfe6860cbd77d19fcb3cc9e05870bc25665521d5 Mon Sep 17 00:00:00 2001 From: Kilian Trunk Date: Fri, 21 Aug 2026 13:41:10 +0200 Subject: [PATCH 3/3] docs(dev): explain pinned Compose volume names --- .../lexical-graph-local-dev/docker/docker-compose-dev.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml b/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml index a7be0cc24..da95d1ab2 100644 --- a/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml +++ b/examples/lexical-graph-local-dev/docker/docker-compose-dev.yml @@ -56,6 +56,10 @@ networks: driver: bridge volumes: + # Pin explicit volume names so a Compose project rename does not orphan + # existing data. With an explicit name Compose uses it verbatim (no project + # prefix), so these always map to the same on-disk volumes regardless of the + # top-level `name:`. neo4j_local_data_dev: name: local-dev_neo4j_local_data_dev neo4j_local_logs_dev: