Calibre2opds downloads are now hosted on Google Drive. You can always download the latest available files from there. I initially thought of Calibre2OPDS but as it generate static file no search was possible. Later I added an simple HTML catalog that should be usable on my Kobo. So COPS's main advantages are: No need for many dependencies. No need for a lot of CPU or RAM. Search is available. It was fun to code.


The calibre2opds tool can generate OPDS and HTML catalogs from the metadata of the Calibre ebook library manager. These catalogs can then be used both to browse your ebook library online and also to download books on demand.

Since Calibre includes its own Content Server you might want to look at our feature comparison to help you chose between them.

If you need help, look in the Documentation, or email us directly. The documentation is in the form of a Wiki, and users are encouraged to contribute by improving the documentation in light of their own experiences using calibre2opds.

The first thing to do is of course to Download the tool.

We hope you’ll have as much fun using this tool as we had writing it !

The currently active calibre2opds team :

  • Dave Walker - ad-hoc programmer; documention & features manager; and tester extraordinaire

Previous contributors who are no longer active in calibre2opds development:

  • David Pierron - main programmer
  • Farid Soussi - html and css guru
  • Brian Szczawinski - web designer
  • Jane Litte - beta tester and moral support
  • Douglas Steele - programmer

Anyone interested can help in developing calibre2opds by contributing translations.

  • Useful Links
  • Issue Register: GitHub includes the capability for recording issues against a project. This is now used to track issues relating to Calibre2opds. If you merely have a question about Calibre2opds then it is recommended that you raise this in the Calibre sub-forum as mentioned above. The idea is to try and use the Issue register for items that are going to result in a code change to Calibre rather than more generic queries.
    The Issues Register is used to handle:
    • Bug Reports:
      You can register any bugs that you encounter. In addition you can provide evidence and feedback on any bug. You will also see what progress (if any) has been made in fixing it. You can also browse the list of known issues to see if something you encounter is already been seen before.
    • Feature Requests:
      If you want to raise an enhancement request then proceed as if you were raising a bug. This makes it visible to the developers and provides a mechanism for keeping track of status. Ideally you should include the words 'Feature Request' in the issue title to help show which issues are for enhancements rather than for reporting bugs in the existing release..
  • Forum: The Related Tools section of the Calibre forum is a good place to ask questions about calibre2odps.
  • Be sure and check the Category:Calibre for more articles.

Case Sensitivity in file/folder names in the Calibre Library

In a perfect world the case of file and folder names inside a Calibre library will match the values stored in the Calibre metadata database. However if Calibre is running on a system with a case insensitive file system (e.g Windows) if a case mismatch between the Calibre database and the underlying file system actually happens it is ignored and as a result the user is unaware of such mismatches. If the Calibre library and/or the calibre2opds generated catalog are then run on a case sensitive system (e.g. Linux) then this case mismatch matters. A visible symptom of such a case mismatch in a calibre2opds generated catalog is that the catalog cannot find the underlying eBook files for those books that are affected.

Calibre2opds has now been upgraded to detect such mismatches in case between the Calibre metadata database and the underlying file system. This is handled at two levels:

  • The first level is to write warning messages to the calibre2opds log. The user can then peruse the log and use the Calibre program to correct such mismatches. The simplest way to do this in Calibre is to edit the Author by adding an extra character at the end and press OK. Having done this rename the author back to the correct value and press OK again. This double rename strategy will result in the underlying files matching the case set in the calibre metadata database.
  • The second level is a new option in calibre2opds (on the Main tab) to get Calibre2opds to automatically rename files to match the case stored in the Calibre database. A secondary benefit of using this approach is that the resulting Calibre library can now be migrated to a system (e.g. Linux) without calibre losing track of the books in the library. One word of caution is that since this option actually changes (slightly) the names of the files in the Calibre library it is advisable to make a backup of your library the first time you use it in case something goes wrong. It is not believed that this is likely as extensive testing has been done to try and avoid it becoming an issue but until feedback is obtained on real-world usage such a precaution is just common sense.

Which of the above approaches is used is up to the user. Feedback on how effective/useful the two options are in real world usage would be appreciated.To help make it more obvious to end-users that there is information of potential interest in the Calibre2opds log file the dialog displayed at the end of a generation run now also displays the counts (if any) of error or warning messages written to the current log. The user can then select the option on the Tools menu to view the current log file to see what messages were logged.

