Hi guys,
I need your help with some configuration related to the temp folder, I 'am trying to deploy my Docker project to an Openshift-OKD Nexus environment (on premise), I resolved to use two images, one for app and another image for NGINX as reverse proxy server, because of some restrictions in Openshift; in my local works fine, but when I pushed the images to Openshift I am getting this error: Error: EACCES: permission denied, mkdir '/opt/node_app/tmp'
I tried to change permissions from the dockerfile
RUN chmod -R a+rwX /opt/node_app
Also, I tried to mount the image to another location (new volume in Openshift) from the dockerfile
RUN mkdir /gaprh/node_app
WORKDIR /gaprh/node_app
RUN chmod -R a+rwX /gaprh/node_app
Also, I tried to change the config file from lib/setup/config.js
From: config.tmpFolder = toSystemPath(config.tmpFolder);
To: config.tmpFolder = '/gaprh/node_app';
And finally, I tried to add the key
"tmpFolder": "/gaprh/node_app/tmp"
in the ../app/config/config.json
But I still facing the error, my question is ¿Where should I change the value of the temp folder? to affect the remote Docker image effectively.
Images were built thru this command:
buildah bud --format=docker --file .wappler/targets/xxx_okd/app/Dockerfile.app --tag srv-osnexus01.my.domain:8006/xxx-backend-app-img:latest .
I'll appreciate any help.
Complete error log
2025-05-09T22:02:21.921Z server-connect:setup:config {
port: '3000',
debug: true,
secret: 'XXXXXXXX',
tmpFolder: '/opt/node_app/tmp',
abortOnDisconnect: false,
createApiRoutes: true,
compression: true,
redis: false,
cron: true,
static: { index: false },
session: {
name: 'talexxxxx.sid',
resave: false,
saveUninitialized: false,
store: { '$type': 'memory', ttl: 86400 }
},
cors: {
origin: true,
methods: 'GET,POST,OPTIONS,PUT,HEAD,PATCH,DELETE,CONNECT',
credentials: true,
allowedHeaders: 'accept,authorization,content-type,origin,referer'
},
csrf: { enabled: false, exclude: 'GET,HEAD,OPTIONS' },
rateLimit: {
enabled: true,
duration: 60,
points: 100,
private: { provider: 'security', duration: 3600, points: 10000 }
},
globals: {},
rateLimiter: {},
mail: {},
auth: {},
oauth: {},
db: {},
s3: {},
jwt: {},
stripe: {},
env: {}
}
2025-05-09T22:02:22.307Z server-connect:setup:session init session store { '$type': 'memory', ttl: 86400 }
Error: EACCES: permission denied, mkdir '/opt/node_app/tmp'
at Object.mkdirSync (node:fs:1364:26)
at module.exports.makeDirSync (/opt/node_app/node_modules/fs-extra/lib/mkdirs/make-dir.js:23:13)
at module.exports (/opt/node_app/lib/setup/upload.js:11:8)
at Object.<anonymous> (/opt/node_app/lib/server.js:67:1)
at Module._compile (node:internal/modules/cjs/loader:1730:14)
at Object..js (node:internal/modules/cjs/loader:1895:10)
at Module.load (node:internal/modules/cjs/loader:1465:32)
at Function._load (node:internal/modules/cjs/loader:1282:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) {
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/opt/node_app/tmp'
}