Skip to content

πŸŒ• Media server for storing, tagging and viewing doujinshi, manga, art collections and other galleries with API and user control. Written in Go.

License

Notifications You must be signed in to change notification settings

Mangatsu/server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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).

At experimental stage until version 1.0.0. Expect breaking changes.

πŸ“Œ Features

  • Organizing and tagging local (and remote, with tools like rclone) 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 grouped catalogue
Gallery Page + Editing Series Listing
editing gallery series listing
User Settings Administration
settings administration

πŸ“Œ Clients

🌏 Web client

πŸ“± Tachiyomi extension for Android

  • Coming soon

πŸ“Œ Installation and usage

πŸ“– Guides

🐳 Docker setup (recommended)

GitHub Container Registry: server & web

DockerHub: server & web images

  • Set up a webserver of your choice. NGINX is recommended.
    • Example config. 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 (Linux, Windows or MacOS)
  • Local archives
    • Download the 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
  • 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