Use to continue using Dropbox!

Dropbox has discontinued supporting the ‘Public Folder’ feature that many Calibre2opds users have made use of to host a Calibre2otds generated catalog that can then be used when away from home.

It is now possible to still use Dropbox to host a Calibre2opds generated catalog by fronting it with the service offered by Details on how to go about getting the combination of Updog+Dropbox to host your calibre library are covered in the Calibre2opds Online User Guide.

Updog has announced that their service is being shut down on February 8th 2020. Feedback on suitable alternatives would be welcomed.

Issue register now being done via GitHub

Calibre2opds has in the past used the JetBrains YouTrack product for handling issues and feature requests. Unfortunately JetBrains decided the calibre2opds project no longer meets their requirements for providing a free license for Open Source projects and have thus not renewed the projects license for YouTrack. The project could not justify the cost of a paid-for license so as a result we will now use GitHub for handling both Source and Issues going forward.

A list of issues previously handled via YouTrack are included in the Release Notes that are included with each Calibre2opds release. Previous issues to gitHub unless work is being done on them but for those that we do the reference numbers of the form #c2o-nnn that are listed there will be included in any issues that are repeated on GitHub.

The gitHub Issues system does not provide the same level of capability for categorising issues but hopefully will be sufficient to meet our needs. We will continue to treat Feature Requests for enhancements as ‘Issues’. For such requests please include the word ‘Feature Request’ in the title of the issue so it is easier to tell which issues are about bugs and which ones are about new features.
Retrieved from ''

BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices, which provide access to your collection of music, videos and photos – but not books. BicBucStriim covers that area and provides web-based access to your e-book collection.

BicBucStriim was created when I bought a NAS device (Synology DS 512+) to store my media on it. NAS devices like the Synology DS typically include media servers that publish audio, video, photos, so that you can access your media from all kinds of devices (TV, smart phone, laptop …) inside the house, which I found very convenient. Unfortunately there was nothing like that for e-books. So I started to develop BicBucStriim.

BicBucStriim is a simple PHP application that runs in the Apache/PHP environment provided by the NAS (or any other server). It assumes that you manage your e-book collection with Calibre. The application reads the Calibre data and publishes it in HTML form. To access the e-book catalog you simply point your ebook reader to your NAS, select one of your e-books and download it.

Want to try it?

  • Install or upgrade

Problems? Ideas?

  • Troubleshooting is built-in
  • Different environment/server/setup? The Wiki might help.
  • Found an error? Have a suggestion? Report it on GitHub

Calibre2opds Url

Want to add, change it? Have a look at the code …


BicBucStriim is still under development. Version 1.3:

  • is easy to install
  • shows the most recent titles on the index page
  • provides listing/filtering/searching for book titles, authors, tags and series
  • shows detail pages for authors and books (including download links and custom columns)
  • provides author pages that can be enriched with bio pics and links to related resources, like Blogs, Twitter etc
  • is ready for mobile clients
  • provides OPDS book catalogs for reading apps like Stanza (more)
  • speaks Dutch, English, French, German, Italian, Galician (some only partially)
  • has an admin GUI for configuration
  • supports e-mailing of books

New in version 1.3

  • switch between title- and time-based navigation for books
  • workarounds for QNAP devices with outdated/buggy SQLite libraries
  • added a library summary to the front page
  • slightly updated layout
  • replaced session and authentication handling


BicBucStriim just displays what is stored in your Calibre library. The start page lists the most recent books in your library, assuming that they are new and therefore need to be read:

In addition to that the main menu shows four more ways to navigate through your library: by book title, author name, book tag or series name. All sections work in the same way, you either scroll through the listing or search by entering something in the search bar at the top.

Calibre web opds

Once a book is selected, the app shows a details page with title, author information, tags and series if available, and of course the book description. In the download section of that page there are download links for all book formats stored in the Calibre library. Click on a link and the book file will be immediately sent to your device.

If a book contains metadata like ISBN numbers, these can be easily converted automatically to links. Just define a template for it.

If your Calibre library contains custom columns they will be displayed here too, formatted as a table. The app will display all columns with values for the current book. However, composite custom columns are not supported!

