From 41c777d2e2d28284f94a4366819f0bdc595aa7f7 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Fri, 5 Feb 2021 19:59:25 +0100 Subject: [PATCH] services: add RSS-Bridge --- configuration.nix | 2 ++ services/default.nix | 1 + services/rss-bridge.nix | 25 +++++++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 services/rss-bridge.nix diff --git a/configuration.nix b/configuration.nix index 9432c3a..e217e1f 100644 --- a/configuration.nix +++ b/configuration.nix @@ -107,6 +107,8 @@ pirate.enable = true; # Regular backups postgresql-backup.enable = true; + # RSS provider for websites that do not provide any feeds + rss-bridge.enable = true; # Usenet client sabnzbd.enable = true; # Torrent client and webui diff --git a/services/default.nix b/services/default.nix index d9ab820..333744f 100644 --- a/services/default.nix +++ b/services/default.nix @@ -11,6 +11,7 @@ ./nginx.nix ./pirate.nix ./postgresql-backup.nix + ./rss-bridge.nix ./sabnzbd.nix ./transmission.nix ]; diff --git a/services/rss-bridge.nix b/services/rss-bridge.nix new file mode 100644 index 0000000..ce285e3 --- /dev/null +++ b/services/rss-bridge.nix @@ -0,0 +1,25 @@ +# Get RSS feeds from websites that don't natively have one +{ config, lib, ... }: +let + cfg = config.my.services.rss-bridge; + domain = config.networking.domain; + rss-bridgeDomain = "rss-bridge.${config.networking.domain}"; +in +{ + options.my.services.rss-bridge = { + enable = lib.mkEnableOption "RSS-Bridge service"; + }; + + config = lib.mkIf cfg.enable { + services.rss-bridge = { + enable = true; + whitelist = [ "*" ]; # Whitelist all + virtualHost = rss-bridgeDomain; # Setup virtual host + }; + + services.nginx.virtualHosts."${rss-bridgeDomain}" = { + forceSSL = true; + useACMEHost = "${domain}"; + }; + }; +}