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:

apt-get install php5-gd php5-sqlite php5-intl

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

cd /var/www
git clone

3) Configure your instance

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

cd cops
cp config_local.php.example config_local.php

– Then edit config_local.php to match your config.

nano config_local.php

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


Loves to discover web-based apps to install on his own server@home and write articles about it


Add a comment