From f0b3b2a4b42151a9c2c09079bd18b30c50249b3f Mon Sep 17 00:00:00 2001 From: TheWanderingCrow Date: Tue, 1 Jul 2025 14:14:36 -0400 Subject: [PATCH] start porting services over --- README.md | 1 + modules/services/actualbudget/default.nix | 41 +++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 modules/services/actualbudget/default.nix diff --git a/README.md b/README.md index 1321010..521ec29 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ - `darwin` - Custom modules specific to dariwn-based hosts - `home` - Custom modules to home-manager - `nixos` - Custom modules specific to nixos-based hosts + - `services` - Definitions for hosted services - `overlays` - Custom modifications to upstream packages. - Currently not using overlays. - `pkgs` - Custom packages meant to be shared or upstreamed. diff --git a/modules/services/actualbudget/default.nix b/modules/services/actualbudget/default.nix new file mode 100644 index 0000000..0fbed98 --- /dev/null +++ b/modules/services/actualbudget/default.nix @@ -0,0 +1,41 @@ +{ + lib, + config, + ... +}: let + volumePath = "/overseer/services"; +in { + systemd.tmpfiles.rules = [ + "d ${volumePath}/actualbudget" + ]; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + virtualHosts = { + "budget.wanderingcrow.net" = { + forceSSL = true; + useACMEHost = "budget.wanderingcrow.net"; + locations = { + "/" = { + proxyPass = "http://10.88.0.12"; + proxyWebsockets = true; + }; + }; + }; + }; + }; + virtualisation.oci-containers = { + backend = "podman"; + containers = { + "actualbudget" = { + image = "actualbudget/actual-server:latest"; + volumes = ["${volumePath}/actualbudget:/data"]; + extraOptions = ["--ip=10.88.0.12"]; + environment = { + ACTUAL_PORT = "80"; + }; + }; + }; + }; +}