Caution
As of March 2025, Mango is no longer maintained. We are incredibly grateful to everyone who used it, contributed, or gave feedback along the way - thank you! Unfortunately, we just don't have the time to keep it going right now. That said, it's open source, so you're more than welcome to fork it, build on it, or maintain your own version. If you're looking for alternatives, check out the wiki for similar projects. We might return to it someday, but for now, we don't recommend using it as-is - running unmaintained software can introduce security risks.
Mango is a self-hosted manga server and reader. Its features include
- Multi-user support
- OPDS support
- Dark/light mode switch
- Supported formats:
.cbz,.zip,.cbrand.rar - Supports nested folders in library
- Automatically stores reading progress
- Thumbnail generation
- Supports plugins to download from third-party sites
- 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
Please check the Wiki for more information.
Simply download the pre-built binary file mango for the latest release. All the dependencies are statically linked, and it should work with most Linux systems on amd64.
- Make sure you have docker installed and running. You will also need
docker-compose - Clone the repository
- Copy the
env.examplefile to.env - Fill out the values in the
.envfile. Note that the main and config directories will be created if they don't already exist. The files in these folders will be owned by the root user - Run
docker-compose up. This should build the docker image and start the container with Mango running inside - Head over to
localhost:9000(or a different port if you changed it) to log in
The official docker images are available on Dockerhub.
- Make sure you have
crystal,shardsandyarninstalled. You might also need to install the development headers of some libraries. Please see the Dockerfile for the full list of dependencies - Clone the repository
make && sudo make install- Start Mango by running the command
mango - Head over to
localhost:9000to log in
Mango - Manga Server and Web Reader. Version 0.27.0
Usage:
mango [sub_command] [options]
Options:
-c PATH, --config=PATH Path to the config file [type:String]
-h, --help Show this help.
-v, --version Show version.
Sub Commands:
admin Run admin tools
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
---
host: 0.0.0.0
port: 9000
base_url: /
session_secret: mango-session-secret
library_path: ~/mango/library
db_path: ~/mango/mango.db
queue_db_path: ~/mango/queue.db
scan_interval_minutes: 5
thumbnail_generation_interval_hours: 24
log_level: info
upload_path: ~/mango/uploads
plugin_path: ~/mango/plugins
download_timeout_seconds: 30
library_cache_path: ~/mango/library.yml.gz
cache_enabled: true
cache_size_mbs: 50
cache_log_enabled: true
disable_login: false
default_username: ""
auth_proxy_header_name: ""
plugin_update_interval_hours: 24scan_interval_minutes,thumbnail_generation_interval_hours, andplugin_update_interval_hourscan be any non-negative integer. Setting them to0disables the periodic taskslog_levelcan bedebug,info,warn,error,fataloroff. Setting it tooffdisables the logging- You can disable authentication by setting
disable_loginto true. Note thatdefault_usernamemust be set to an existing username for this to work. - By setting
cache_enabledtotrue, you can enable an experimental feature where Mango caches library metadata to improve page load time. You can further fine-tune the feature withcache_size_mbsandcache_log_enabled.
You can organize your archive 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
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.
Library:
Title:
Dark mode:
Reader:
Mobile UI:
Please check the development guideline if you are interested in code contributions.
Alex Ling 💻 📖 🚇 |
jaredlt 💻 🤔 🎨 |
ココロ 🚇 |
Valentijn 🚇 |
flying-sausages 📖 🤔 |
Xavier 🚇 |
Jarao 🚇 |
이인용 💻 |
Simon 💻 |
David Knaack 🚇 |
i use arch btw 🚇 |
BradleyDS2 📖 |
Robbo 💻 |