From 3dcefcfc4ec71be9b530121ec992c3eb530f79ec Mon Sep 17 00:00:00 2001 From: chandanjpanjwani Date: Mon, 5 Jan 2026 11:10:18 +0100 Subject: [PATCH] Added Docker Files: Dockerfile, compose, dockerignore and changed the result_files directory variable for Docker Images in default-values.js --- .dockerignore | 24 ++++++++++++++++++++++++ Dockerfile | 32 ++++++++++++++++++++++++++++++++ compose.debug.yaml | 12 ++++++++++++ compose.yaml | 16 ++++++++++++++++ src/util/default-values.js | 7 ++++++- 5 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 compose.debug.yaml create mode 100644 compose.yaml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0594fec --- /dev/null +++ b/.dockerignore @@ -0,0 +1,24 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/charts +**/docker-compose* +**/compose* +**/Dockerfile* +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +**/LICENSE +**/README.md +**/.txt \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9c7f689 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,32 @@ +# Stage 1 — builder +FROM node:22.19.0 AS builder + +RUN apt-get update && apt-get install python3 git opam ocaml vim \ +libnss3 libdrm2 libgbm1 libx11-xcb1 libxcb-dri3-0 libxtst6 \ +libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libcups2 \ +libasound2 xserver-xorg-video-all xserver-xorg-input-all \ +xserver-xorg-core xinit x11-xserver-utils libgtk-3-dev \ +libxss-dev libxss1 make g++ \ +-yq --no-install-suggests --no-install-recommends \ +&& apt-get clean && rm -rf /var/lib/apt/lists/* + +WORKDIR /deepsec_ui +COPY . . +ENV DISPLAY=:0 + +#Setting deepsec api path +ENV PATH="$PATH:/deepsec_ui/deepsec/" + +# install exact deps and perform an electron build +RUN npm ci --no-audit --prefer-offline +RUN npm run electron:build + +RUN git clone https://github.com/DeepSec-prover/deepsec.git + + +RUN opam init -a -y --disable-sandboxing \ +&& opam install ocamlfind ocamlbuild -y +RUN cd deepsec && eval $(opam env) && make + +CMD bash + diff --git a/compose.debug.yaml b/compose.debug.yaml new file mode 100644 index 0000000..f39daaf --- /dev/null +++ b/compose.debug.yaml @@ -0,0 +1,12 @@ +services: + deepsecui: + image: deepsecui + build: + context: . + dockerfile: ./Dockerfile + environment: + NODE_ENV: development + ports: + - 8080:8080 + - 9229:9229 + command: ["node", "--inspect=0.0.0.0:9229", "background.js"] diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..11f23f2 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,16 @@ +services: + deepsecui: + image: deepsecui + build: + context: . + dockerfile: ./Dockerfile + environment: + NODE_ENV: production + ports: + - 8080:8080 + volumes: + - result_files:/home/node/.deepsec/result_files + +volumes: + result_files: + driver: local diff --git a/src/util/default-values.js b/src/util/default-values.js index 6959545..e48a47b 100644 --- a/src/util/default-values.js +++ b/src/util/default-values.js @@ -20,7 +20,12 @@ function getAppDataRoot () { } } -const resultsDirPath = path.join(getAppDataRoot(), "Deepsec", "result_files"); +let resultsDirPath = path.join(getAppDataRoot(), "Deepsec", "result_files"); + +// For Docker Image: setting the path to the result files +if (process.platform == "linux") { + resultsDirPath = path.join(HOME, ".deepsec", "result_files"); +} const defaultValues = { showHelpers: true,