EPUB Searcher - A EPUB search Web application based on Droonga
Switch branches/tags
Nothing to show
Latest commit 08a6cfe Sep 16, 2017 @KitaitiMakoto KitaitiMakoto committed on GitHub Merge pull request #101 from pazjacket/tachikoma/update-20170815103949
Exec tachikoma update 20170815103949
Failed to load latest commit information.
app Remove locale settings for delete buttons May 22, 2016
config Set default language to Japanese Feb 14, 2015
data/test-setup Add commands and sample EPUB files Jun 25, 2013
db Add catalog.test.json for test Dec 29, 2014
lib Add unique_identifier and modified columns to the table Mar 15, 2016
.components Change namespace of Padrino app: Epub -> EPUBSearcher Dec 24, 2014
.env.test Change ports of background processes on test environment Dec 29, 2014
Gemfile Update Padrino May 15, 2016
Gemfile.lock Bundle update 20170815103949 Aug 15, 2017
Procfile Use `npm bin` to detect node bin path Sep 18, 2015
README.md Add caution on dropping support for Ruby < 2.3 Mar 18, 2016
config.ru Merge files Padrino automatically generated Jun 25, 2013
package.json Define npm task bower Sep 5, 2015


EPUB Searcher

Build Status

A EPUB search Web application based on droonga.

CAUTION: EPUB Searcher dropped support for Ruby < 2.3. If you're using lesser version of Ruby, inform us and then we recover Ruby 2.1 and 2.2 support.

Demo site



1. Install Droonga

See Droonga documentation for details.

2. Install Bundler

$ [sudo] gem install bundler

3. Install EPUB Searcher

$ git clone https://github.com/ranguba/epub-searcher.git path/to/docroot
$ cd path/to/docroot
$ bundle install --path=vendor/gems
$ npm install
$ npm run bower

4. Configure application

Make .env.production file with content below:


These are definition of environment variables.

Here droonga0 is the hostname of server which Droonga HTTP Server is running. Ensure that

  • you can resolve the hostname to IP address by DNS, /etc/hosts or so on in environment EPUB Searcher was installed. Writing IP address as-is is also OK(e.g. host=
  • Droonga HTTP Server binds the IP address resolved from the hostname. Note that it might not be a global IP address, but the one of private network. If EPUB Searcher cannot connect to Droonga, confirm it.

http_server_port is the port number that Droonga HTTP Server is listening. If you installed Droonga without explicit configuration, it will 10041 which is the default port of Droonga HTTP Server.

Other lines are written in .env.development and .env.test in this repository? Don't warry, they're required to run Droonga in development/test environment. Now you have running Droonga in production, those are no longer required.

5. Run web and app server

EPUB Searcher is a Rack application. There's serveral way to run Rack applications behind web servers, such as Nginx x Puma. It's up to you.

Setting development environment up

$ git clone https://github.com/ranguba/epub-searcher.git
$ cd epub-searcher
$ bundle install --path=vendor/gems
$ npm install
$ npm run bower

Registering EPUB books for development environment

$ ./bin/es-register ./data/test-setup/*.epub another/book.epub

Running droonga components for development

$ bundle exec foreman start --env=.env.development

Running web app server

$ bundle exec padrino start

Running test suite

Run droonga components for test environment:

$ bundle exec foreman start --env=.env.test

then run test:

$ bundle exec rake test


GPLv3 or later.