I installed Calibre and did the following steps.
https://calibre-ebook.com/download_linux1.
Code
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
(so root is the owner of /opt/calibre/)
2. I created my directory for my books and unsorted books. I ran
Code
calibredb add /media/toadd/* --library-path /media/library
which imported all my books. I also changed the permissions of these directories to the user which will run the service.
3. As shown
here, I created the service file for my system, with the user from before.
My only difference is:
Code
ExecStart=/opt/calibre/calibre-server --port=8081 "/media/library"
4. Everything was working, except I wanted admin ability to edit the library. I saw I had to create users, so I ran this
Quote
calibre-server --userdb ~/calibre/users.sqlite --manage-users
5. I updated my calibre-server.service file to this:
Quote
ExecStart=/opt/calibre/calibre-server --port=8081 --userdb ~/calibre/users.sqlite --enable-auth "/media/library"
Everything was working, got prompted for a user/pass. which I submitted.
Now, after logging in, I get the following error:
Quote
Failed to communicate with "/interface-data/init?1535559912493", with status: [500] Internal Server Error
I even tried changing my ownership of /opt/calibre to the same user running the service. No luck. Same error
Not sure what's going on....
Some success. it doesn't like
Quote
~/calibre/users.sqlite
Must be hard coded
https://github.com/kovidgoyal/calibre/commit/07876602aa9a666c84ab84650c039c4e27c80236