Calibre opds

Furthermore, it is now possible to add custom information about individual authors. Traditionally Calibre is focussed on books, the titles have detail pages and are visualized by their cover images. Authors existed only as names. BicBucStriim tries to chnage that and adds the possibilit to add metadata to authors. The author apges aren’t restricted anymore to listing the books for an author, but can also contain:

  • author image
  • links to blogs and other author-related web pages

The author information can be added by clicking on the black edit button in the top right corner of each author page. A menu provides then functions to add/delete an image or to edit the links on the page. Please note that these features are only available for the admin user.

Calibre Library On Dropbox


BicBucStriim is intended for in-house usage, on a NAS or a similar device without much memory and processing power. On a PC you could simply use the Content Server built into Calibre.

If you are looking for a possibility to publish a larger book collection, or want to publish on the Internet, then calibre2opds might be interesting. It generates a static HTML catalog of a Calibre library that then can be transferred to a web server.


  • Apache web server with PHP 5.3+ and sqlite3 support (other web servers possible, see Install)
  • Optional: if mcrypt (php5-mcrypt) is available, it will be used to encrypt cookies
  • Optional: if PHP module intl (php5-intl) is installed, book languages will be displayed
  • Optional: sending books by email requires PHP mail, sendmail or a SMTP account


This procedure assumes that there is already a running Apache web server. For other cases please check the Webservers section of the wiki.

The easy way assumes that BicBucStriim lives in a bbs folder right below the web root of your device and can be addressed like http://<your ip>/bbs/:

  1. Download the current installation archive.
  2. Unarchive the downloaded archive below the web server root of your NAS (e.g. “/volume1/web” on a Synology device)
  3. Rename the newly created directory (e.g. BicBucStriim-1.1.0) to “bbs”.
  4. The “data” directory and its contents must be writeable for all. Depending on your method of unarchiving this might be already the case. However, in case you experience access error just use a terminal to correct this: chmod -R ga+w data.
  5. Navigate to the main page: http://<address of your NAS>/bbs/.

A freshly installed BicBucStriim installation will show the login page. The initial login information for the administrator is

  • user name: admin
  • password : admin

After logging in, you will be redirected to the admin section, where you will have to tell the app where your Calibre library is located. Everything else is optional, but you should now also change the admin password.

On some NAS devices, like Synology, you also have to add the path of your Calibre library to the PHP open_basedir variable, if the library is located outside the web folder. For security reasons PHP can only access files in the web folder and in directories mentioned in the open_basedir variable. On a Synology device you can set this in the Control Panel: navigate to ‘Web Services’, ‘PHP Settings’. Add your Calibre library path to the end of open_basedir (and don’t forget to separate it with a colon – ‘:’ – from the other directories).

NOTE (for experienced users): You could also clone the Github repository, however that contains many files that are only useful during development. The installation archives contain onl the necessray files.

Tell BicBucStriim where your Calibre library lives

BicBucStriim needs to know where you Calibre library directory resides, the full path to the folder that contains your metadata.db and the book directories. In my case that is /volume1/books so I entered this path in the admin page.

That is all you need to do to get BicBucStriim running. Save and navigate to the start page. The index page should appear.

If the app can’t access the Calibre library it will tell you. BicBucStriim looks for a valid Calibre library directory with file metadata.db at the top. The most common problems are access errors. The app must be able to access the library. In case of problems you should adjust your access restrictions for the Calibre directory.

Optional: Decide if you need login protection

If you need to protect your library set the switch Login required to true. Then only authenticated users will be able to use it. Otherwise switch the login protection off, then everybody can access the library.

Please note: Some ebook readers, like older versions of the Tolino (with firmware version 1.9.4 it worked), can’t download ebooks while the login protection is in effect.

Optional: Add more users

If you want to share your library with your family you can add more user accounts for them.

Optional: Enable automatic linking with ID templates

Many books contain one or more IDs (see the Calibre field IDs). The most common ID is the ISBN number, others are from publishers or distributors. BicBucStriim detects these IDs and provides a mechanism to use these IDs to create links automatically.

The configuration page ID templates in the admin section lists all IDs in your library. By clicking on individual IDs you can add or edit link templates for the ID. A link template is simly a URL with the special marker %id that will be replaced by the value for that ID found in individual books.

