35 lines
786 B
Nix
35 lines
786 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
domain = "books.home.feal.no";
|
|
storage = "/tank/media/books";
|
|
cfg = config.services.calibre-web;
|
|
in {
|
|
services = {
|
|
nginx.virtualHosts.${domain} = {
|
|
locations."/".proxyPass =
|
|
"http://${cfg.listen.ip}:${toString cfg.listen.port}";
|
|
locations."/opds".proxyPass =
|
|
"http://${cfg.listen.ip}:${toString cfg.listen.port}";
|
|
};
|
|
|
|
calibre-server = {
|
|
enable = true;
|
|
user = "calibre-server";
|
|
libraries = [ storage ];
|
|
};
|
|
|
|
calibre-web = {
|
|
enable = true;
|
|
user = "calibre-server";
|
|
listen.ip = "127.0.0.1";
|
|
listen.port = 5010;
|
|
options = {
|
|
calibreLibrary = storage;
|
|
enableBookConversion = true;
|
|
enableBookUploading = true;
|
|
};
|
|
};
|
|
};
|
|
}
|