From 3206e9d48059d534f203eb3b7017e88f24022bc3 Mon Sep 17 00:00:00 2001 From: Fredrik Lindqvist Date: Sat, 17 Oct 2026 16:01:31 +0200 Subject: [PATCH] Detect Podman containers in server mode isDockerContainer() only checked /.dockerenv and "docker" in /proc/self/cgroup. Podman creates neither (it creates /run/.containerenv), so under Podman server mode applied the Windows UNC-only rule and rejected every STL_HOME scan. Also check /run/.containerenv, and only print the "requires UNC paths" startup line when that rule applies. Co-Authored-By: Claude Opus 5.5 --- main.js | 9 ++++++--- scan-worker.js | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/main.js b/main.js index 3940f911..11c8a525 100644 --- a/main.js +++ b/main.js @@ -421,11 +421,12 @@ function isUncPath(path) { // Check if running in Docker container function isDockerContainer() { - // Check for Docker environment indicators + // Check for Docker environment indicators (Podman creates /run/.containerenv instead of /.dockerenv) const hasDockerenv = fs.existsSync('/.dockerenv'); + const hasContainerenv = fs.existsSync('/run/.containerenv'); const hasCgroup = fs.existsSync('/proc/self/cgroup'); const cgroupContainsDocker = hasCgroup && fs.readFileSync('/proc/self/cgroup', 'utf8').includes('docker'); - const result = hasDockerenv || cgroupContainsDocker; + const result = hasDockerenv || hasContainerenv || cgroupContainsDocker; return result; } @@ -1148,7 +1149,9 @@ ${bridgeCode} console.warn('[TLS] Port 80 listener:', err.message); }); } - console.log(`Server mode requires UNC paths for all file operations`); + if (isServerMode && !isDockerContainer()) { + console.log(`Server mode requires UNC paths for all file operations`); + } } resolve(); }; diff --git a/scan-worker.js b/scan-worker.js index 49c1dcf2..57dc27e7 100644 --- a/scan-worker.js +++ b/scan-worker.js @@ -163,6 +163,7 @@ function loadStreamZip() { // vs <1ms for local file systems, so we need more parallel operations to maintain throughput function isDockerContainer() { return require('fs').existsSync('/.dockerenv') || + require('fs').existsSync('/run/.containerenv') || (require('fs').existsSync('/proc/self/cgroup') && require('fs').readFileSync('/proc/self/cgroup', 'utf8').includes('docker')); }