To provide links for ISBNs in your books you could edit the link template by adding the URL Once this template is saved every book with an ISBN ID will display automatically a clickable ISBN link in the ID links section of a book`s details page.

Using this mechanism you can easily provide links to other pages that contain information related to your books.

Optional: Send books via e-mail

If you can’t download books directly you could send them via e-mail to your device. If the Send-To-Kindle feature is activated an e-mail link will appear for each book with a Kindle-compatible format. This feature also needs a valid sender (From) address.

BicBucStriim supports multiple transport mechanisms for sending mails. Select the right one for your machine. Only if you want to send mails via SMTP additional configuration is necessary.

Optional: Change the look of thumbnails

By default BicBucStriim generates clipped thumbnails for books. That means it uses the largest possible square in the middle of the book cover. That way we get a small thummbnail that still shows enough details from the original cover image.

However, if you absoloutely need to see a true representation of the cover image, just set the switch Clip thumbnails? to No, and you will get it.

Optional: Change the page size

If you want to see more or less entries (books, authors, tags) per page, just change the number in Page size. Initially BicBucStriim uses 30 items per page.

Optional: Change the app title

If you want to change the title, e.g. to use the name of your library, you can do so by entering a new title in Alternative page title.

Optional: Change book metadata

Enable this setting if you want the book metadata to be updated when a book is downloaded. This is currently only possible for EPUB titles and overwrites the metadata stored in the book with the data stored in Calibre.


BicBucStriim doesn’t care about the protocol used. However, there are applications and devices that had problems when HTTPS was used. Please check


  • older versions of Aldiko wouldn’t load thumbnails over HTTPS
  • Tolinos wouldn’t download ebooks over HTTPS


The database structure of version 1.2 is incompatible with previous versions, so exisiting users should start with a fresh install. However, if you have lots of books and don’t want to regenerate all the thumbnails for them:

  • Backup your old BicBucStriim installation, eg. mv bbs bbs.old
  • Install the new version and run it
  • There should be a new directory: bbs/data/titles
  • Copy the thumbnail files (thumb_*.png) from your old data directory to bbs/data/titles
  • Use chmod -R ga+w bbs/data/titles to correct the permissions after copying if there are access errors

Notice for users upgrading from v1.2.4 or earlier: since v1.2.5+ issue #104 added the possibility to have multiple admin users. If you have trouble to login as admin, either

  • use the sqlite3 cli to update user set role=1 where username='admin';
  • delete data/data.db



If you encounter problems, use the installation test to check your environment. Invoke this test by navigating to http://<NAS address>/bbs/installcheck.php. This test checks for problems that users experienced in the past.

The installation test has two main parts

  • the library access check
  • the environment test

The environment part (labeled Environment Checks) tests the technical requirements and various sources for errors that appeared in the past. The test results are signalled in traffic light fashion:

Calibre Opds Server

  • green: everything is ok
  • yellow: there could be a problem – you should check the description. Click on the corresponding info button.
  • red: there is definetively a problem. Click on the corresponding info button fr a description.

The second part, the Calibre library check, simply tests whether your library is accessible by a web application. Many NAS devices restrict the access of web applications to certain directories, a security precaution. So if BicBucStriim can’t load your books, simply enter the directory where your books are stored in the Calibre library check form and test it.

For Synology users: if you experience strange errors after installation/upgrade, e.g. blank pages or messages about classes not found, then simply reboot your device or restart the web server (/usr/syno/etc/rc.d/ restart) manually. This helps in most cases.

If the problem doesn’t go away, just let me know.

OPDS catalogs

Calibre Cloud Library

Starting with version 0.9 BicBucStriim provides OPDS catalogs for reading apps like Stanza or Aldiko. The main entry point for these catalogs is http://.../bbs/opds/.

At this stage the OPDS support provides the usual hierarchy for browsing your library by book title, author, tag or series. Searching is not yet possible.

NOTE: if you are using OPDS via HTTPS to access there could be a problem with the download of images. Aldiko, for example, doesn’t load images with a HTTPS address.

Calibre2opds Download


BicBucStriim itself is licensed under the MIT license, for the licenses of the libraries used see the file NOTICE.