From 526c3808360600fe6ed2cc57e94c22e47b9c9d54 Mon Sep 17 00:00:00 2001 From: Yan Levin Date: Fri, 21 Aug 2026 03:28:09 -0500 Subject: [PATCH 1/5] Add Dockerfile for demo install --- .dockerignore | 9 +++++++++ Dockerfile | 13 +++++++++++++ README.md | 28 ++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a515917 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +**/target +eval/ +.cursor/ +*.iml +.idea/ +.vscode/ +.DS_Store +**/.DS_Store diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4676555 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM eclipse-temurin:8-jdk + +RUN apt-get update && apt-get install -y --no-install-recommends \ + maven wget zstd netcat-openbsd \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /estore +COPY . . + +RUN ./s install_estore + +EXPOSE 1234 +CMD ["/bin/bash"] diff --git a/README.md b/README.md index df3afef..ec23328 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,34 @@ is a table of references to objects on the heap, which users can manipulate the same way as any other object on the heap in their programs. +## Requirements + +- Java 8 +- Maven +- wget, zstd, tar, gzip +- `nc` (netcat) for the TCP query demo + +We also provide a Docker image with Java 8, Maven, and an installed +eStore repository. Build and run it with: + +```bash +docker build -t estore . +docker run --rm -it -p 1234:1234 estore +``` + +## Install + +```bash +./s install_estore +``` + +This runs dependency checks, downloads test data, and installs +the `estore` Maven module. See +[Getting Started](#getting-started-with-development) for a fuller +local workflow. After install, start the TCP query server with +`./s exec_estore`, then query it with +`echo 'MATCH (n) RETURN n' | nc localhost 1234`. + ## Examples 1. Capturing a Java object graph and querying it with Cypher-like syntax. From bfd37b2a3a8a3ea075fd01b59441c52e38466362 Mon Sep 17 00:00:00 2001 From: Yan Levin Date: Sat, 22 Aug 2026 15:30:38 -0500 Subject: [PATCH 2/5] replaced eclipse java with openjdk --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4676555..f57ae65 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,9 @@ -FROM eclipse-temurin:8-jdk +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ - maven wget zstd netcat-openbsd \ + openjdk-8-jdk maven wget zstd netcat-openbsd \ && rm -rf /var/lib/apt/lists/* WORKDIR /estore From 08a512c0f5a713aae28748c688c89bbf13777cd7 Mon Sep 17 00:00:00 2001 From: Yan Levin Date: Sat, 22 Aug 2026 15:31:17 -0500 Subject: [PATCH 3/5] remove duplcation in readme and expand on Docker --- README.md | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index ec23328..6998c5e 100644 --- a/README.md +++ b/README.md @@ -12,33 +12,20 @@ is a table of references to objects on the heap, which users can manipulate the same way as any other object on the heap in their programs. -## Requirements +## Docker -- Java 8 -- Maven -- wget, zstd, tar, gzip -- `nc` (netcat) for the TCP query demo - -We also provide a Docker image with Java 8, Maven, and an installed -eStore repository. Build and run it with: +If you want to run in an isolated container, skip installing Java, +Maven, and the other tools in Prerequisites. Docker installs those +dependencies and ϵStore during the build. Start a shell with: ```bash docker build -t estore . docker run --rm -it -p 1234:1234 estore ``` -## Install - -```bash -./s install_estore -``` - -This runs dependency checks, downloads test data, and installs -the `estore` Maven module. See -[Getting Started](#getting-started-with-development) for a fuller -local workflow. After install, start the TCP query server with -`./s exec_estore`, then query it with -`echo 'MATCH (n) RETURN n' | nc localhost 1234`. +Port 1234 is mapped to the host. Inside the container, run +`./s exec_estore` and query the server as described under Running the +Application. ## Examples From 99658e8527b59c61567bb81ca27f0243b6df05ba Mon Sep 17 00:00:00 2001 From: Yan Levin Date: Sat, 22 Aug 2026 15:46:30 -0500 Subject: [PATCH 4/5] fix version bug in dockerfile --- Dockerfile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f57ae65..4c4e255 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,11 @@ FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update && apt-get install -y --no-install-recommends \ - openjdk-8-jdk maven wget zstd netcat-openbsd \ +# Java 8 first. Installing maven in the same apt command pulls OpenJDK 11. +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + openjdk-8-jdk wget zstd netcat-openbsd \ + && apt-get install -y --no-install-recommends maven \ && rm -rf /var/lib/apt/lists/* WORKDIR /estore From 940d2662843126cda1b9ca2e6c0fe8c504502b48 Mon Sep 17 00:00:00 2001 From: Yan Levin Date: Sat, 22 Aug 2026 15:54:15 -0500 Subject: [PATCH 5/5] updated ubuntu to lts --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4c4e255..66ee760 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive