Skip to content

adventurelog ​

Travel companion and adventure tracker

Example ​

nix
{config, ...}: {
  nps.stacks.adventurelog = {
    enable = true;
    secretKeyFile = config.sops.secrets."adventurelog/secret_key".path;
    db.passwordFile = config.sops.secrets."adventurelog/db_password".path;
    adminProvisioning = {
      username = "admin";
      email = "admin@example.com";
      passwordFile = config.sops.secrets."adventurelog/admin_password".path;
    };
    oidc = {
      registerClient = true;
      clientSecretHash = "$pbkdf2-sha512$...";
    };
  };
}

Stack Options ​

nps.stacks.adventurelog.adminProvisioning.email ​

Email address for the admin user

Type
plaintext
string
Declaration

nps.stacks.adventurelog.adminProvisioning.passwordFile ​

Path to a file containing the admin user password

Type
plaintext
absolute path
Default
nix
null
Declaration

nps.stacks.adventurelog.adminProvisioning.username ​

Username for the admin user

Type
plaintext
string
Default
nix
"admin"
Declaration

nps.stacks.adventurelog.db.passwordFile ​

Path to the file containing the database password

Type
plaintext
absolute path
Declaration

nps.stacks.adventurelog.db.username ​

Database user name

Type
plaintext
string
Default
nix
"adventurelog"
Declaration

nps.stacks.adventurelog.enable ​

Whether to enable adventurelog.

Type
plaintext
boolean
Default
nix
false
Example
nix
true
Declaration

nps.stacks.adventurelog.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.adventurelog.oidc.registerClient ​

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

To enable OIDC Login, you will have to set it up in Web-UI. For details, see:

Type
plaintext
boolean
Default
nix
false
Declaration

nps.stacks.adventurelog.oidc.userGroup ​

Users of this group will be able to log in

Type
plaintext
string
Default
nix
"adventurelog_user"
Declaration

nps.stacks.adventurelog.secretKeyFile ​

Path to the file containing the Django secret key. Can be generated using openssl rand -hex 32

See https://adventurelog.app/docs/install/docker.html#🔒-backend-server

Type
plaintext
absolute path
Declaration

Container Aliases ​

nps.stacks.adventurelog.containers.adventurelog-backend ​

Alias of {option}services.podman.containers.adventurelog-backend.

Type
plaintext
submodule
Declaration

nps.stacks.adventurelog.containers.adventurelog-db ​

Alias of {option}services.podman.containers.adventurelog-db.

Type
plaintext
submodule
Declaration

nps.stacks.adventurelog.containers.adventurelog-web ​

Alias of {option}services.podman.containers.adventurelog-web.

Type
plaintext
submodule
Declaration