GitHunt
MI

MicheleYin/mangayomi-server

mangayomi-server

A self-hosted server for Mangayomi.

Hosted Servers

Requirements

IDE

Setup - Local

  1. Install Rust
  2. Setup a MongoDB Server by either using a hosting platform or on your on machine / server.
    If you need a free MongoDB server that runs 24/7: MongoDB Atlas
    If you want to install your own server locally: MongoDB Community
  3. Now you can clone the GitHub repository to your machine / server: git clone https://github.com/mangayomi/mangayomi-sync.git
  4. Go to the cloned repository and copy the .env.dist file to a new .env file in the same directory
  5. Open .env and add a secret key for the field "SECRET_KEY": just auto generate it there - 64 instead of 16 bytes long
  6. Open .env and adjust the values as needed
  7. Now run cargo run to run the server.
  8. Connect to the sync server using the host and port set in .env.
    By default, the server will be reachable at http://localhost:8080

SSL Configuration

To run the server with SSL (HTTPS), follow these steps:

  1. Prepare your certificate files: You need a certificate chain file (PEM format) and a private key file (PEM format).
  2. Configure environment variables: Add the following to your .env file:
    SSL_CERT=/path/to/your/fullchain.pem
    SSL_KEY=/path/to/your/privkey.pem
  3. Restart the server: The server will automatically detect these variables and start in HTTPS mode.

Generating a self-signed certificate for testing

If you want to test locally, you can generate a self-signed certificate:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

Then set SSL_CERT=cert.pem and SSL_KEY=key.pem in your .env.

Setup - Docker Compose

  1. Install Docker Engine / Desktop.
    Most installations will come with Compose included, but it can also be installed manually.
  2. Make a copy of the .env.dist file by running cat .env.dist >> .env.
    Changing the default passwords is strongly recommended, even when running locally.
  3. Add a secret key for the field "SECRET_KEY": just auto generate it there - 64 instead of 16 bytes long
  4. If you're running the server on an ARM64 CPU, replace Dockerfile with Dockerfile.arm64
  5. Run the project with docker compose up -d
  6. Connect to the sync server using the host and port set in .env.
    By default, the server will be reachable at http://localhost:8080

How to use it on the client

Go to Settings -> Sync:

  1. Enable sync
  2. Register an account on your Sync Servers website
  3. Enter the IP + Port / Domain of your Sync Server, email address and a password with at least 8 characters.
  4. Press 'Sync progress'!

Star History

Star History Chart

Languages

CSS62.5%Rust21.5%HTML8.4%TypeScript7.0%JavaScript0.2%Dockerfile0.2%Shell0.1%SCSS0.1%

Contributors

MIT License
Created February 8, 2026
Updated February 8, 2026