mango

Mango
Mango is a self-hosted manga server and reader. Its features include
- Multi-user support
- Dark/light mode switch
- Supports both
.zipand.cbzformats - Supports nested folders in library
- Automatically stores reading progress
- Built-in MangaDex downloader
- The web reader is responsive and works well on mobile, so there is no need for a mobile app
- All the static files are embedded in the binary, so the deployment process is easy and painless
Installation
Pre-built Binary
- Simply download the pre-built binary file
mangofor the latest release. All the dependencies are statically linked, and it should work with most Linux systems on amd64.
Docker
- Make sure you have docker installed and running. You will also need
docker-compose - Clone the repository
- Copy
docker-compose.example.ymltodocker-compose.yml - Modify the
volumesindocker-compose.ymlto point the directories to desired locations on the host machine - Run
docker-compose up. This should build the docker image and start the container with Mango running inside - Head over to
localhost:9000to log in
Build from source
- Make sure you have Crystal, Node and Yarn installed. You might also need to install the development headers for
libsqlite3andlibyaml. - Clone the repository
make && sudo make install- Start Mango by running the command
mango - Head over to
localhost:9000to log in
Usage
CLI
Mango e-manga server/reader. Version 0.2.0
-v, --version Show version
-h, --help Show help
-c PATH, --config=PATH Path to the config file. Default is `~/.config/mango/config.yml`
Config
The default config file location is ~/.config/mango/config.yml. It might be different if you are running Mango in a docker container. The config options and default values are given below
---
port: 9000
library_path: ~/mango/library
db_path: ~/mango/mango.db
scan_interval_minutes: 5
log_level: info
mangadex:
base_url: https://mangadex.org
api_url: https://mangadex.org/api
download_wait_seconds: 5
download_retries: 4
download_queue_db_path: ~/mango/queue.db
scan_interval_minutescan be any non-negative integer. Setting it to0disables the periodic scanlog_levelcan bedebug,info,warn,error,fataloroff. Setting it tooffdisables the logging
Library Structure
You can organize your .cbz/.zip files in nested folders in the library directory. Here's an example:
.
├── Manga 1
│ ├── Volume 1.cbz
│ ├── Volume 2.cbz
│ ├── Volume 3.cbz
│ └── Volume 4.zip
└── Manga 2
└── Vol. 1
└── Ch.1 - Ch.3
├── 1.zip
├── 2.zip
└── 3.zip
Initial Login
On the first run, Mango would log the default username and a randomly generated password to STDOUT. You are advised to immediately change the password.
Screenshots
Library:

Title:

Dark mode:

Reader:

Mobile UI:
