nixpkgs/nixos/modules/services/web-apps/suwayomi-server.md
Janne Heß fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01:00

2.2 KiB

Suwayomi-Server

A free and open source manga reader server that runs extensions built for Tachiyomi.

Basic usage

By default, the module will execute Suwayomi-Server backend and web UI:

{ ... }:

{
  services.suwayomi-server = {
    enable = true;
  };
}

It runs in the systemd service named suwayomi-server in the data directory /var/lib/suwayomi-server.

You can change the default parameters with some other parameters:

{ ... }:

{
  services.suwayomi-server = {
    enable = true;

    dataDir = "/var/lib/suwayomi"; # Default is "/var/lib/suwayomi-server"
    openFirewall = true;

    settings = {
      server.port = 4567;
    };
  };
}

If you want to create a desktop icon, you can activate the system tray option:

{ ... }:

{
  services.suwayomi-server = {
    enable = true;

    dataDir = "/var/lib/suwayomi"; # Default is "/var/lib/suwayomi-server"
    openFirewall = true;

    settings = {
      server.port = 4567;
      server.enableSystemTray = true;
    };
  };
}

Basic authentication

You can configure a basic authentication to the web interface with:

{ ... }:

{
  services.suwayomi-server = {
    enable = true;

    openFirewall = true;

    settings = {
      server.port = 4567;
      server = {
        basicAuthEnabled = true;
        basicAuthUsername = "username";

        # NOTE: this is not a real upstream option
        basicAuthPasswordFile = ./path/to/the/password/file;
      };
    };
  };
}

Extra configuration

Not all the configuration options are available directly in this module, but you can add the other options of suwayomi-server with:

{ ... }:

{
  services.suwayomi-server = {
    enable = true;

    openFirewall = true;

    settings = {
      server = {
        port = 4567;
        autoDownloadNewChapters = false;
        maxSourcesInParallel = 6;
        extensionRepos = [
          "https://raw.githubusercontent.com/MY_ACCOUNT/MY_REPO/repo/index.min.json"
        ];
      };
    };
  };
}