Skip to content

filebrowser

Example

nix
{config, ...}: {
  filebrowser = {
    enable = true;
    mounts = {
      ${config.home.homeDirectory} = "/home";
      ${config.nps.externalStorageBaseDir} = "/hdd";
    };
  };
}

Stack Options

nps.stacks.filebrowser-quantum.containers.filebrowser-quantum

Alias of {option}services.podman.containers.filebrowser-quantum.

Type
plaintext
submodule
Declaration

nps.stacks.filebrowser-quantum.enable

Whether to enable filebrowser-quantum.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.filebrowser-quantum.mounts

Mount configuration for the file browser. Format: { 'hostPath' = container-source-config }

The mounts will be added to the settings source section and a volume mount will be added for each configured source.

See https://github.com/gtsteffaniak/filebrowser/wiki/Configuration-And-Examples#example-advanced-source-config

Type
plaintext
attribute set of (submodule)
Default
nix
{ }
Example
nix
{
  "/home/foo/media" = {
    config = {
      disableIndexing = false;
      exclude = {
        fileEndsWith = [
          ".zip"
          ".txt"
        ];
      };
    };
    path = "/media";
  };
  "/mnt/ext/data" = {
    name = "ext-data";
    path = "/data";
  };
}
Declaration

nps.stacks.filebrowser-quantum.mounts.<name>.config

Type
plaintext
open submodule of (YAML 1.1 value)
Default
nix
{ }
Declaration

nps.stacks.filebrowser-quantum.mounts.<name>.name

Optional name of the source, otherwise the source gets named the folder name

Type
plaintext
null or string
Default
nix
null
Example
nix
"folder"
Declaration

nps.stacks.filebrowser-quantum.mounts.<name>.path

Path of the source in the container

Type
plaintext
absolute path
Example
nix
"/mnt/folder"
Declaration

nps.stacks.filebrowser-quantum.oidc.adminGroup

Users of this group will be assigned admin rights

Type
plaintext
string
Default
nix
"filebrowser-quantum_admin"
Declaration

nps.stacks.filebrowser-quantum.oidc.clientSecretFile

The file containing the client secret for the OIDC client that will be registered in Authelia.

Type
plaintext
string
Declaration

nps.stacks.filebrowser-quantum.oidc.clientSecretHash

The hashed client_secret. Will be set in the Authelia client config. For examples on how to generate a client secret, see

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

Type
plaintext
string
Declaration

nps.stacks.filebrowser-quantum.oidc.enable

Whether to enable OIDC login with Authelia. This will register an OIDC client in Authelia and setup the necessary configuration.

For details, see:

Type
plaintext
boolean
Default
nix
false
Declaration

nps.stacks.filebrowser-quantum.oidc.userGroup

Users of this group will be able to log in

Type
plaintext
string
Default
nix
"filebrowser-quantum_user"
Declaration

nps.stacks.filebrowser-quantum.settings

Settings that will be added to the config.yml. To configure sources, you should prefer using the mounts option, as the corresponding volume mappings will be configured automatically.

See https://github.com/gtsteffaniak/filebrowser/wiki/Configuration-And-Examples#configuring-your-application

Type
plaintext
YAML 1.1 value
Declaration

nps.stacks.filebrowser.containers.filebrowser

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

Type
plaintext
submodule
Declaration

nps.stacks.filebrowser.enable

Whether to enable filebrowser.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.filebrowser.mounts

Mount points for the file browser. Format: { 'hostPath' = 'containerPath' }

Type
plaintext
attribute set of string
Example
nix
{
  "/home/foo/media" = "/media";
  "/mnt/ext/data" = "/data";
}
Declaration