Read your comics on your tablet
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.
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.
First, you need
-
Nodejs
-
MuPDF for PDF support (
brew install mupdf-tools/apt install mupdf-tools) -
Download/clone this repository on your server
-
Symlink your comics to
imagesin the app's directory -
Make the
images/cachedirectory 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 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.
sudo docker run --rm -it -v your_images_dir:/comics onigoetz/comicsreader node comics createUsersudo docker run --rm -it -v your_images_dir:/comics onigoetz/comicsreader node comics changePasswordBasedir has to be specified as an environment variable when starting the server.
COMICS_BASE="comics" yarn start
# OR
docker run -e "COMICS_BASE=comics" ...
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;
}
- Files with accents in zip (cbz) files don't work.
- 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.
- Icon is from GetDrawings