diff --git a/hosts/hades/default.nix b/hosts/hades/default.nix index f2a4158..2b84d21 100644 --- a/hosts/hades/default.nix +++ b/hosts/hades/default.nix @@ -84,6 +84,7 @@ in { mealie = { enable = true; port = 8090; + credentialsFile = config.age.secrets."mealie/secret-config".path; }; microbin = { diff --git a/hosts/hades/secrets.nix b/hosts/hades/secrets.nix index a5df603..2623fe8 100644 --- a/hosts/hades/secrets.nix +++ b/hosts/hades/secrets.nix @@ -22,6 +22,8 @@ owner = "matrix-synapse"; }; + "mealie/secret-config" = {}; + "microbin/secret-config" = {}; "miniflux/admin-credentials" = {}; diff --git a/modules/secrets/mealie/secret-config.age b/modules/secrets/mealie/secret-config.age new file mode 100644 index 0000000..cd02884 Binary files /dev/null and b/modules/secrets/mealie/secret-config.age differ diff --git a/modules/secrets/secrets.nix b/modules/secrets/secrets.nix index 452effa..c918355 100644 --- a/modules/secrets/secrets.nix +++ b/modules/secrets/secrets.nix @@ -22,6 +22,8 @@ in { "matrix-synapse/secret-config.age".publicKeys = [alarsyo hades]; + "mealie/secret-config.age".publicKeys = [alarsyo hades]; + "microbin/secret-config.age".publicKeys = [alarsyo hades]; "miniflux/admin-credentials.age".publicKeys = [alarsyo hades]; diff --git a/services/mealie.nix b/services/mealie.nix index 61baefe..0be80e3 100644 --- a/services/mealie.nix +++ b/services/mealie.nix @@ -29,11 +29,23 @@ in { example = 8080; description = "Internal port for Mealie webapp"; }; + credentialsFile = lib.mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/secrets/mealie-credentials.env"; + description = '' + File containing credentials used in mealie such as {env}`POSTGRES_PASSWORD` + or sensitive LDAP options. + + Expects the format of an `EnvironmentFile=`, as described by {manpage}`systemd.exec(5)`. + ''; + }; }; config = mkIf cfg.enable { services.mealie = { inherit listenAddress; + inherit (cfg) credentialsFile; enable = true; package = pkgs.unstable.mealie;