Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Linuxserver.io - Calibre-Web

Featured Replies

linuxserver_medium.png

 

Application Name: Calibre-Web

Application Site: https://github.com/janeczku/calibre-web

Docker Hub: https://hub.docker.com/r/linuxserver/calibre-web/

Github: https://github.com/linuxserver/docker-calibre-web

 

Please post any questions/issues relating to this docker you have in this thread.

 

If you are not using Unraid (and you should be!) then please do not post here, instead head to linuxserver.io to see how to get support

Edited by linuxserver.io

  • Replies 130
  • Views 85.1k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • server {     listen 80;     server_name calibre.<yourdomain>.com;     return 301 https://$server_name$request_uri;     } server {     listen 443 ssl;     listen [::]:443 ssl;

  • Yes, maybe for that user this option needs to be enabled:   When the user can read, it looks like this on a book:

  • @phorse Here's what I did to get the kindlegen binary working.   1. Downloaded tarball from https://www.amazon.com/gp/feature.html?docId=1000765211 to the docker config folder. 2. Untar

Posted Images

I've been using for a while, but recently when I try to use 'send to kindle' I get a 504 Gateway Time-out error.  Is anyone else having problems?

4 hours ago, DZMM said:

I've been using for a while, but recently when I try to use 'send to kindle' I get a 504 Gateway Time-out error.  Is anyone else having problems?

 

Nope

hmmm - will try changing email servers

  • 2 weeks later...

I am installing this docker and when i launch the UI it goes to /config and asks for database location. Is this a pre-defined path, or do i just put in where i want. No matter what i try, i get a 403 forbidden error and this in the logs.

 

 

[2018-06-11 11:09:39,117] ERROR in app: Exception on /config
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/app/calibre-web/cps/web.py", line 486, in inner
return f(*args, **kwargs)
File "/app/calibre-web/cps/web.py", line 2510, in basic_configuration
return configuration_helper(1)
File "/app/calibre-web/cps/web.py", line 2709, in configuration_helper
if not db.setup_db():
File "/app/calibre-web/cps/db.py", line 338, in setup_db
cc = conn.execute("SELECT id, datatype FROM custom_columns")
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 942, in execute
return self._execute_text(object, multiparams, params)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1104, in _execute_text
statement, parameters
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 508, in do_execute
cursor.execute(statement, parameters)
OperationalError: (sqlite3.OperationalError) no such table: custom_columns [SQL: 'SELECT id, datatype FROM custom_columns'] (Background on this error at: http://sqlalche.me/e/e3q8)

11 minutes ago, unsainted said:

I am installing this docker and when i launch the UI it goes to /config and asks for database location. Is this a pre-defined path, or do i just put in where i want. No matter what i try, i get a 403 forbidden error and this in the logs.

 

 

[2018-06-11 11:09:39,117] ERROR in app: Exception on /config
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python2.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/app/calibre-web/cps/web.py", line 486, in inner
return f(*args, **kwargs)
File "/app/calibre-web/cps/web.py", line 2510, in basic_configuration
return configuration_helper(1)
File "/app/calibre-web/cps/web.py", line 2709, in configuration_helper
if not db.setup_db():
File "/app/calibre-web/cps/db.py", line 338, in setup_db
cc = conn.execute("SELECT id, datatype FROM custom_columns")
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 942, in execute
return self._execute_text(object, multiparams, params)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1104, in _execute_text
statement, parameters
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "/usr/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 508, in do_execute
cursor.execute(statement, parameters)
OperationalError: (sqlite3.OperationalError) no such table: custom_columns [SQL: 'SELECT id, datatype FROM custom_columns'] (Background on this error at: http://sqlalche.me/e/e3q8)

it's for entering the location of your calibre DB - in your docker settings you should map /books_library or /books (not sure why I've got two paths now) to that location and enter the path in the webui admin settings

1 minute ago, DZMM said:

it's for entering the location of your calibre DB - in your docker settings you should map /books_library or /books (not sure why I've got two paths now) to that location and enter the path in the webui admin settings

Thats what i had thought. I have /books mapped to my ebooks folder /mnt/user/media/e-books

I entered /books into the config for the location and got the same error. I dont have a /books_library path in my setup?

calibre.PNG

8 minutes ago, unsainted said:

Thats what i had thought. I have /books mapped to my ebooks folder /mnt/user/media/e-books

I entered /books into the config for the location and got the same error. I dont have a /books_library path in my setup?

calibre.PNG

Do you have a metadata.db file in /mnt/user/media/e-Books that's been created by your calibre app/docker?

 

I think I have the second path from when I created myself - for some reason it's down as required.   I'm going to leave it alone as I don't want to miss up the history of users.

Yes, I see the metadata.db file there. Its 0KB

 

 

Just went back to the WebUI and refreshed it, now its presenting a login. is there default login?

7 minutes ago, unsainted said:

Yes, I see the metadata.db file there. Its 0KB

 

 

that's probably your problem.  Add some books to your library using your calibre app/docker and I think your problems will go away.

 

You do have calibre running somewhere else right?  This docker is just a nice ui sits on top - you still have to run calibre somewhere else.

Ah gotcha, thats probably my issue then, I thought this was all self-contained. is there a calibre docker you would recommend?

I use the RDP-Calibre docker and the linuxserver lazylibrarian docker. 

 

It's a shame that books aren't as well supported as say movies or TV shows.  Hopefully somebody will build a sonarr based service for books - it's a real pity that the lazylibrarian guys based their service on headphones rather than sonarr.

  • 4 weeks later...
  • 1 month later...

Hi, 

When I try to use advanced search I get the following error. 

I'm trying to utilise the custom columns I have in calibre and saw that you need advanced search to use them.

 

Regards,

Bilal Yassine

1.png

  • 4 weeks later...

First of all, I would like to extend a thanks for this wonderful docker.   I wanted a nice way to share my library with friends and family, and this fits the bill with elegance, however, I seem to be stuck with one aspect of the docker -- the E-book converter.

 

I am utilizing the RDP-Calibre docker from aptalca to manage my library, and this Calibre-Web docker configured through a reverse-proxy using Letsencrypt.  Since I and family members have KIndle's, I would like the ability to convert my Epubs to mobi and email directly from Calibre-web instead of doing through RDP-Calibre.

 

Under Calibre-Web Basic configuration, there are settings for External binaries with the following options:

 

1665398503_ScreenShot2018-11-24at3_40_55PM.png.1b981e4343dc99dacc7961cd1f180214.png

 

I initially tried to use calibre's ebook converter as I assumed it would be included in the docker but unless I'm mistaken, could not find it installed.   I bashed into the docker and looked everywhere.  I even tried to install the calibre package following the directions on this page to no avail.   I thought I was close following the manual installation instructions below but could not install the "calibre_postinstall" executable, which I'm assuming installs the dependencies required to get Calibre's bundled "ebook-convert" binary to work.

 mkdir -p /opt/calibre && rm -rf /opt/calibre/* tar xvf /config/calibre-3.34.0-x86_64.txz -C /opt/calibre && /opt/calibre/calibre_postinstall

 

At this point, I gave up and figured I'd download kindlegen from Amazon and give it a whirl.  From the docker bash shell I am able to run it with no issues, but when I click on edit metadata for a given Epub book, the convert options are not there.  If I select use calibre's ebook converter again, they show up even though I don't have a working "ebook-convert" binary -- go figure.

 

I also noticed the following kindlegen status error when I clicked about and I don't know why as the kindlegen binary seems to run fine when bashed into the docker.  I'll admit that I'm not a linux expert and could be missing something obvious, and I'm hoping that's the case as would love to get this working :)

 

cw_about.thumb.png.af62429b939de54738c76cb53f776a65.png

 

Many thanks in advance for any ideas/guidance :)

 

 

Edited by phorse

  • 4 weeks later...

@phorse Here's what I did to get the kindlegen binary working.

 

1. Downloaded tarball from https://www.amazon.com/gp/feature.html?docId=1000765211 to the docker config folder.

2. Untar'ed it and removed everything from it except for `kindlegen`

3. `chmod 777 kindlegen`

4. `chown nobody:users kindlegen`

5. Changed the external binary's path to /config/kindlegen

kindlegen.PNG.c6f40e5dc68bac22004814fb5d9fbe54.PNG

6. Confirmed tool showing up in info page

info.PNG.e4ef14074a0a765db2286248dbd8d6f5.PNG

 

Hopefully that gets it working for you. I tested the convert and send feature to my email and it worked fine. Good luck.

On 12/22/2018 at 12:17 PM, peteknot said:

@phorse Here's what I did to get the kindlegen binary working.

 

1. Downloaded tarball from https://www.amazon.com/gp/feature.html?docId=1000765211 to the docker config folder.

2. Untar'ed it and removed everything from it except for `kindlegen`

3. `chmod 777 kindlegen`

4. `chown nobody:users kindlegen`

5. Changed the external binary's path to /config/kindlegen

kindlegen.PNG.c6f40e5dc68bac22004814fb5d9fbe54.PNG

6. Confirmed tool showing up in info page

info.PNG.e4ef14074a0a765db2286248dbd8d6f5.PNG

 

Hopefully that gets it working for you. I tested the convert and send feature to my email and it worked fine. Good luck.

 

Many thanks, it's working now.  I feel so foolish as all I needed to do was supply the full path to the executable, including the executable name, rather than simply supplying the path where the kindlegen executable was located :)

 

Thanks again!

  • 1 month later...

I've got what I think is everything setup between LazyLibrarian and Calibre-Web but I seem to be at a loss for Calibre-Web to notice an updated book.  LazyLibrarian deposits the book in the same folder that Calibre is looking at but I don't see an option to "update" Calibre to reflect the new book.   

 

Unless I'm blind, which I'm open to being.

Does anybody have a good config to set up a reverse proxy?

On 2/3/2019 at 12:32 AM, hgelpke said:

Does anybody have a good config to set up a reverse proxy?

server {
    listen 80;
    server_name calibre.<yourdomain>.com;
    return 301 https://$server_name$request_uri;
    }
server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name calibre.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth, fill in ldap details in ldap.conf
    #include /config/nginx/ldap.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable the next two lines for ldap auth
        #auth_request /auth;
        #error_page 401 =200 /login;

        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_calibre calibre-web;
        proxy_pass http://$upstream_calibre:8083;
    }
}

 

the first part just re routes from port 80 to port 443 so if you type http://calibre.<yourdomain>.com it changes it to https//calibre.<yourdomin>.com

  • 3 weeks later...
On 2/9/2019 at 2:48 PM, Raczo said:

server {
    listen 80;
    server_name calibre.<yourdomain>.com;
    return 301 https://$server_name$request_uri;
    }
server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name calibre.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth, fill in ldap details in ldap.conf
    #include /config/nginx/ldap.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable the next two lines for ldap auth
        #auth_request /auth;
        #error_page 401 =200 /login;

        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_calibre calibre-web;
        proxy_pass http://$upstream_calibre:8083;
    }
}

 

the first part just re routes from port 80 to port 443 so if you type http://calibre.<yourdomain>.com it changes it to https//calibre.<yourdomin>.com

I guess I should have been more specific. I was hoping to get a subfolder version and not a subdomain. Regardless, thank you for responding.

 

Has anyone received an internal server error when selecting a menu category? I am getting the below error when I select author, series or category. 

I have tried rebuilding the database with no luck and it works fine in calibre. 

 

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.