Skip to main content

COPS, opensource ebook library server

The ebooks readers have become more and more popular and affordable and it can be quite challenging to manage the entire library.

So I was looking for an opensource, web based ebook library service, based on the OPDS standards to ensure most ebooks readers will accept it.

Obviously, the most popular is the Calibre-server service. However it requires a lot of dependencies, is not headless per default (But can do it) and most of all, you still need calibre to manage your collection. For example, you cannot simply upload 1 ebook on your server, you will need to add it your Calibre library first and then export its database….

Very far from being simple.

Unfortunately, I did not find a lot of alternatives…only COPS, and Pathagar.

COPS is probably the most simple one to use and install while being still actively developed however the design is not one of its strength…. Pathagar has a better design (But nothing fancy….) but not as powerful as COPS and more complicated to install.

COPS main menu

COPS seems to be a far better alternative for me, although I’m wishing to find one day a Popcorn time / Yify-pop style of application but for ebooks. However COPS still needs a Calibre database to manage the collection.

So I’m going to focus on COPS only in this article.

COPS is OPDS / HTML content server written in PHP with the mindset of simplicity.

While being light (Few dependencies and few CPU/RAM used), COPS has a responsive design with HTML5 / CSS3 interface, supports multiple Calibre database in a single COPS instance,  allows searching in the library and update the Epub metadata.

COPS can also be based on Dropbox, Owncloud, … to simplify your ebooks management and cherry on the top, COPS is multilingual (15+).COPS ebook libraryHere is a HTML demo and a here is the feed for your ebook reader.

Interested to give it a try, here is how to install it.



I assume you have a working apache server with PHP.

1) Install the PHP dependencies

In root, run:

2) Clone COPS git repository in your /var/www

3) Configure your instance

– First copy the config_local.php.example to config_local.php

– Then edit config_local.php to match your config.

You will need to indicate where is your Calibre’s metadata.db

More settings can be also tweaked from config_default.php

4) Simply go to http://YourIP/cops