diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2025-02-18 20:43:43 +0100 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2025-02-18 20:43:43 +0100 |
| commit | c0616edd38161b81ec1624efba3f024b120ba4c6 (patch) | |
| tree | 25812919ca3e2f062cbc501e4235848d72c9f889 /hosts/vidhar/firefly-iii | |
| parent | 4f8de36fe8ceae7d57632c319bcadfeaa7e1a3fd (diff) | |
| download | nixos-c0616edd38161b81ec1624efba3f024b120ba4c6.tar nixos-c0616edd38161b81ec1624efba3f024b120ba4c6.tar.gz nixos-c0616edd38161b81ec1624efba3f024b120ba4c6.tar.bz2 nixos-c0616edd38161b81ec1624efba3f024b120ba4c6.tar.xz nixos-c0616edd38161b81ec1624efba3f024b120ba4c6.zip | |
firefly-iii
Diffstat (limited to 'hosts/vidhar/firefly-iii')
| -rw-r--r-- | hosts/vidhar/firefly-iii/app_key | 24 | ||||
| -rw-r--r-- | hosts/vidhar/firefly-iii/default.nix | 64 |
2 files changed, 88 insertions, 0 deletions
diff --git a/hosts/vidhar/firefly-iii/app_key b/hosts/vidhar/firefly-iii/app_key new file mode 100644 index 00000000..b318b9c1 --- /dev/null +++ b/hosts/vidhar/firefly-iii/app_key | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | { | ||
| 2 | "data": "ENC[AES256_GCM,data:Z/u19vdnY5B76AaQCZOaXGRHTXiAaZ3OlnpEwehK40De6EoTzvs8BzC4/a6KVam5JDjcog==,iv:ZlCNcjQV1brRllTVdfFjhOcDe7sjHIRVbjs/dNT/w0o=,tag:bAtBraAy+i02pyVuhWoXBg==,type:str]", | ||
| 3 | "sops": { | ||
| 4 | "kms": null, | ||
| 5 | "gcp_kms": null, | ||
| 6 | "azure_kv": null, | ||
| 7 | "hc_vault": null, | ||
| 8 | "age": [ | ||
| 9 | { | ||
| 10 | "recipient": "age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866", | ||
| 11 | "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIZEZVVTZLU2VPQmM2Tjk3\nVEUvVitWRjdGRnE2Vm9FVjFhTk1IZ0g1bjJjCjd5dnZNd1VrTVc4QktRM0Z2aFdp\nVlRqLy9BMDV4VGI1SjdmWTFFVFZONG8KLS0tIHRYMGlpalZZUEJFU3c0Z0hXK1lQ\ndnFndWJmTTFjWVAzdkhwN0x6eHVHVmsKVls/ERf4ZfnTqryB6yt5OcjU42RlgAoD\nmMZzuEbhuGBApu2rEKlo4v/AKST6OVIlsiYr0na2W4vlmBOEs8OB1g==\n-----END AGE ENCRYPTED FILE-----\n" | ||
| 12 | }, | ||
| 13 | { | ||
| 14 | "recipient": "age1qffdqvy9arld9zd5a5cylt0n98xhcns5shxhrhwjq5g4qa844ejselaa4l", | ||
| 15 | "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCcVVJZWNkMzlYc1lOMzlu\nai82RjhkZm5UYVplV0NNTjZlWm8zcmpCaW1BCnhMaGV5NFNkUUw5ODM5OVZZMUxO\nUUpVTGhtZDM4VzF3WXhTMFpHLytKUzAKLS0tIEZCSVFIODRhRDZuMzFFbSt1YlBI\ndldaZEd6dTBvU2huREhoQ3VNQ2NNdWMKyGuG1tzxIas5G6nlWRkgbxHTOGQ8cLx6\nOw83t98BBfWSZVTuUfHAemn5fPsjRUhsZvEuH70NvQXDRxSvV2nvww==\n-----END AGE ENCRYPTED FILE-----\n" | ||
| 16 | } | ||
| 17 | ], | ||
| 18 | "lastmodified": "2025-02-18T18:05:57Z", | ||
| 19 | "mac": "ENC[AES256_GCM,data:7rl6npBWEFeS+IZMLb2+jLcs1d5gSzZyGkCDcrpAbxAB7doAp4vh5DJUEFnAUMtN/iHlwjX71pRNjBHLlYqCs344aaGkcEVMDO/C2m8efuPq+qIi+z372PlM+ekVDXquthvc8fcPhsCWHyso1LTpDjMRqf6kizk0wEtwJj5kOWA=,iv:OEaeQUJ2f0XZidWkttC8Y+WAkDyNkViTNiiDgy5QKr8=,tag:ERsBlT0T3iZvoEWcRhTpPA==,type:str]", | ||
| 20 | "pgp": null, | ||
| 21 | "unencrypted_suffix": "_unencrypted", | ||
| 22 | "version": "3.9.4" | ||
| 23 | } | ||
| 24 | } \ No newline at end of file | ||
diff --git a/hosts/vidhar/firefly-iii/default.nix b/hosts/vidhar/firefly-iii/default.nix new file mode 100644 index 00000000..026d4643 --- /dev/null +++ b/hosts/vidhar/firefly-iii/default.nix | |||
| @@ -0,0 +1,64 @@ | |||
| 1 | { config, ... }: | ||
| 2 | { | ||
| 3 | config = { | ||
| 4 | services.postgresql = { | ||
| 5 | ensureDatabases = [ "firefly-iii" ]; | ||
| 6 | ensureUsers = [ | ||
| 7 | { name = "firefly-iii"; | ||
| 8 | ensureDBOwnership = true; | ||
| 9 | } | ||
| 10 | ]; | ||
| 11 | }; | ||
| 12 | |||
| 13 | services.firefly-iii = { | ||
| 14 | enable = true; | ||
| 15 | enableNginx = true; | ||
| 16 | group = "firefly-iii"; | ||
| 17 | virtualHost = "firefly.yggdrasil.li"; | ||
| 18 | settings = { | ||
| 19 | DB_CONNECTION = "pgsql"; | ||
| 20 | DB_DATABASE = "firefly-iii"; | ||
| 21 | APP_KEY_FILE = config.sops.secrets."firefly-iii_app_key".path; | ||
| 22 | APP_URL = "https://${config.services.firefly-iii.virtualHost}"; | ||
| 23 | }; | ||
| 24 | }; | ||
| 25 | |||
| 26 | services.nginx = { | ||
| 27 | commonHttpConfig = '' | ||
| 28 | map $http_x_forwarded_proto $fastcgi_param_https_variable { | ||
| 29 | default '''; | ||
| 30 | https 'on'; | ||
| 31 | } | ||
| 32 | ''; | ||
| 33 | virtualHosts.${config.services.firefly-iii.virtualHost} = { | ||
| 34 | listen = [ | ||
| 35 | { addr = "[2a03:4000:52:ada:4:1::]"; port = 9000; } | ||
| 36 | ]; | ||
| 37 | extraConfig = '' | ||
| 38 | set_real_ip_from 2a03:4000:52:ada:4::; | ||
| 39 | ''; | ||
| 40 | locations."~ \\.php$" = { | ||
| 41 | extraConfig = '' | ||
| 42 | fastcgi_param HTTPS $fastcgi_param_https_variable; | ||
| 43 | ''; | ||
| 44 | }; | ||
| 45 | }; | ||
| 46 | }; | ||
| 47 | |||
| 48 | sops.secrets."firefly-iii_app_key" = { | ||
| 49 | format = "binary"; | ||
| 50 | sopsFile = ./app_key; | ||
| 51 | group = config.services.firefly-iii.group; | ||
| 52 | mode = "0440"; | ||
| 53 | restartUnits = [ "firefly-iii-setup.service" "firefly-iii-cron.service" "phpfpm-firefly-iii.service" ]; | ||
| 54 | }; | ||
| 55 | |||
| 56 | users.groups.${config.services.firefly-iii.group} = {}; | ||
| 57 | |||
| 58 | systemd.services = { | ||
| 59 | nginx.serviceConfig.SupplementaryGroups = [ config.services.firefly-iii.group ]; | ||
| 60 | "firefly-iii-setup".serviceConfig.ReadWritePaths = [ "/run/postgresql" ]; | ||
| 61 | "firefly-iii-cron".serviceConfig.ReadWritePaths = [ "/run/postgresql" ]; | ||
| 62 | }; | ||
| 63 | }; | ||
| 64 | } | ||
