super-productivity
Todo list and time tracking with self-hosted SuperSync
Example
Web app only (no sync):
{
nps.stacks.super-productivity = {
enable = true;
};
}With SuperSync:
{config, ...}: {
nps.stacks.super-productivity = {
enable = true;
enableSync = true;
jwtSecretFile = config.sops.secrets."super-productivity/jwt_secret".path;
db.passwordFile = config.sops.secrets."super-productivity/db_password".path;
smtp = {
host = "mail.example.com";
user = "user";
passwordFile = config.sops.secrets."super-productivity/smtp_password".path;
from = "SuperSync <noreply@example.com>";
};
};
}Stack Options
nps.stacks.super-productivity.db.passwordFile
Path to a file containing the PostgreSQL password for the SuperSync database. Only required when enableSync is true.
nps.stacks.super-productivity.enable
Whether to enable super-productivity.
nps.stacks.super-productivity.enableSync
Whether to enable SuperSync server with PostgreSQL.
nps.stacks.super-productivity.jwtSecretFile
Path to a file containing the SuperSync JWT secret. Generate with openssl rand -hex 32. Only required when enableSync is true.
nps.stacks.super-productivity.smtp.from
Sender email address (e.g. 'SuperSync noreply@example.com').
nps.stacks.super-productivity.smtp.host
SMTP server hostname for email delivery.
nps.stacks.super-productivity.smtp.passwordFile
Path to file containing the SMTP password.
nps.stacks.super-productivity.smtp.port
SMTP server port.
nps.stacks.super-productivity.smtp.secure
Whether to use TLS for SMTP connections.
nps.stacks.super-productivity.smtp.user
SMTP username.
Container Aliases
nps.stacks.super-productivity.containers.super-productivity
Alias of {option}services.podman.containers.super-productivity.
nps.stacks.super-productivity.containers.super-productivity-db
Alias of {option}services.podman.containers.super-productivity-db.
nps.stacks.super-productivity.containers.supersync
Alias of {option}services.podman.containers.supersync.
