Mango is a self-hosted manga server and web reader
Mango is a self-hosted manga server and reader. Its features include
.cbz
, .zip
, .cbr
and .rar
Please check the Wiki for more information.
Installation Pre-built Binary
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.
Docker
docker-compose
env.example
file to .env
.env
file. 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 userdocker-compose up
. This should build the docker image and start the container with Mango running insidelocalhost:9000
(or a different port if you changed it) to log inDocker (via Dockerhub)
The official docker images are available on Dockerhub.
Build from source
crystal
, shards
and yarn
installed. You might also need to install the development headers of some libraries. Please see the Dockerfile for the full list of dependenciesmake && sudo make install
mango
localhost:9000
to log inUsage CLI
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
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
--- 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: 24
scan_interval_minutes
, thumbnail_generation_interval_hours
, and plugin_update_interval_hours
can be any non-negative integer. Setting them to 0
disables the periodic taskslog_level
can be debug
, info
, warn
, error
, fatal
or off
. Setting it to off
disables the loggingdisable_login
to true. Note that default_username
must be set to an existing username for this to work.cache_enabled
to true
, you can enable an experimental feature where Mango caches library metadata to improve page load time. You can further fine-tune the feature with cache_size_mbs
and cache_log_enabled
.Library Structure
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
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:
Sponsors
Contributors
Please check the development guideline if you are interested in code contributions.
ココロ
🚇
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.