Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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.

Features

  • 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.

Installing

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

  • Symlink your comics to images in the app's directory

  • Make the images/cache directory writable

  • Run yarn install

  • Run yarn build

You can then start the server with yarn start.

This will index the books and start the server.

Authentication

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 with 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

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.
  • Next.js powers the server side with a hint of Express.
  • Sharp is used to generate the thumbnails.
You can’t perform that action at this time.