67 lines
1.5 KiB
Nix
67 lines
1.5 KiB
Nix
{ pkgs, config, ... }:
|
|
let
|
|
domain = "firefly.aciceri.dev";
|
|
domainImporter = "import.firefly.aciceri.dev";
|
|
dbUser = config.services.firefly-iii.user;
|
|
in
|
|
{
|
|
services.firefly-iii = {
|
|
enable = true;
|
|
package = pkgs.firefly-iii;
|
|
virtualHost = domain;
|
|
enableNginx = true;
|
|
settings = {
|
|
APP_ENV = "production";
|
|
APP_KEY_FILE = config.age.secrets.firefly-app-key.path;
|
|
SITE_OWNER = "andrea.ciceri@autistici.org";
|
|
DB_CONNECTION = "pgsql";
|
|
DEFAULT_LANGUAGE = "en_US";
|
|
TZ = "Europe/Rome";
|
|
};
|
|
};
|
|
|
|
services.firefly-iii-data-importer = {
|
|
enable = true;
|
|
enableNginx = true;
|
|
virtualHost = domainImporter;
|
|
settings = {
|
|
IGNORE_DUPLICATE_ERRORS = "false";
|
|
APP_ENV = "production";
|
|
APP_DEBUG = "false";
|
|
LOG_CHANNEL = "stack";
|
|
TRUSTED_PROXIES = "**";
|
|
TZ = "Europe/Rome";
|
|
FIREFLY_III_URL = "https://${domain}";
|
|
VANITY_URL = "https://${domain}";
|
|
};
|
|
};
|
|
|
|
imports = [ ../nginx-base ];
|
|
|
|
services.nginx.virtualHosts = {
|
|
${domain} = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
};
|
|
${domainImporter} = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
};
|
|
};
|
|
|
|
services.postgresql = {
|
|
ensureUsers = [
|
|
{
|
|
name = dbUser;
|
|
ensureDBOwnership = true;
|
|
ensureClauses.login = true;
|
|
}
|
|
];
|
|
ensureDatabases = [ dbUser ];
|
|
};
|
|
|
|
environment.persistence."/persist".directories = [
|
|
config.services.firefly-iii.dataDir
|
|
config.services.firefly-iii-data-importer.dataDir
|
|
];
|
|
}
|