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')); }