You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 13, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Aug 13, 2026. It is now read-only.
In the document,https://docs.flowiseai.com/getting-started,can not deploy it ,·
root@app1 Thu Jul 23 [02:06:39] : /opt/Flowise/docker
# docker logs docker-flowise-1
node:fs:1386
const result = binding.mkdir(
^
Error: ENOENT: no such file or directory, mkdir ''
at Object.mkdirSync (node:fs:1386:26)
at Object.<anonymous> (/usr/local/lib/node_modules/flowise/dist/utils/logger.js:46:8)
at Module._compile (node:internal/modules/cjs/loader:1521:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
at Module.load (node:internal/modules/cjs/loader:1266:32)
at Module._load (node:internal/modules/cjs/loader:1091:12)
at Module.require (node:internal/modules/cjs/loader:1289:19)
at require (node:internal/modules/helpers:182:18)
at Object.<anonymous> (/usr/local/lib/node_modules/flowise/dist/utils/index.js:37:34)
at Module._compile (node:internal/modules/cjs/loader:1521:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
at Module.load (node:internal/modules/cjs/loader:1266:32)
at Module._load (node:internal/modules/cjs/loader:1091:12)
at Module.require (node:internal/modules/cjs/loader:1289:19)
at require (node:internal/modules/helpers:182:18)
at Object.<anonymous> (/usr/local/lib/node_modules/flowise/dist/DataSource.js:35:17) {
errno: -2,
code: 'ENOENT',
syscall: 'mkdir',
path: ''
}
Node.js v20.20.2
(base)
Hi @zhuyifeiRuichuang ,
I found your issue related to LOG_PATH in .env file, I think the variable is commented by default, so you just un-comment the variable like
LOG_PATH=/root/.flowise/logs
or
LOG_PATH=/Users/<username>/.flowise/logs
Then use --force-recreate to build docker compose again, it will work.
By the way, you should update all environment in .env having value like your_ (e.g: DATABASE_PATH, BLOB_STORAGE_PATH)
This is fixed by #6031, which has been open since March. It is the same root cause as #6030.
The chain, for anyone landing here from a search:
docker/.env.example has LOG_PATH commented out by default.
docker/docker-compose.yml passes it unconditionally as LOG_PATH=${LOG_PATH}, so an unset
variable becomes an empty string inside the container rather than being absent.
packages/server/src/utils/config.ts reads it with ??:
?? only falls back on null and undefined. An empty string is not nullish, so dir
stays "" instead of taking the default.
packages/server/src/utils/logger.ts then runs fs.mkdirSync(""), which throws exactly the ENOENT: no such file or directory, mkdir '' above.
So it is not a misconfiguration on your side. Following the documented Docker quickstart without
setting LOG_PATH reproduces it every time, which is why the workaround in the comments above,
uncommenting LOG_PATH, does resolve it.
#6031 changes the ?? to ?.trim() ||, which also covers a whitespace-only value.
One thing that might be worth folding into that PR while it is open: logger.ts calls
if(!fs.existsSync(logDir)){fs.mkdirSync(logDir)}
without { recursive: true }. The workaround being suggested here is LOG_PATH=/root/.flowise/logs,
which still fails with ENOENT if /root/.flowise does not already exist. Adding recursive: true
would make both the default and a user-supplied nested path work.
Activity
prd-hoang-doan commentedon Jul 23, 2026
Hi @zhuyifeiRuichuang ,
I found your issue related to
LOG_PATHin.envfile, I think the variable is commented by default, so you just un-comment the variable likeThen use --force-recreate to build docker compose again, it will work.
By the way, you should update all environment in
.envhaving value likeyour_(e.g:DATABASE_PATH,BLOB_STORAGE_PATH)nvroot commentedon Jul 29, 2026
@zhuyifeiRuichuang try this:
alexandrosang21 commentedon Jul 29, 2026
This is fixed by #6031, which has been open since March. It is the same root cause as #6030.
The chain, for anyone landing here from a search:
docker/.env.examplehasLOG_PATHcommented out by default.docker/docker-compose.ymlpasses it unconditionally asLOG_PATH=${LOG_PATH}, so an unsetvariable becomes an empty string inside the container rather than being absent.
packages/server/src/utils/config.tsreads it with??:??only falls back onnullandundefined. An empty string is not nullish, sodirstays
""instead of taking the default.packages/server/src/utils/logger.tsthen runsfs.mkdirSync(""), which throws exactly theENOENT: no such file or directory, mkdir ''above.So it is not a misconfiguration on your side. Following the documented Docker quickstart without
setting
LOG_PATHreproduces it every time, which is why the workaround in the comments above,uncommenting
LOG_PATH, does resolve it.#6031 changes the
??to?.trim() ||, which also covers a whitespace-only value.One thing that might be worth folding into that PR while it is open:
logger.tscallswithout
{ recursive: true }. The workaround being suggested here isLOG_PATH=/root/.flowise/logs,which still fails with ENOENT if
/root/.flowisedoes not already exist. Addingrecursive: truewould make both the default and a user-supplied nested path work.