From 9a05d06c6f54026dbda9c32e4e2b6eb5cbc01807 Mon Sep 17 00:00:00 2001 From: Danilo Reyes Date: Sat, 29 Mar 2025 19:51:08 -0600 Subject: [PATCH] readeck --- hosts/miniserver/toggles.nix | 4 ++++ modules/servers/postgres.nix | 1 + modules/servers/readeck.nix | 25 +++++++++++++++++++++++++ secrets/env.yaml | 5 +++-- 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 modules/servers/readeck.nix diff --git a/hosts/miniserver/toggles.nix b/hosts/miniserver/toggles.nix index 5d906b6..8f192f9 100644 --- a/hosts/miniserver/toggles.nix +++ b/hosts/miniserver/toggles.nix @@ -117,5 +117,9 @@ enable = true; enableProxy = true; }; + readeck = { + enable = true; + enableProxy = true; + }; }; } diff --git a/modules/servers/postgres.nix b/modules/servers/postgres.nix index 1beb48f..3b00818 100644 --- a/modules/servers/postgres.nix +++ b/modules/servers/postgres.nix @@ -34,6 +34,7 @@ let "mealie" "firefly-iii" "matrix-synapse" + "readeck" ]; in { diff --git a/modules/servers/readeck.nix b/modules/servers/readeck.nix new file mode 100644 index 0000000..84eabc9 --- /dev/null +++ b/modules/servers/readeck.nix @@ -0,0 +1,25 @@ +{ lib, config, ... }: +let + cfg = config.my.servers.readeck; + setup = import ./setup.nix { inherit lib config; }; +in +{ + options.my.servers.readeck = setup.mkOptions "readeck" "laters" 9546; + config = { + sops.secrets.readeck.sopsFile = ../../secrets/env.yaml; + services = { + readeck = { + enable = cfg.enable; + environmentFile = config.sops.secrets.readeck.path; + settings = { + main = { + log_level = "warn"; + data_directory = "/var/lib/readeck"; + }; + server.port = cfg.port; + }; + }; + nginx.virtualHosts."${cfg.host}" = lib.mkIf cfg.enableProxy (setup.proxyReverse cfg); + }; + }; +} diff --git a/secrets/env.yaml b/secrets/env.yaml index c8b9692..36c626c 100644 --- a/secrets/env.yaml +++ b/secrets/env.yaml @@ -12,6 +12,7 @@ vaultwarden: ENC[AES256_GCM,data:NituIOyGrYALEkuwKT0RRS1gvi3wjC6ZSAfUIejfi8xoePE dns: ENC[AES256_GCM,data:fQN3SOm0HzOjSjTohRAD4KlXdEu5PbQc3DvK3rLC1S4G0G4HUPkgucN6vJUwVJPiY0AB+L/iLNcqCRz8OH0qNtfnikBbDicq0OfrwjnN+VzmbwmrS6AdFo6lilbxI3Jb8YwGMrQxXg0U9F2/WVLETbzICG2KpukwIER0xxQpb51OVL+2hviGV8JpWKo66S6pug628Zc+uMJXEBPSqCpz2vXHXnXWMszP6MlqVfNm/zE=,iv:DOj0e8y+2N9eRA81nlT0kS66sXWZoLSVn0NAiUkNcDY=,tag:+0Baqs6TbTAmt3lRfncE6Q==,type:str] cloudflare-api: ENC[AES256_GCM,data:iNUMlY8rz5yHVitpK4HGaFSK7j+c8Pm7rOQMOQGmSJ3a8ASyrtouPgLbcnoPY/jalsJYAj991dSiui+Vwqs=,iv:qWONG/KLd9/F4tqrWF5T25Zxst3bk+kOYaOFBFSBAAY=,tag:gRFxar8KS8gnX8oaCD156Q==,type:str] synapse: ENC[AES256_GCM,data:IR0pFwQBEM4O8mzzYXrPe2FjulSUGuitzLDLms2uovr6gEU82mCkRO/UCQOybNm03iOQeXX0Whz739kpYSGSInEyx69BNG/etH+bMu+GbYeMdrTEyXHSa7kcH4Ug,iv:Vn2ILYXnCj+Op/E2kWoxV+2ZtlxYJxO6XK3Ql41KW6w=,tag:9wogJFLlmfM5PRgPdwFlcw==,type:str] +readeck: ENC[AES256_GCM,data:TsIkHLji37dDHQRt78SquBhoSREHDgvgbc6+M1k2MLrgMGJ/Ejfy5AZXCIp/Qj5sXDzKP4j6Y6xFvGLswCqe02XjqGCpX13gZVCFPuKr8Nq051Xg,iv:Rc/pjYP+Vd/DvLCYsfJjDrnAlAiUlZOcNeeYzE6O3UY=,tag:OvR+CXMmrUFbsrHvduhnjA==,type:str] sops: kms: [] gcp_kms: [] @@ -54,8 +55,8 @@ sops: QXRUYWtGcWZCVW11U3VYRktuUjlCbDgKsTK4WhUza/JuoDTU3uATa6fq/8eYzxtb 9BUK1ddzx9Mghea9XBMS17YGtGmW800OsLBomb3SINnOFvejcnKf8Q== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-03-08T05:31:03Z" - mac: ENC[AES256_GCM,data:/thb94+m4S8XC6+2HXI5HqjznqV0kaCJzk4bUaTDgHf+3DewAy5UvMy78xrTeSyJqRIXLCs/QR1xMTyUOFiWEOcF2GQ5GBt04Mdstc2VkUGbgd8UGERzMlNYbt0d4se2hM6xRpMr/iPH3w6a415czfprcYnlTc9iU3+7lsHhhe0=,iv:PziCnPs7Mm8ETjsLXOtDhFcWL59S+sYXsclu8P4f7is=,tag:uBukCE2RNDpLHZPT2c1QOw==,type:str] + lastmodified: "2025-03-29T23:24:36Z" + mac: ENC[AES256_GCM,data:6kXAYcYl/lzArxEvf5DuQAyTGD2cKj2CChFINkYpvNhrJJQ0CTG1uH0d8ncfu362qKEghPTYJj0+hF16ltcM/nBCP9Bvy4fdtfGroYulACpg5iNDXMMmlNhmtKjZwJPQMSnoQ3M3ca8p+kTyHUWi4YSNfpUpkWThLMhc26hdaTE=,iv:tnDQKipPdUbid3DWOQJAmpzaP7dJ2publFGIkDq2F28=,tag:ciouRV5Zb640+65gwumwnA==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.9.4