Storage folder on NAS not working

Hi Guys,

I’ve installed Orthanc on a VM running Win 8 for DICOM Q/R testing.
Since the drive has limited space I want to store the data on a NAS.
I’ve mapped the NAS as a drive in windows (Z:) and I do have access to the drive in explorer.
After installing Orthanc I changed the “SotorageDIrectory” from C:\Orthanc to Z:\Orthanc
After restarting the service, the service stops after 20 seconds.
Changing the storage directory back to the local drive solves the crash

Anyone an idea what causes the problem?

Kind Regards
Nico

Did have log?

Log atached. Thanks for looking into it

Orthanc.log.20171130-050430.2396 (3.73 KB)

The message “E1130 05:04:30.739144 PluginsManager.cpp:164] boost::filesystem::create_directories: The system cannot find the path specified: “Z:\Orthanc”” is showed.
The domain user with started Orthanc have disk Z:? Or only you?
Do you try \nas on config file?

  1. Map network drive:
    Inline image 1

  2. without check, domain user is your account.
    Inline image 2

  3. Run services.msc and find Orthanc
    Inline image 3

  4. Property->Logon
    Inline image 5

Orthan run with System Account?
System account don’t have access to NAS.
Ok???
Please return on group.

Hi,

Tried all of this.
Orthanc service is now started by the user account.
This account has access to the NAS but Orthanc still crashes.

Same error on log?

Yes, Unable to find Path

Hi,

I shared a folder on Windows 2012 R2 Server, set permission to user (run Orthanc server) for read/write on share and NTFS.
I install Orthanc on Win7 Pro and change config file:

“StorageDirectory” : “\\server01.company.corp\orthanc$\Orthanc\”,
“IndexDirectory” : “\\server01.company.corp\orthanc$\Orthanc\”,

My Log:

W1205 10:39:57.692355 main.cpp:1297] Orthanc version: 1.3.1

W1205 10:39:57.693355 OrthancInitialization.cpp:162] Scanning folder “Configuration” for configuration files

W1205 10:39:57.693355 OrthancInitialization.cpp:114] Reading the configuration from: “Configuration\dicomweb.json”

W1205 10:39:57.694355 OrthancInitialization.cpp:114] Reading the configuration from: “Configuration\orthanc.json”

W1205 10:39:57.699355 OrthancInitialization.cpp:114] Reading the configuration from: “Configuration\postgresql.json”

W1205 10:39:57.699355 OrthancInitialization.cpp:114] Reading the configuration from: “Configuration\serve-folders.json”

W1205 10:39:57.699355 OrthancInitialization.cpp:114] Reading the configuration from: “Configuration\webviewer.json”

W1205 10:39:57.700355 OrthancInitialization.cpp:114] Reading the configuration from: “Configuration\worklists.json”

W1205 10:39:57.701355 FromDcmtkBridge.cpp:199] Loading the embedded dictionaries

W1205 10:39:57.763355 FromDcmtkBridge.cpp:2075] Registering JPEG Lossless codecs in DCMTK

W1205 10:39:57.763355 FromDcmtkBridge.cpp:2080] Registering JPEG codecs in DCMTK

W1205 10:39:57.770355 main.cpp:670] Loading plugin(s) from: Configuration../Plugins/

W1205 10:39:57.772355 PluginsManager.cpp:269] Registering plugin ‘worklists’ (version 1.3.1)

W1205 10:39:57.772355 PluginsManager.cpp:168] Sample worklist plugin is initializing

W1205 10:39:57.773355 PluginsManager.cpp:168] Worklist server is disabled by the configuration file

W1205 10:39:57.787355 PluginsManager.cpp:269] Registering plugin ‘dicom-web’ (version 0.4)

W1205 10:39:57.788355 PluginsManager.cpp:168] URI to the DICOMweb REST API: /dicom-web/

W1205 10:39:57.788355 PluginsManager.cpp:168] URI to the WADO-URI API: /wado

W1205 10:39:57.791355 PluginsManager.cpp:269] Registering plugin ‘postgresql-index’ (version 2.0)

W1205 10:39:57.791355 PluginsManager.cpp:168] The PostgreSQL index is currently disabled, set “EnableIndex” to “true” in the “PostgreSQL” section of the configuration file of Orthanc

W1205 10:39:57.793355 PluginsManager.cpp:269] Registering plugin ‘postgresql-storage’ (version 2.0)

W1205 10:39:57.793355 PluginsManager.cpp:168] The PostgreSQL storage area is currently disabled, set “EnableStorage” to “true” in the “PostgreSQL” section of the configuration file of Orthanc

W1205 10:39:57.807355 PluginsManager.cpp:269] Registering plugin ‘web-viewer’ (version 2.3)

W1205 10:39:57.807355 PluginsManager.cpp:168] Initializing the Web viewer

W1205 10:39:57.807355 PluginsManager.cpp:168] Web viewer using 4 threads for the decoding of the DICOM images

