2020-02-17 03:32:11 +00:00
# Mango
2020-02-11 22:06:17 +00:00
2020-02-17 14:58:33 +00:00
![banner ](./public/img/banner-paddings.png )
2020-02-17 14:57:02 +00:00
Mango is a self-hosted manga server and reader. Its features include
2020-02-17 03:32:11 +00:00
- Multi-user support
- Supports both `.zip` and `.cbz` formats
2020-02-17 04:15:07 +00:00
- Automatically stores reading progress
2020-02-17 03:32:11 +00:00
- 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
2020-02-11 22:06:17 +00:00
## Installation
2020-02-17 16:46:15 +00:00
### Docker
2020-02-17 22:28:09 +00:00
1. Make sure you have docker installed and running. You will also need `docker-compose`
2020-02-17 17:36:11 +00:00
2. Clone the repository
2020-02-20 04:23:11 +00:00
3. Copy `docker-compose.example.yml` to `docker-compose.yml`
4. Modify the `volumes` in `docker-compose.yml` to point the directories to desired locations on the host machine
5. Run `docker-compose up` . This should build the docker image and start the container with Mango running inside
6. Head over to `localhost:9000` to log in
2020-02-17 22:28:09 +00:00
2020-02-21 19:08:55 +00:00
### Pre-built Binary
1. Simply download the pre-built binary file `mango` for the latest [release ](https://github.com/hkalexling/Mango/releases ). It should work for most Linux systems on amd64.
2020-02-17 17:36:11 +00:00
2020-02-17 03:32:11 +00:00
### Build from source
2020-02-17 16:46:15 +00:00
1. Make sure you have Crystal, Node and Yarn installed
2020-02-17 03:32:11 +00:00
2. Clone the repository
2020-02-17 16:46:15 +00:00
3. `make && sudo make install`
2020-02-19 02:57:06 +00:00
4. Start Mango by running the command `mango`
5. Head over to `localhost:9000` to log in
2020-02-11 22:06:17 +00:00
## Usage
2020-02-17 03:32:11 +00:00
### CLI
```
Mango e-manga server/reader. Version 0.1.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
2020-02-20 04:23:11 +00:00
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
2020-02-11 22:06:17 +00:00
2020-02-17 03:32:11 +00:00
```yaml
---
port: 9000
library_path: ~/mango/library
db_path: ~/mango/mango.db
scan_interval_minutes: 5
log_level: info
```
2020-02-11 22:06:17 +00:00
2020-02-17 16:46:15 +00:00
- `scan_interval_minutes` can be any non-negative integer. Setting it to `0` disables the periodic scan
- `log_level` can be `debug` , `info` , `warn` , `error` , `fatal` or `off` . Setting it to `off` disables the logging
### Required Library Structure
Please make sure that your library directory has the following structure:
```
.
├── Manga 1
│ └── Manga 1.cbz
└── Manga 2
├── Vol 0001.zip
├── Vol 0002.zip
├── Vol 0003.zip
├── Vol 0004.zip
└── Vol 0005.zip
```
2020-02-17 04:15:07 +00:00
### Initial Login
2020-02-11 22:06:17 +00:00
2020-02-17 04:15:07 +00:00
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.
2020-02-11 22:06:17 +00:00
2020-02-17 04:15:07 +00:00
## Screenshots
2020-02-11 22:06:17 +00:00
2020-02-17 17:36:11 +00:00
Library:
2020-02-17 16:46:15 +00:00
![library screenshot ](./.github/screenshots/library.png )
2020-02-17 17:36:11 +00:00
Title:
2020-02-17 16:46:15 +00:00
![title screenshot ](./.github/screenshots/title.png )
2020-02-17 17:36:11 +00:00
Reader:
2020-02-17 16:46:15 +00:00
![reader screenshot ](./.github/screenshots/reader.png )
2020-02-17 17:36:11 +00:00
Mobile UI:
2020-02-17 16:46:15 +00:00
![mobile screenshot ](./.github/screenshots/mobile.png )