Commit e029f58225c5

Vincent Demeester <vincent@sbr.pm>
2026-07-03 14:01:07
feat: expose rss.sbr.pm publicly via Carthage
Added public DNS record and Caddy reverse proxy for Miniflux, enabling access from external RSS clients like ReadKit without VPN.
1 parent 5bd19a0
Changed files (2)
systems
carthage
common
services
systems/carthage/extra.nix
@@ -1108,6 +1108,27 @@ in
         ${mediaSecurityHeaders}
       '';
 
+      "rss.sbr.pm".extraConfig = ''
+        ${blockAIBotsSnippet}
+        ${robotsTxtSnippet}
+
+        # Rate limiting for RSS reader
+        rate_limit {
+          zone rss_general {
+            key {remote_host}
+            events 100
+            window 1m
+          }
+        }
+
+        reverse_proxy 10.100.0.49:8085 {
+          header_up Host {host}
+          header_up X-Real-IP {remote_host}
+        }
+
+        ${mediaSecurityHeaders}
+      '';
+
       # HTTP echo — echoes request headers (debug tool)
       # Logs all headers (including Authorization) to a dedicated log file
       "echo.sbr.pm".extraConfig = ''
systems/common/services/dns/sbr.pm-gandi.nix
@@ -23,6 +23,7 @@ baseZone
     music.A = [ "46.224.100.116" ]; # navidrome
     photos.A = [ "46.224.100.116" ]; # immich
     podcasts.A = [ "46.224.100.116" ]; # audiobookshelf
+    rss.A = [ "46.224.100.116" ]; # miniflux
     llm.A = [ "10.100.0.50" ]; # rhea VPN IP
   };
 }