W1205 10:39:57.807355 PluginsManager.cpp:168] Storing the cache of the Web viewer in folder: \server01.company.corp\orthanc$\Orthanc\WebViewerCache

W1205 10:39:57.963355 PluginsManager.cpp:168] Web viewer using a cache of 100 MB

W1205 10:39:57.963355 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc

W1205 10:39:57.967355 PluginsManager.cpp:269] Registering plugin ‘wsi’ (version 0.4)

W1205 10:39:57.967355 PluginsManager.cpp:168] The whole-slide imaging plugin will use at most 8 threads to transcode the tiles

W1205 10:39:58.001355 PluginsManager.cpp:269] Registering plugin ‘osimis-web-viewer’ (version 1.0.1.1-cafbfc1)

W1205 10:39:58.001355 PluginsManager.cpp:168] Initializing the Web viewer

W1205 10:39:58.001355 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc

W1205 10:39:58.003355 PluginsManager.cpp:269] Registering plugin ‘serve-folders’ (version 1.3.1)

W1205 10:39:58.003355 PluginsManager.cpp:168] ServeFolders: Empty configuration file: No additional folder will be served!

W1205 10:39:58.003355 OrthancInitialization.cpp:998] SQLite index directory: "\server01.company.corp\orthanc$\Orthanc"

W1205 10:39:58.061355 OrthancInitialization.cpp:1068] Storage directory: "\server01.company.corp\orthanc$\Orthanc"

W1205 10:39:58.121355 HttpClient.cpp:686] HTTPS will use the CA certificates from this file: Configuration

W1205 10:39:58.132355 ServerScheduler.cpp:135] The server scheduler has started

W1205 10:39:58.133355 LuaContext.cpp:103] Lua says: Lua toolbox installed

W1205 10:39:58.133355 ServerContext.cpp:182] Disk compression is disabled

W1205 10:39:58.133355 ServerIndex.cpp:1403] No limit on the number of stored patients

W1205 10:39:58.133355 ServerIndex.cpp:1420] No limit on the size of the storage area

W1205 10:39:58.328355 main.cpp:862] DICOM server listening with AET ORTHANC on port: 4242

W1205 10:39:58.328355 MongooseServer.cpp:1075] HTTP compression is enabled

W1205 10:39:58.331355 main.cpp:795] HTTP server listening on port: 8042

W1205 10:39:58.331355 main.cpp:682] Orthanc has started

Hi,

This works for me on a PC/server but not on my NAS.

I’m having the same issue, Alexandre.
Did you resolve??
I have mapped Z:// directory that I files won’t write to when I set that mapped directory in orthanc config .json file as:
“StorageDirectory” : "Z:\

Have you tried double escaping (such as “Z:\\”), or replacing backslashes by forward slashes?

Hi

I am trying to configure a NAS to locate the databases in that storage and I have the same problem that you presented, did someone get the solution?

Regards

William

Hi

After many tests I got the solution to locate the Orthanc database on the NAS. The solution was to address the NAS unit by its name in the network and not using the letter of the Windows network map ( \\RAID-LACIE\ORTHANC ) and not Z:\ORTHANC as the manuals say. It works slow but works well, I hope you help them if they have the same problem.

“StorageDirectory” : “\\raid-lacie\Orthanc”,
“IndexDirectory” : “\\raid-lacie\Orthanc”,

Regards

William

Hi,

I solved the problem differently, making the use of the drive letter possible.
Normally after installing Orthanc it will be owned/run by the SYSTEM user. In Windows this user cannot access mapped network drives.
By running it under my normal user account or the administrator account, you can access mapped network drives.

Different approach, same result.

So I tried both methods, and it’s not wanting to accept either method… I did change the service to the administrator account and used the mapped drive, and it couldn’t access it… I also tried by the name of the nas and it didn’t like it either too.

W1130 16:17:55.876994 PluginsManager.cpp:157] Storing the cache of the Web viewer in folder: Z:\Orthanc\WebViewerCache
E1130 16:17:55.876994 PluginsManager.cpp:153] boost::filesystem::create_directories: The system cannot find the path specified: “Z:\Orthanc”

this is the snippet in the config…

// Path to the directory that holds the heavyweight files (i.e. the
// raw DICOM instances). Backslashes must be either escaped by
// doubling them, or replaced by forward slashes “/”.
// “StorageDirectory” : “Z:\Orthanc”,
“StorageDirectory” : “\\buffalo3\Ultra\Orthanc”,

// Path to the directory that holds the SQLite index (if unset, the
// value of StorageDirectory is used). This index could be stored on
// a RAM-drive or a SSD device for performance reasons.
// “IndexDirectory” : “Z:\Orthanc”,
“IndexDirectory” : “\\buffalo3\Ultra\Orthanc”,

could it be because of a subdirectory?

Locking this thread, as you are duplicating another thread onto this archived topic. Please discuss your issue on your own dedicated thread:
https://groups.google.com/g/orthanc-users/c/942mW_2k9SY/m/Oue_GpLkBQAJ