Skip to content
Read your comic book scans on tablet !
Branch: master
Clone or download
Latest commit 38d3773 Apr 6, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Various improvements Apr 6, 2019
.dockerignore Convert comics reader to JavaScript Jan 14, 2018
Dockerfile Add CLI to docker image Dec 30, 2018 Add infos about authentication Dec 31, 2018
comics Add CLI to create users and change password Dec 18, 2018
config.js Allow to switch between basic auth and DB auth Dec 30, 2018
crafty.config.js Convert comics reader to JavaScript Jan 14, 2018
package.json Update dependencies Apr 6, 2019 Add nodemon to reload on change Jan 13, 2019
webpack.config.js Update dependencies Mar 10, 2019
yarn.lock Update dependencies Apr 6, 2019

Comics reader

Read your comics on your tablet

What is it ?

A nice little comic book reader for tablets and mobile phones. It is not intended to work on a desktop computer.


  • Watch your comic books on your phone or tablet, at home or on the go.
  • Uses your filesystem, has an embedded database.
  • Supports most comics formats : CBZ/CBR/ZIP/RAR, PDF, simple image directory.
  • Internal search engine to find your comics easily
  • Use basic auth credentials (from Nginx/Apache) or use the embedded Database to manage users.


Using docker (Recommended)

docker run -v /your-images-dir:/comics -p 8080:8080 --rm onigoetz/comicsreader

Will start the comics reader using your comic books at /your-images-dir and be available at http://localhost:8080.

With Node

First, you need

  • Nodejs

  • Imagemagick installed on the machine. (for PDF support)

  • unrar and unzip commands installed (for CBR and CBZ support)

  • Download/clone this repository on your server

  • Edit config.js to define the path to your images, defaults to images in the root directory

  • Make the images/cache directory writable

  • Run yarn install

You can then start the server with yarn start.

This will index the books and start the server.


Authentication is an optional feature, you can either leverage the basic auth credentials from a server (Apache/Nginx) Or use the built-in database.

This option can be changed in config.js with the auth configuration or the COMICS_AUTH_TYPE environment variable. possible values are "basic" (default) or "db"

When using the "db" authentication mode, you need to create users, for this we provide a command-line tool to create them.

Note that the container has to be stopped in order to use the CLI tool as the database is otherwise readonly.

Creating users

sudo docker run --rm -it -v your_images_dir:/comics onigoetz/comicsreader node comics createUser

Changing password

sudo docker run --rm -it -v your_images_dir:/comics onigoetz/comicsreader node comics changePassword

Tweaking the configuration


Basedir has to be specified as an environment variable when starting the server.

COMICS_BASE="comics" yarn start
# OR
docker run -e "COMICS_BASE=comics" ...

Reverse proxy through nginx

location /BD/ {
    proxy_pass http://comics:8080/BD/;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Forwarded-Proto $scheme;

Known issues

  • Files with accents in zip (cbz) files don't work.

Credits and technologies

  • The web interface is made with React.
  • The photo viewer is made with PhotoSwipe.
  • Express powers the server side.
  • Sharp is used to generate the thumbnails.
You can’t perform that action at this time.