From cfa04ddc3171a6e35fb2dfcc12f50f128bee41fd Mon Sep 17 00:00:00 2001 From: Joakim Repomaa Date: Tue, 11 Feb 2025 23:10:17 +0200 Subject: [PATCH] add readeck --- hosts/freun.dev/secrets.nix | 1 + hosts/freun.dev/services.nix | 14 ++++++++++++- modules/services/default.nix | 1 + modules/services/readeck.nix | 38 +++++++++++++++++++++++++++++++++++ secrets/readeck.age | Bin 0 -> 569 bytes secrets/secrets.nix | 1 + 6 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 modules/services/readeck.nix create mode 100644 secrets/readeck.age diff --git a/hosts/freun.dev/secrets.nix b/hosts/freun.dev/secrets.nix index b307c78..985e32f 100644 --- a/hosts/freun.dev/secrets.nix +++ b/hosts/freun.dev/secrets.nix @@ -6,6 +6,7 @@ "gotosocial" "hastebin-tokens" "immich" + "readeck" "storage-box-credentials" "vaultwarden" ] diff --git a/hosts/freun.dev/services.nix b/hosts/freun.dev/services.nix index c13ff87..5e77a7a 100644 --- a/hosts/freun.dev/services.nix +++ b/hosts/freun.dev/services.nix @@ -105,6 +105,18 @@ in enable = true; subdomain = "bin"; }; - }; + readeck = { + enable = true; + subdomain = "read"; + settings.email = { + host = smtp.host; + port = smtp.port; + username = smtp.username; + encryption = "starttls"; + from = smtp.from; + from_noreply = smtp.from; + }; + }; + }; } diff --git a/modules/services/default.nix b/modules/services/default.nix index 9bad03f..175bd3a 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -14,5 +14,6 @@ ./gotosocial.nix ./hastebin.nix ./workout-sync.nix + ./readeck.nix ]; } diff --git a/modules/services/readeck.nix b/modules/services/readeck.nix new file mode 100644 index 0000000..5103a18 --- /dev/null +++ b/modules/services/readeck.nix @@ -0,0 +1,38 @@ +{ lib, inputs, config, pkgs, ... }: +let + cfg = config.services.readeck; + secrets = config.age.secrets; + fqdn = "${cfg.subdomain}.${config.networking.domain}"; + pkgsUnstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}; +in +{ + imports = [ + "${inputs.nixpkgs-unstable}/nixos/modules/services/web-apps/readeck.nix" + ]; + + options.services.readeck = { + subdomain = lib.mkOption { + type = lib.types.str; + }; + }; + + config = lib.mkIf cfg.enable { + services.readeck = { + package = pkgsUnstable.readeck; + environmentFile = secrets.readeck.path; + settings = { + server.port = lib.mkDefault 8090; + }; + }; + + modules.services.webserver = { + enable = lib.mkDefault true; + vHosts.${fqdn} = { + proxyBuffering = false; + locations."/" = { + proxyPort = cfg.settings.server.port; + }; + }; + }; + }; +} diff --git a/secrets/readeck.age b/secrets/readeck.age new file mode 100644 index 0000000000000000000000000000000000000000..f3ee5ce573712dd22494dcdf50e46c0e98acae67 GIT binary patch literal 569 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCU7FZOqia#YAJkE}>` zPR&U&v-EJ*4hjh@&q_{oc6G_nP726R&PXgPHuJUgD|9IgbL6VX4l=V$Ny&08%B(PS zOiMKO(oYICHF5E&3^PhgHxDezsxq!HNKZ93@I|*RDmPm@s9YhZD$uVeL_e)m+bz8! z+}j{cKPOkeyeM3|($lvfKgc~-Uq33?H`~ZL(}F9)&&Ss(ATYwq+$l82!aX%B$*?%A zxG2fP-OIGfCot4IwItHK+^4A2y&T=PfDrSvv~&f7G7r~8_mZrVG;>Q!_tXMc?~>F4 zqd@&UQ-4c?M3(?F*CO+vlBgob>`<-%AJcr-a3_ClZU3l%sFXy{q@n_kWS0QTe9J=5 z)O5q3(&VH7Q)l0Z@O&;^U0nr>h(Lp^P^XB{luB(wGmGH#%7`+bZ1>32aMQFjC-)LV z7lUMHNBuA_LlZ8B{3-V~O^V#pd+>3rhC}3)i`tX7HAT;KFOM)NbeUlIZL#|?7ERd) z;rbU;XH;{a$}Du