mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-25 09:05:36 +00:00
38 lines
967 B
Nix
38 lines
967 B
Nix
{ config, lib, ... }:
|
|
{
|
|
|
|
config = lib.mkIf config.services.audiobookshelf.enable {
|
|
|
|
services.audiobookshelf = {
|
|
dataDir = "audiobookshelf";
|
|
};
|
|
|
|
# Allow web traffic to Caddy
|
|
caddy.routes = [
|
|
{
|
|
match = [ { host = [ config.hostnames.audiobooks ]; } ];
|
|
handle = [
|
|
{
|
|
handler = "reverse_proxy";
|
|
upstreams = [ { dial = "localhost:${builtins.toString config.services.audiobookshelf.port}"; } ];
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
# Configure Cloudflare DNS to point to this machine
|
|
services.cloudflare-dyndns.domains = [ config.hostnames.audiobooks ];
|
|
|
|
# Grant user access to Audiobookshelf directories
|
|
users.users.${config.user}.extraGroups = [ config.services.audiobookshelf.group ];
|
|
|
|
# Grant audiobookshelf access to media and Calibre directories
|
|
users.users.${config.services.audiobookshelf.user}.extraGroups = [
|
|
"media"
|
|
"calibre-web"
|
|
];
|
|
|
|
};
|
|
|
|
}
|