Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mangatsu/server
🌕 Media server for storing, tagging and viewing doujinshi, manga, art collections and other galleries with API and user control. Written in Go.
https://github.com/mangatsu/server
api comic comic-reader docker doujinshi go manga manga-api manga-server manga-storage mediaserver metadata nas sadpanda self-hosted storage
Last synced: about 1 month ago
JSON representation
🌕 Media server for storing, tagging and viewing doujinshi, manga, art collections and other galleries with API and user control. Written in Go.
- Host: GitHub
- URL: https://github.com/mangatsu/server
- Owner: Mangatsu
- License: gpl-3.0
- Created: 2022-01-27T13:03:10.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-24T09:55:54.000Z (4 months ago)
- Last Synced: 2024-09-26T02:05:01.120Z (about 2 months ago)
- Topics: api, comic, comic-reader, docker, doujinshi, go, manga, manga-api, manga-server, manga-storage, mediaserver, metadata, nas, sadpanda, self-hosted, storage
- Language: Go
- Homepage:
- Size: 11.8 MB
- Stars: 48
- Watchers: 3
- Forks: 6
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: COPYING
Awesome Lists containing this project
README
Mangatsu
> 🌕 Server application for **storing**, **tagging** and **reading** doujinshi, manga, art collections and other galleries with API access and user control. Written in Go.
> The name, **Mangatsu**, is a play on Japanese words **mangetsu** (満月, full moon) and **manga** (漫画, comic).### **[📰 CHANGELOG](docs/CHANGELOG.md)** | **[❤ CONTRIBUTING](docs/CONTRIBUTING.md)**
### At experimental stage until version 1.0.0. Expect breaking changes.
## 📌 Features
- Organizing and tagging local (and remote, with tools like [rclone](https://rclone.org)) collections of manga, doujinshi and other art
- **Mangatsu will never do any writes inside specified locations.**
- Supports **ZIP** (or CBZ), **RAR** (or CBR), **7z** and plain image (png, jpg, jpeg, webp, avif, heif, gif, tiff, bmp) files.
- PDF and video support is planned.
- Metadata parsing from filenames and JSON files (inside or beside the archive)
- Support for more sources is planned such as TXT files from EH/ExH
- API-access to the collection and archives
- Extensive filtering, sorting and searching capabilities
- Additional features for registered users such as tracking reading progress and adding favorite groups. Currently only in API, not in UI.
- User access control
- **Private**: only logged-in users can access the collection and archives (public registration disabled by default).
- **Restricted**: users need a global passphrase to access collection and its galleries
- **Public**: anyone can access (only read) collection and its galleries
- Assignable roles (admin, member, viewer), and login sessions (can be managed through web)
- Local cache and thumbnail support. _File server can be disabled to allow web servers like NGINX to handle the files._## 🖼️ Preview
| Main Catalogue | Main Catalogue (grouped galleries) |
|---------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| [![catalogue](docs/images/thumbnails/catalogue.png)](docs/images/catalogue.png) | [![grouped catalogue](docs/images/thumbnails/catalogue_grouped.png)](docs/images/catalogue_grouped.png) || Gallery Page + Editing | Series Listing |
|---------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|
| [![editing gallery](docs/images/thumbnails/editing_gallery.png)](docs/images/editing_gallery.png) | [![series listing](docs/images/thumbnails/series_listing.png)](docs/images/series_listing.png) || User Settings | Administration |
|------------------------------------------------------------------------------|------------------------------------------------------------------------------|
| [![settings](docs/images/thumbnails/settings.png)](docs/images/settings.png) | [![administration](docs/images/thumbnails/admin.png)](docs/images/admin.png) |## 📌 Clients
### 🌏 Web client
- Included in the Docker setup below
- Source: [Mangatsu Web](http://github.com/Mangatsu/web)### 📱 [Tachiyomi](https://tachiyomi.org) extension for Android
- Coming soon## 📌 Installation and usage
### 📖 Guides
- **[📝 Configuration with environmentals](docs/ENVIRONMENTALS.md)**
- **[📚 Library directory structure](docs/LIBRARY.md)**### 🐳 Docker setup (recommended)
#### GitHub Container Registry: [server](https://github.com/Mangatsu/server/pkgs/container/server) & [web](https://github.com/Mangatsu/server/pkgs/container/server)
#### DockerHub: [server](https://hub.docker.com/r/luukuton/mangatsu-server/) & [web](https://hub.docker.com/r/luukuton/mangatsu-web) images
- Set up a webserver of your choice. NGINX is recommended.
- [Example config](docs/nginx.conf). The same config can be used for both the server and the web client. Just change the domains, SSL cert paths and ports.
- Install [Docker](https://docs.docker.com/engine/install/) (Linux, Windows or MacOS)
- Local archives
- Download the [docker-compose.example.yml](docs/docker-compose.example.yml) and rename it to docker-compose.yml
- Edit the docker-compose.yml file to your needs
- Create data and archive directories
- Network archives with [Rclone](https://rclone.org)
- Follow the [guide on Rclone site](https://rclone.org/docker/)
- Download the [docker-compose.rclone.yml](docs/docker-compose.rclone.yml) and rename it to docker-compose.yml
- Run `docker-compose up -d` to start the server and web client
- Update by running `docker-compose down`, `docker-compose pull` and then `docker-compose up -d`### 💻 Local setup
- Set up server
- Copy example.env as .env and change the values according to your needs
- Build `go build ./cmd/mangatsu-server`
- Run `./mangatsu-server` (`mangatsu-server.exe` on Windows)
- Set up web
- [Guide on github.com/Mangatsu/web](https://github.com/Mangatsu/web)