I'm looking for a simple DLNA media server to serve media from my file system. One key requirement here is that I want it to represent the directory structure of said file system, and in particular sort things by their file name.
Since the tree in question is big, it must not scan the whole tree upon startup. I would prefer an implementation which does not use any kind of cache of my directory tree, since keeping that in sync with the file system usually requires the service to start at boot. I know that such a cache might be required to efficiently search media, but I don't need search functionality, so an implementation with only browse and no search would be fine by me.
At the moment, I'm using minidlna. It does a reasonable job of keeping its database in sync with the fs, but to do so it has to run when the tree is modified, so it's running all the time. But apparently minidlna isn't that mini after all. It supports sorting by various fields. It even supports overriding the sorting requested by the control point. However, it apparently does not support sorting by file path, so my files end up in the wrong order.
I just had a look at coherence. Its modular nature looks very nice, but the
fs_storage backend does walk the file system upon initialization. Right now I guess I might start tweaking with that code base, but if there is an existing solution to serve my needs, that would likely be preferable.