server

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2022 License: GPL-3.0

README ΒΆ

Mangatsu

Still at very experimental stage. Expect lots of breaking changes.

πŸŒ• Server application for storing, tagging and reading doujinshi, manga, art collections and other galleries with API access and user control. Written in Go.

πŸ“° CHANGELOG | ❀ CONTRIBUTING | 🎯 TODO

πŸ“Œ 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, 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.

πŸ“Œ Clients

🌏 Web client

πŸ“± Tachiyomi extension for Android

  • Coming soon

πŸ“Œ Installation and usage

πŸ“– Guides

  • 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

Docker images: Server & Web

πŸ’» Local setup

  • Copy example.env as .env and change the values according to your needs.
  • Create data and archive directories
  • Build go build
  • Run backend (backend.exe on Windows)

Directories ΒΆ

Path Synopsis
cmd
internal
pkg
api
db

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL