Env var rootDataPath is not fully respected for node
Describe the bug
When the node is started with the env var rootDataPath on a read-only system it fails to download the plugins from server:
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: [2025-03-08T02:46:14.040] [INFO] Tdarr_Node - Downloading plugins from server
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: [2025-03-08T02:46:14.062] [ERROR] Tdarr_Node - Error: ENOENT: no such file or directory, mkdir '/nix/store/c8aqjhfz9vhh7svklslj3hmf0swqiyz0-tdarr-node-2.35.02/assets>
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: at Object.mkdirSync (node:fs:1396:3)
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: at module.exports.makeDirSync (/nix/store/c8aqjhfz9vhh7svklslj3hmf0swqiyz0-tdarr-node-2.35.02/node_modules/fs-extra/lib/mkdirs/make-dir.js:23:13)
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: at downloadPluginsTh (/nix/store/c8aqjhfz9vhh7svklslj3hmf0swqiyz0-tdarr-node-2.35.02/srcug/plugins/downloadPluginsThread.js:1:2250)
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: at process.processTicksAndRejections (node:internal/process/task_queues:95:5){
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: "errno": -2,
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: "syscall": "mkdir",
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: "code": "ENOENT",
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: "path": "/nix/store/c8aqjhfz9vhh7svklslj3hmf0swqiyz0-tdarr-node-2.35.02/assets/app/plugins"
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: }
Mar 08 02:46:14 nixOberon Tdarr_Node[115926]: [2025-03-08T02:46:14.821] [INFO] Tdarr_Node - Running binary tests
To Reproduce
Start the node (version 2.35.02) on a read-only system with env var rootDataPath set to a writable dir
Expected behavior
I expect that the node on a read-only system with rootDataPath set without issus works
Screenshots If applicable, add screenshots to help explain your problem.
Please provide the following information:
- Config files [can be found in /app/configs/ when using Docker or in the /configs folder next to Tdarr_Updater if not using Docker]
{
"nodeName": "localhost",
"serverURL": "http://0.0.0.0:8266",
"serverIP": "0.0.0.0",
"serverPort": "8266",
"handbrakePath": "HandBrakeCLI",
"ffmpegPath": "ffmpeg",
"mkvpropeditPath": "mkvpropedit",
"pathTranslators": [
{
"server": "",
"node": ""
}
],
"nodeType": "mapped",
"unmappedNodeCache": "/opt/tdarr/unmappedNodeCache",
"logLevel": "INFO",
"priority": -1,
"cronPluginUpdate": "",
"apiKey": "",
"maxLogSizeMB": 10,
"pollInterval": 2000,
"startPaused": false,
"ccextractorPath": "ccextractor",
"ffprobePath": "ffprobe"
}
-
Job reports: https://docs.tdarr.io/docs/other/job-reports I don't think this is useful here
-
Log files [can be found in /app/logs/ when using Docker or in the /logs folder next to Tdarr_Updater if not using Docker] See above
-Worker error [can be found on the 'Tdarr' tab by pressing the 'i' button on a failed item in the staged file section or in the transcode error section at the bottom] Also not useful
- OS: Linux
- Browser: Firefox
- Version: 2.35.02
Additional context The server runs with this env var smooth
Well the node needs to download and unzip the plugins from the repository, I'm not sure how that's able to work when you set the rootDataPath to a readonly filesystem?
Sorry, maybe I misspelled something. The node itself is on a read-only filesystem. rootDataPath is set to a writable filesystem.
@Peronia could you try
docker.io/haveagitgat/tdarr_acc:dev_2.37.01_2025_03_30T16_51_04z
docker.io/haveagitgat/tdarr_node_acc:dev_2.37.01_2025_03_30T16_51_04z
https://storage.tdarr.io/dev/versions/2.37.01/win32_x64/Tdarr_Server_2025_03_30T16_51_04z.zip
https://storage.tdarr.io/dev/versions/2.37.01/win32_x64/Tdarr_Node_2025_03_30T16_51_04z.zip
https://storage.tdarr.io/dev/versions/2.37.01/linux_x64/Tdarr_Server_2025_03_30T16_51_04z.zip
https://storage.tdarr.io/dev/versions/2.37.01/linux_x64/Tdarr_Node_2025_03_30T16_51_04z.zip
https://storage.tdarr.io/dev/versions/2.37.01/linux_arm64/Tdarr_Server_2025_03_30T16_51_04z.zip
https://storage.tdarr.io/dev/versions/2.37.01/linux_arm64/Tdarr_Node_2025_03_30T16_51_04z.zip
https://storage.tdarr.io/dev/versions/2.37.01/darwin_arm64/Tdarr_Server_2025_03_30T16_51_04z.zip
https://storage.tdarr.io/dev/versions/2.37.01/darwin_arm64/Tdarr_Node_2025_03_30T16_51_04z.zip
I used this to check if any paths/files not in rootDataPath are being accessed and it seems not:
rm -rdf ./output.txt && inotifywait -m -r -e access,modify,create,delete --format "$(pwd)/%w%f" ./testrootDataPath | grep -v -E "$(pwd)/./testrootDataPath/Tdarr_Updater/Tdarr_Server/node_modules|$(pwd)/./testrootDataPath/Tdarr_Updater/Tdarr_Server/srcug|$(pwd)/./testrootDataPath/Tdarr_Updater/Tdarr_Node/node_modules|$(pwd)/./testrootDataPath/Tdarr_Updater/Tdarr_Node/srcug|$(pwd)/./testrootDataPath/dataServer" >> output.txt
Sorry @HaveAGitGat I don't undestand what you mean exactly. Can you explain it a bit more in detail?
I posted the package links above I was just wondering if you could try them to see if your issue is resolved.
Okay, sorry, now I understand it. I tested both, node and server (without symlinks). The node runs well, plugins can be unpacked and I see no errors. On server side I see no errors too, but all of my status tables are still undefined. The error for which I created a symlink at the old version is gone away.
Hi @HaveAGitGat, what is the current status here?
@Peronia I'm not sure if these 2 things are related. Does it work fine on a writeable system when not using rootDataPath? Could you maybe create a backup of the Tdarr data, then delete it and start Tdarr fresh to see if that fixes the issue which will narrow things down
Hi @HaveAGitGat, I already tried to backup and import. Same behavior, the status tables are not defined. And yes, on a writeable system without rootDataPath it works. I use a Debian system for that.
@HaveAGitGat could you take a look at this? Would be nice to be able to use Tdarr on NixOS.
Hi @HaveAGitGat, any news here?
@gshpychka which issue are you having? rootDataPath issue or status tables are not defined issue?
@Peronia are you able to try on a non-read only file system? Potentially the status tables issue is not related and could be something unrelated like this: https://github.com/HaveAGitGat/Tdarr/issues/1189
So it could be that the browser or OS is not working as expected. If we can confirm it's definitely related to rootDataPath then will make it easier to narrow down the issue.
Hi @HaveAGitGat, as I mentioned at Jun 24, I run Tdarr on a Debian system too. There I have no problems. I don't think it is the browser, I use the same for both systems. The OS could be, but I can't see anything related. the logs don't point anything out. So I would say it is the internal usage of the var. Have you tested it on a read only system with the var pointed to a writable dir?
Yes I tried a few months ago and tried again just now and it's working fine more me.
Try this sh script:
#!/bin/bash
TEST_DIR=testRootDataPath
# Ensure the script is run as the current user
if [ "$(id -u)" -eq 0 ]; then
echo "Please do not run this script as root. Run it as a regular user."
exit 1
fi
sudo rm -rdf ./$TEST_DIR
mkdir -p ./$TEST_DIR/1/2/application
mkdir -p ./$TEST_DIR/1/2/data
mkdir -p ./$TEST_DIR/1/2/media
wget https://storage.tdarr.io/versions/2.49.01/linux_x64/Tdarr_Server.zip -O ./$TEST_DIR/1/2/application/Tdarr_Server.zip
unzip ./$TEST_DIR/1/2/application/Tdarr_Server.zip -d ./$TEST_DIR/1/2/application/Tdarr_Server
wget https://storage.tdarr.io/versions/2.49.01/linux_x64/Tdarr_Node.zip -O ./$TEST_DIR/1/2/application/Tdarr_Node.zip
unzip ./$TEST_DIR/1/2/application/Tdarr_Node.zip -d ./$TEST_DIR/1/2/application/Tdarr_Node
wget https://samples.tdarr.io/api/v1/samples/sample__1080__libx264__aac__30s__video.mkv -O ./$TEST_DIR/1/2/media/sample__1080__libx264__aac__30s__video.mkv
sudo chmod -R a+r,a-w,a+x ./$TEST_DIR
sudo chmod -R a+rwx ./$TEST_DIR/1/2/data
NOT_WRITABLE_PATH=$(realpath ./$TEST_DIR/1/2/test.txt)
WRITABLE_PATH=$(realpath ./$TEST_DIR/1/2/data/test.txt)
# exit if write succeeds
if touch $NOT_WRITABLE_PATH; then
echo "write test succeeded for $NOT_WRITABLE_PATH, this is not expected"
exit 1
else
echo "write test failed for $NOT_WRITABLE_PATH, this is expected"
fi
# exit if write fails
if ! touch $WRITABLE_PATH; then
echo "write test failed for $WRITABLE_PATH, this is not expected"
exit 1
else
echo "write test succeeded for $WRITABLE_PATH, this is expected"
fi
export rootDataPath=$(realpath ./$TEST_DIR/1/2/data)
export serverPort=1266
export webUIPort=1265
./${TEST_DIR}/1/2/application/Tdarr_Server/Tdarr_Server
# ./${TEST_DIR}/1/2/application/Tdarr_Node/Tdarr_Node
Then in a second terminal, start node
export TEST_DIR=testRootDataPath
export rootDataPath=$(realpath ./$TEST_DIR/1/2/data)
export serverPort=1266
./${TEST_DIR}/1/2/application/Tdarr_Node/Tdarr_Node
Then in the UI scan the media path above. The file is showing for me:
All seems working fine:
[2025-10-14T08:53:21.134] [INFO] Tdarr_Node - Downloading plugins from server
[2025-10-14T08:53:21.265] [INFO] Tdarr_Node - Finished downloading plugins from server
Okay, so maybe another issue happens? The log is clear so it might not be the rootDataPath. Maybe a js issue or something like that? I see that in the console when I open the server on a browser:
Firefox kann keine Verbindung zu dem Server unter ws://192.168.230.200:8265/socket.io/?EIO=4&transport=websocket&sid=K6_ht0z_OMC5KXnjAAAC aufbauen. [main.8d4688cb.js:2:2697139](http://192.168.230.200:8265/static/js/main.8d4688cb.js)
XML-Verarbeitungsfehler: Syntax-Fehler
Adresse: https://api.tdarr.io/api/v2/info/pro-notice
Zeile Nr. 1, Spalte 1: 3 [pro-notice:1:1](https://api.tdarr.io/api/v2/info/pro-notice)
XML-Verarbeitungsfehler: nicht wohlgeformt
Adresse: https://api.tdarr.io/api/v2/versions
Zeile Nr. 1, Spalte 1: [versions:1:1](https://api.tdarr.io/api/v2/versions)
Also, of course, the error can also exists on os level. But I can't see any hint. I used version 2.49.01
@Peronia are you able to try this? https://github.com/HaveAGitGat/Tdarr/issues/1189#issuecomment-3420617406 Thanks
Sadly @HaveAGitGat it doesn't help. Tables are undefined and the logs are happy:
journalctl -u tdarr_node --boot
Okt 20 10:00:14 nixOberon systemd[1]: Starting Tdarr Node...
Okt 20 10:00:17 nixOberon systemd[1]: Started Tdarr Node.
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: Loading...
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: /nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr/Tdarr_Node
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: Running in console
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: Found Tdarr entry file:/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr/srcug/main.js
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: ExeDir:/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: AppsDir:/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: RootDataPath:/opt/tdarr
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: IcoPath:/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr/assets/favicon.ico
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: NodeExePath:/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr/runtime/Tdarr_Node_Runtime
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: MainJsPath:/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr/srcug/main.js
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: LogLocation:/opt/tdarr/logs
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: ModuleName:Tdarr_Node
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: IsProd:true
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: IsTray:false
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: ExePath:/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr/Tdarr_Node
Okt 20 10:00:17 nixOberon Tdarr_Node[316]: WebUIPort:8265
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: {
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: environment: 'production',
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: execDir: '/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01/tdarr',
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: appsDir: '/nix/store/zjkvzcgi12zkl3kqai3ydab6d25r28ga-tdarr-node-2.49.01'
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: }
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.151] [INFO] Tdarr_Node - Logger started
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.233] [INFO] Tdarr_Node - Config path: "/opt/tdarr/configs/Tdarr_Node_Config.json"
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.244] [INFO] Tdarr_Node - {
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "nodeName": "localhost",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "serverURL": "http://0.0.0.0:8266",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "serverIP": "0.0.0.0",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "serverPort": "8266",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "handbrakePath": "HandBrakeCLI",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "ffmpegPath": "ffmpeg",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "mkvpropeditPath": "mkvpropedit",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "pathTranslators": [
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: {
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "server": "",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "node": ""
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: }
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: ],
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "nodeType": "mapped",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "unmappedNodeCache": "/opt/tdarr/unmappedNodeCache",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "logLevel": "INFO",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "priority": -1,
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "platform_arch_isdocker": "linux_x64_docker_false",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "processPid": 325,
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "cronPluginUpdate": "",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "apiKey": "*****",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "maxLogSizeMB": 10,
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "pollInterval": 2000,
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "startPaused": false,
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "ffprobePath": "ffprobe",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "ccextractorPath": "ccextractor",
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: "nodeID": "hO-irrfF1"
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: }
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.248] [INFO] Tdarr_Node - Config validation passed
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.480] [INFO] Tdarr_Node - version: 2.49.01
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.481] [INFO] Tdarr_Node - platform_arch_isdocker: linux_x64_docker_false
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.482] [INFO] Tdarr_Node - Starting Tdarr_Node
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.482] [INFO] Tdarr_Node - Preparing environment
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.533] [INFO] Tdarr_Node - Node connected & registered, count:1
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.538] [INFO] Tdarr_Node - Server version: 2.49.01
Okt 20 10:00:18 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:18.749] [INFO] Tdarr_Node - Downloading plugins from server
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.499] [INFO] Tdarr_Node - Running binary tests
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.775] [INFO] Tdarr_Node - ---------------Binary tests start----------------
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.776] [INFO] Tdarr_Node - handbrakePath:"HandBrakeCLI"
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.776] [INFO] Tdarr_Node - ffmpegPath:"ffmpeg"
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.776] [INFO] Tdarr_Node - mkvpropedit:"mkvpropedit"
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.776] [INFO] Tdarr_Node - Binary test 1: handbrakePath working
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.776] [INFO] Tdarr_Node - Binary test 2: ffmpegPath working
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.777] [INFO] Tdarr_Node - Binary test 3: mkvpropeditPath working
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.777] [INFO] Tdarr_Node - ---------------Binary tests end-------------------
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.777] [INFO] Tdarr_Node - Running scanner tests
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.777] [INFO] Tdarr_Node - ---------------Scanner tests start----------------
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.777] [INFO] Tdarr_Node - ffprobePath:"ffprobe"
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.777] [INFO] Tdarr_Node - ccextractorPath:"ccextractor"
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.778] [INFO] Tdarr_Node - Scanner test: Scanning file start
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.950] [INFO] Tdarr_Node - Finished downloading plugins from server
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.960] [INFO] Tdarr_Node - Running encoder tests
Okt 20 10:00:19 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:19.998] [INFO] Tdarr_Node - FFmpeg version: 7.1.1
Okt 20 10:00:21 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:21.030] [INFO] Tdarr_Node - Downloading plugins from server
Okt 20 10:00:21 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:21.173] [INFO] Tdarr_Node - Finished downloading plugins from server
Okt 20 10:00:23 nixOberon Tdarr_Node[316]: [2025-10-20T10:00:23.944] [INFO] Tdarr_Node - encoder-enabled-working,libx264-true-true,libx265-true-true,h264_nvenc-true-false,hevc_nvenc-true-false,av1_nvenc-true-false,h264_qsv-false-false,hevc_qsv-false-false,av1_qsv-false-false,h264_vaapi-true-false,hevc_vaapi-true-false,av1_vaapi-true-false,h264_amf-true-false,hevc_amf-true-false,av1_amf-true-false,h264_rkmpp-false-false,hevc_rkmpp-false-false,av1_rkmpp-false-false,h264_videotoolbox-false-false,hevc_videotoolbox-false-false,av1_videotoolbox-false-false,libaom-av1-true-true,libsvtav1-true-true
journalctl -u tdarr_server --boot
Okt 20 10:00:14 nixOberon systemd[1]: Started Tdarr Server.
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: Loading...
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: /nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr/Tdarr_Server
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: Running in console
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: Found Tdarr entry file:/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr/srcug/main.js
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: ExeDir:/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: AppsDir:/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: RootDataPath:/opt/tdarr
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: IcoPath:/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr/assets/favicon.ico
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: NodeExePath:/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr/runtime/Tdarr_Server_Runtime
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: MainJsPath:/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr/srcug/main.js
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: LogLocation:/opt/tdarr/logs
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: ModuleName:Tdarr_Server
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: IsProd:true
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: IsTray:false
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: ExePath:/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr/Tdarr_Server
Okt 20 10:00:14 nixOberon Tdarr_Server[283]: WebUIPort:8265
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: {
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: environment: 'production',
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: execDir: '/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01/tdarr',
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: appsDir: '/nix/store/8y91xq2qkq06prmjblnsc2zaq5k5gsa7-tdarr-server-2.49.01'
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: }
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:15.169] [INFO] Tdarr_Server - Logger started
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:15.201] [INFO] Tdarr_Server - Config path: "/opt/tdarr/configs/Tdarr_Server_Config.json"
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:15.211] [INFO] Tdarr_Server - {
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "serverPort": "8266",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "webUIPort": "8265",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "serverIP": "0.0.0.0",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "serverBindIP": false,
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "serverDualStack": false,
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "handbrakePath": "HandBrakeCLI",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "ffmpegPath": "ffmpeg",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "logLevel": "INFO",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "mkvpropeditPath": "mkvpropedit",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "ccextractorPath": "ccextractor",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "openBrowser": false,
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "cronPluginUpdate": "",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "platform_arch_isdocker": "linux_x64_docker_false",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "auth": false,
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "authSecretKey": "*****",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "maxLogSizeMB": 10,
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "seededApiKey": "",
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: "ffprobePath": "ffprobe"
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: }
Okt 20 10:00:15 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:15.256] [INFO] Tdarr_Server - Initializing DB
Okt 20 10:00:16 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:16.035] [INFO] Tdarr_Server - serverBindIP env/config variable is set to false, this means the server will use 0.0.0.0 and be accessible from localhost/127.0.0.1 and your default network IP. If you want to bind to a specific IP, set serverBindIP env/config variable to true. If you want dual-stack (IPv4/IPv6) support, set serverDualStack env/config variable to true
Okt 20 10:00:16 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:16.103] [INFO] Tdarr_Server - version: 2.49.01
Okt 20 10:00:16 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:16.103] [INFO] Tdarr_Server - platform_arch_isdocker: linux_x64_docker_false
Okt 20 10:00:16 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:16.103] [INFO] Tdarr_Server - Preparing environment
Okt 20 10:00:16 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:16.103] [INFO] Tdarr_Server - Tdarr documents folder:"/opt/tdarr/server"
Okt 20 10:00:16 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:16.104] [INFO] Tdarr_Server - Checking directories
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:17.175] [INFO] Tdarr_Server - Checking binary paths
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:17.286] [INFO] Tdarr_Server - Auto update not enabled
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:17.761] [INFO] Tdarr_Server - Tdarr_Server listening at http://0.0.0.0:8266
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:17.924] [TRACE] Tdarr_Server -
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: --------------------------------------------------------------------------
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: --------------------------------------------------------------------------
Okt 20 10:00:17 nixOberon Tdarr_Server[283]:
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: Tdarr_WebUI running at http://localhost:8265/#/
Okt 20 10:00:17 nixOberon Tdarr_Server[283]:
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: --------------------------------------------------------------------------
Okt 20 10:00:17 nixOberon Tdarr_Server[283]: --------------------------------------------------------------------------
Okt 20 10:00:17 nixOberon Tdarr_Server[283]:
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.253] [INFO] Tdarr_Server - Updating plugins
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.253] [INFO] Tdarr_Server - Running binary tests
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.513] [INFO] Tdarr_Server - [Plugin Update] Starting
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.530] [INFO] Tdarr_Server - Node localhost [ID=hO-irrfF1] [Address=127.0.0.1] [PID=325] registered
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.530] [INFO] Tdarr_Server - Node registration handler: 8ms
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.646] [INFO] Tdarr_Server - [Plugin Update] Plugin repo has not changed, skipping update
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.652] [INFO] Tdarr_Server - Zipping plugins folder
Okt 20 10:00:18 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:18.853] [INFO] Tdarr_Server - [Plugin Update] Found ignore file at "/opt/tdarr/server/Tdarr/Plugins/tdarrIgnore.txt"
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.044] [INFO] Tdarr_Server - ---------------Binary tests start----------------
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - handbrakePath:"HandBrakeCLI"
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - ffmpegPath:"ffmpeg"
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - mkvpropedit:"mkvpropedit"
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - Binary test 1: handbrakePath working
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - Binary test 2: ffmpegPath working
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - Binary test 3: mkvpropeditPath working
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - ---------------Binary tests end-------------------
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.045] [INFO] Tdarr_Server - Running scanner tests
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.046] [INFO] Tdarr_Server - ---------------Scanner tests start----------------
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.046] [INFO] Tdarr_Server - ffprobePath:"ffprobe"
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.046] [INFO] Tdarr_Server - ccextractorPath:"ccextractor"
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.046] [INFO] Tdarr_Server - Scanner test: Scanning file start
Okt 20 10:00:19 nixOberon Tdarr_Server[283]: [2025-10-20T10:00:19.115] [INFO] Tdarr_Server - zipPluginsFolder took 463ms
Is there anything I can provide? I understand that you can't set up every OS to reproduce an error, but that would help here. I could offer you access to the LXC container on which Tdarr runs.
@Peronia I'll cover this here so everything's in one place: https://github.com/HaveAGitGat/Tdarr/issues/1189
As rootDataPath seems working fine from script above and yours is socket issue. Got something for you to try.