commit
adba178f3d
5 changed files with 73 additions and 0 deletions
|
|
@ -18,6 +18,7 @@
|
||||||
"kavita"
|
"kavita"
|
||||||
"libretranslate"
|
"libretranslate"
|
||||||
"lidarr"
|
"lidarr"
|
||||||
|
"mealie"
|
||||||
"miniflux"
|
"miniflux"
|
||||||
"ntfy-sh"
|
"ntfy-sh"
|
||||||
"nzbget"
|
"nzbget"
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ let
|
||||||
"jellyfin"
|
"jellyfin"
|
||||||
"kavita-api"
|
"kavita-api"
|
||||||
"lidarr"
|
"lidarr"
|
||||||
|
"mealie"
|
||||||
"miniflux"
|
"miniflux"
|
||||||
"nzbget"
|
"nzbget"
|
||||||
"paperless"
|
"paperless"
|
||||||
|
|
@ -202,6 +203,20 @@ in
|
||||||
siteMonitor = "https://couchdb.fi33.buzz/_utils/";
|
siteMonitor = "https://couchdb.fi33.buzz/_utils/";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
Mealie = {
|
||||||
|
description = "Recipe manager and meal planner";
|
||||||
|
icon = "mealie.svg";
|
||||||
|
href = "https://mealie.fi33.buzz/";
|
||||||
|
siteMonitor = "https://mealie.fi33.buzz/";
|
||||||
|
widget = {
|
||||||
|
type = "mealie";
|
||||||
|
url = "https://mealie.fi33.buzz/";
|
||||||
|
version = 2;
|
||||||
|
key = "@mealie@";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
ntfy = {
|
ntfy = {
|
||||||
description = "Send push notifications using PUT/POST";
|
description = "Send push notifications using PUT/POST";
|
||||||
|
|
|
||||||
56
modules/nixos/features/mealie.nix
Normal file
56
modules/nixos/features/mealie.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
port = 5026;
|
||||||
|
certloc = "/var/lib/acme/fi33.buzz";
|
||||||
|
hostname = "mealie.fi33.buzz";
|
||||||
|
url = "https://${hostname}";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
mealie = {
|
||||||
|
enable = true;
|
||||||
|
inherit port;
|
||||||
|
settings = {
|
||||||
|
TZ = "Australia/Melbourne";
|
||||||
|
ALLOW_SIGNUP = "false";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gatus.settings.endpoints = [
|
||||||
|
{
|
||||||
|
name = "Mealie";
|
||||||
|
group = "Private Services";
|
||||||
|
inherit url;
|
||||||
|
interval = "5m";
|
||||||
|
conditions = [
|
||||||
|
"[STATUS] == 200"
|
||||||
|
"[CONNECTED] == true"
|
||||||
|
"[RESPONSE_TIME] < 500"
|
||||||
|
];
|
||||||
|
alerts = [ { type = "ntfy"; } ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# borgmatic.settings = {
|
||||||
|
# source_directories = [ ];
|
||||||
|
# postgresql_databases = [
|
||||||
|
# {
|
||||||
|
# name = "mealie";
|
||||||
|
# hostname = "localhost";
|
||||||
|
# username = "root";
|
||||||
|
# password = "{credential systemd borgmatic-pg}";
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
caddy.virtualHosts.${hostname}.extraConfig = ''
|
||||||
|
reverse_proxy localhost:${toString port}
|
||||||
|
tls ${certloc}/cert.pem ${certloc}/key.pem {
|
||||||
|
protocols tls1.3
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
secrets/mealie.age
Normal file
BIN
secrets/mealie.age
Normal file
Binary file not shown.
|
|
@ -27,6 +27,7 @@ in
|
||||||
"kavita-api.age".publicKeys = users;
|
"kavita-api.age".publicKeys = users;
|
||||||
"kavita.age".publicKeys = users;
|
"kavita.age".publicKeys = users;
|
||||||
"lidarr.age".publicKeys = users;
|
"lidarr.age".publicKeys = users;
|
||||||
|
"mealie.age".publicKeys = users;
|
||||||
"miniflux-creds.age".publicKeys = users;
|
"miniflux-creds.age".publicKeys = users;
|
||||||
"ntfy.age".publicKeys = users;
|
"ntfy.age".publicKeys = users;
|
||||||
"nzbget.age".publicKeys = users;
|
"nzbget.age".publicKeys = users;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue