View Single Post
Old 11-14-2012, 03:23 AM   #4
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 12,334
Karma: 8012652
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
Quote:
Originally Posted by aarcane View Post
I've got a simple setup going, and it's pretty much almost ready. There's only one thing missing, and that's simple management.

I've got a webserver, which I have (currently open for testing) secured with usernames and passwords, and can access from my android products as well as my e-readers (My wife and I have one each). It's running a calibre content server encapsulated in apache. Pretty straight forward stuff.

What I have on my desktop is Calibre client running. I start it, I adjust e-books, edit meta-data, etc... then I want to send it to my "device", which is the remote library. This is all pretty much possible, except that the "Connect to folder" feature doesn't update the metadata.db file.

How can I configure the Desktop Calibre client to update the metadata.db file?
If I can't configure the Desktop Calibre client to update the metadata.db file, is it possible to make this a feature request? Presumably calibre knows how to update this file, and a locking facility can easily be instituted. This is the last piece to turn the integrated server into an awesome all-in-one solution around calibre for me, and others I'm sure!
I solve the same problem using dropbox as a transport. I have 2 calibre servers in the "cloud", both fed from my library on my home machine. Of course, you can use anything you want as the transport instead of dropbox.

One "trick": because the calibre server holds metadata.db open, which in some situations can cause dropbox collisions. In addition, because of how linux holds files open even when deleted, the calibre servers never see library (metadata.db) updates. To get around this I use monit to monitor the timestamp on metadata.db. If it changes, then monit restarts the calibre server (init.d/calibre-server). The calibre init.d script stops calibre, copies metadata.db to somewhere not in dropbox-land, sets $CALIBRE_OVERRIDE_DATABASE_PATH to that file, and then restarts calibre.

As for adding something like a transport to calibre, I strongly suspect that it isn't going to happen. I know that I have no interest in building it. There are already many ways to copy a library from A to B. Calibre doesn't need to provide another one. There is a long-running project to separate calibre into clients with a separate db server, but this won't finish anytime soon.
chaley is offline   Reply With Quote