adventurelog
Travel companion and adventure tracker
Example
{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
nps.stacks.adventurelog.adminProvisioning.passwordFile
Path to a file containing the admin user password
nps.stacks.adventurelog.adminProvisioning.username
Username for the admin user
nps.stacks.adventurelog.containers.adventurelog-backend
Alias of {option}services.podman.containers.adventurelog-backend.
nps.stacks.adventurelog.containers.adventurelog-db
Alias of {option}services.podman.containers.adventurelog-db.
nps.stacks.adventurelog.containers.adventurelog-web
Alias of {option}services.podman.containers.adventurelog-web.
nps.stacks.adventurelog.db.passwordFile
Path to the file containing the database password
nps.stacks.adventurelog.db.username
Database user name
nps.stacks.adventurelog.enable
Whether to enable adventurelog.
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:
- As a literal string
- As an absolute path to a file containing the hash (
toFile) - As an absolute oath to a file containing the client_secret, in which case the hash will be automatically computed (
toHash)
string or (submodule)
# 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; }
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:
nps.stacks.adventurelog.oidc.userGroup
Users of this group will be able to log in
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