convert actualbudget to quadlet

This commit is contained in:
TheWanderingCrow 2026-02-03 11:52:30 -05:00
parent fd55627e8f
commit 005731f1d5
2 changed files with 22 additions and 19 deletions

View file

@ -43,11 +43,11 @@
"modules/quadlets"
"modules/quadlets/booklore"
"modules/quadlets/frigate"
"modules/quadlets/actualbudget"
# Hosted services
"modules/services/system-logging/prometheus-server.nix"
"modules/services/mealie"
"modules/services/actualbudget"
"modules/services/mqtt"
"modules/services/lubelogger"
"modules/services/trilium"

View file

@ -1,4 +1,5 @@
{
lib,
inputs,
config,
...
@ -6,6 +7,8 @@
let
volumePath = "/overseer/services";
sopsFolder = builtins.toString inputs.nix-secrets + "/sops";
serverPort = builtins.toString (lib.custom.autoport "serverActualbudget");
apiPort = builtins.toString (lib.custom.autoport "apiActualbudget");
in
{
nixpkgs.overlays = [ inputs.actualbudget-report.overlays.default ];
@ -54,11 +57,12 @@ in
};
templates = {
# ACTUAL_OPENID_DISCOVERY_URL=https://auth.wanderingcrow.net/.well-known/openid-configuration
# ACTUAL_OPENID_CLIENT_ID=${config.sops.placeholder."actualbudget/client-id"}
# ACTUAL_OPENID_CLIENT_SECRET=${config.sops.placeholder."actualbudget/client-secret"}
# ACTUAL_OPENID_SERVER_HOSTNAME=https://budget.wanderingcrow.net
"actualbudget-env".content = ''
ACTUAL_OPENID_DISCOVERY_URL=https://auth.wanderingcrow.net/.well-known/openid-configuration
ACTUAL_OPENID_CLIENT_ID=${config.sops.placeholder."actualbudget/client-id"}
ACTUAL_OPENID_CLIENT_SECRET=${config.sops.placeholder."actualbudget/client-secret"}
ACTUAL_OPENID_SERVER_HOSTNAME=https://budget.wanderingcrow.net
ACTUAL_PORT=80
'';
"actualbudget-api-env".content = ''
ACTUAL_SERVER_URL=https://budget.wanderingcrow.net
@ -82,31 +86,30 @@ in
enable = true;
virtualHosts = {
"budget.wanderingcrow.net".extraConfig = ''
reverse_proxy http://10.88.0.12
reverse_proxy http://localhost:${serverPort}
'';
"api.budget.wanderingcrow.net".extraConfig = ''
reverse_proxy http://10.88.0.13:5007
reverse_proxy http://localhost:${apiPort}
'';
};
};
virtualisation.oci-containers = {
backend = "podman";
virtualisation.quadlet = {
containers = {
"actualbudget" = {
image = "actualbudget/actual-server:25.10.0";
actualbudget.containerConfig = {
image = "actualbudget/actual-server:26.2.0";
volumes = [ "${volumePath}/actualbudget:/data" ];
extraOptions = [ "--ip=10.88.0.12" ];
environment = {
ACTUAL_PORT = "80";
};
environmentFiles = [ config.sops.templates."actualbudget-env".path ];
publishPorts = [
"${serverPort}:80"
];
};
"actualbudget-api" = {
image = "jhonderson/actual-http-api:25.10.0";
actualbudget-api.containerConfig = {
image = "jhonderson/actual-http-api:26.2.0";
volumes = [ "${volumePath}/actualbudget-api:/data" ];
extraOptions = [ "--ip=10.88.0.13" ];
environmentFiles = [ config.sops.templates."actualbudget-api-env".path ];
publishPorts = [
"${serverPort}:5006"
];
};
};
};