Skip to content

audiobookshelf ​

Self-hosted audiobook and podcast server

Example ​

nix
{
  nps.stacks.audiobookshelf = {
    enable = true;
    oidc = {
      registerClient = true;
      clientSecretHash = "$pbkdf2-sha512$...";
    };
  };
}

Stack Options ​

nps.stacks.audiobookshelf.enable ​

Whether to enable audiobookshelf.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.audiobookshelf.oidc.adminGroup ​

Users of this group will be assigned admin rights.

In order to take effect, you will have to enter the value abs_groups in the Group Claim form field in the Audiobookshelf UI.

Type
plaintext
string
Default
nix
"audiobookshelf_admin"
Declaration

nps.stacks.audiobookshelf.oidc.clientSecretHash ​

The client secret hash. For examples on how to generate a client secret, see

https://www.authelia.com/integration/openid-connect/frequently-asked-questions/#client-secret

The value can be passed in multiple ways:

  1. As a literal string
  2. As an absolute path to a file containing the hash (toFile)
  3. As an absolute oath to a file containing the client_secret, in which case the hash will be automatically computed (toHash)
Type
plaintext
string or (submodule)
Example
nix
# Literal String:
"$pbkdf2-sha512$310000$cbOAIWbfz3vCVXIPIp6d2A$J0klwULa6TvPRCU1HAfuKua/dMKTl8gbTYJz2N73ejGUu0LUGz/y3kwmJLuKuAYGg3WQOT0q9ZzVHHUvpKpgvQ"

# Client secret hash stored in a file
{ fromFile = config.sops.secrets."immich/client_secret_hash".path; }

# Client secret stored in a file: Hash will be computed dynamically
{ toHash = config.sops.secrets."immich/client_secret".path; }
Declaration

nps.stacks.audiobookshelf.oidc.registerClient ​

Whether to register a Audiobookshelf OIDC client in Authelia. If enabled you need to provide a hashed secret in the client_secret option.

To enable OIDC Login for Audiobookshelf, you will have to enable it in the Web UI.

For details, see:

Type
plaintext
boolean
Default
nix
false
Declaration

nps.stacks.audiobookshelf.oidc.userGroup ​

Users of this group will be able to log in

In order to take effect, you will have to enter the value abs_groups in the Group Claim form field in the Audiobookshelf UI.

Type
plaintext
string
Default
nix
"audiobookshelf_user"
Declaration

Container Aliases ​

nps.stacks.audiobookshelf.containers.audiobookshelf ​

Alias of {option}services.podman.containers.audiobookshelf.

Type
plaintext
submodule
Declaration