{ pkgs, ... }:
{
  services.calibre-web = {
    enable = true;
    listen.port = 8083;
    openFirewall = true;
    # Bug in the module puts this in quotes in the systemd file
    user = "calibre-server";
    group = "calibre-server";
    options = {
      calibreLibrary = "/data/books";
      enableBookUploading = true;
    };
  };

  users.users.calibre-server = {
    isSystemUser = true;
    group = "calibre-server";
  };

  services.calibre-server = {
    enable = true;
    libraries = [ "/data/books" ];
    # Bug in the module puts this in quotes in the systemd file
    # user = calibre;
    # group = calibre;
  };

  environment.systemPackages = with pkgs; [ calibre ];

  services.nginx.virtualHosts."books.mossnet.lan" = {
    enableACME = false;
    forceSSL = false;

    locations."/" = {
      extraConfig = ''
        proxy_pass http://localhost:8083/;
        proxy_set_header X-Forwarded-Host $host;
        client_max_body_size 50M;
      '';
    };
  };

  networking.firewall.allowedTCPPorts = [ 8080 ];
}
