diff --git a/hosts/firefly-iii/default.nix b/hosts/firefly-iii/default.nix index 98ed9bb..f67622f 100644 --- a/hosts/firefly-iii/default.nix +++ b/hosts/firefly-iii/default.nix @@ -4,6 +4,9 @@ lib, ... }: +let + p = import ../parameters.nix; +in { age.secrets = { @@ -12,8 +15,8 @@ owner = config.services.firefly-iii.user; group = config.services.firefly-iii.group; }; - firefly-iii-mailgun-key = { - file = ../../secrets/firefly-iii-mailgun-key.age; + scaleway-password = { + file = ../../secrets/scaleway-password.age; owner = config.services.firefly-iii.user; group = config.services.firefly-iii.group; }; @@ -28,7 +31,8 @@ services.firefly-iii = { enable = true; accessToken = config.age.secrets.firefly-iii-app-key.path; - mailgun_key = config.age.secrets.firefly-iii-mailgun-key.path; + mail_password_file = config.age.secrets.scaleway-password.path; + proxy.domain = p.domains.public; }; virtualisation.proxmox.enable = true; diff --git a/modules/services/firefly-iii.nix b/modules/services/firefly-iii.nix index fb88095..57e82d3 100644 --- a/modules/services/firefly-iii.nix +++ b/modules/services/firefly-iii.nix @@ -23,12 +23,11 @@ in ''; }; - # age.secrets.firefly-iii-mailgun-key.file = ../../secrets/firefly-iii-mailgun-key.age; - mailgun_key = lib.mkOption { + mail_password_file = lib.mkOption { type = lib.types.path; default = ""; description = '' - Mailgun API key for sending emails + SMTP API key for sending emails ''; }; @@ -82,7 +81,7 @@ in settings = { APP_ENV = "production"; APP_URL = "https://${cfg.proxy.subdomain}.${cfg.proxy.domain}"; - SITE_OWNER = "davide@pasetto.me"; + SITE_OWNER = "admin@${cfg.proxy.domain}"; DEFAULT_LANGUAGE = "en_US"; TZ = "Europe/Rome"; TRUSTED_PROXIES = "**"; @@ -98,9 +97,13 @@ in DB_DATABASE = dbName; DB_USERNAME = config.services.firefly-iii.user; - MAILGUN_ENDPOINT = "api.eu.mailgun.net"; - MAILGUN_DOMAIN = "pazpi.top"; - MAILGUN_SECRET_FILE = cfg.mailgun_key; + MAIL_MAILER = "smtp"; + MAIL_HOST = "smtp.tem.scaleway.com"; + MAIL_PORT = 465; + MAIL_FROM = "money@${cfg.proxy.domain}"; + MAIL_USERNAME = "5cbeeec0-9c3a-441a-9772-c11e9650fcd2"; + MAIL_PASSWORD_FILE = cfg.mail_password_file; + MAIL_ENCRYPTION = "tls"; # Exactly 32 chars APP_KEY_FILE = cfg.accessToken; diff --git a/secrets.nix b/secrets.nix index 2aa68cc..42e023b 100644 --- a/secrets.nix +++ b/secrets.nix @@ -26,7 +26,10 @@ let paperless-oauth2-client-secret = [ machines.paperless ]; zigbee2mqtt-password = [ machines.zigbee2mqtt ]; mqtt-password = [ machines.zigbee2mqtt ]; - scaleway-password = [ machines.forgejo ]; + scaleway-password = [ + machines.forgejo + machines.firefly-iii + ]; }; in builtins.listToAttrs (