9 domain = "sourcephile.fr";
11 calibre = config.services.calibre-server;
12 stateDir = "/var/lib/calibre";
15 # Beware, calibre pulls a lot of dependencies..
16 # TODO: The calibre server also supports systemd socket activation
17 services.calibre-server = {
22 "${stateDir}/libraries/julm"
24 # sudo -u calibre-server calibre-server --userdb /var/lib/calibre/users.sqlite --manage-users
28 userDb = "${stateDir}/users.sqlite";
31 systemd.services.calibre-server = {
34 StartLimitIntervalSec = "600s";
40 "${pkgs.calibre}/bin/calibre-server"
41 "--disable-use-bonjour"
45 (toString calibre.port)
47 ++ lib.optionals calibre.auth.enable [
57 MemoryAccounting = true;
60 Restart = mkForce "on-failure";
64 users.users.calibre-server.home = mkForce stateDir;
68 servers."${calibre.host}:${toString calibre.port}" = {
74 virtualHosts."${srv}.${domain}" = {
78 access_log /var/log/nginx/${domain}/${srv}/access.log json buffer=32k;
79 error_log /var/log/nginx/${domain}/${srv}/error.log;
82 proxyPass = "http://${srv}";
84 client_max_body_size 256m;
89 systemd.services.nginx = {
91 LogsDirectory = lib.mkForce [ "nginx/${domain}/${srv}" ];
94 services.sanoid.datasets."rpool/var/lib/${srv}" = {
95 use_template = [ "snap" ];