mirror of
https://github.com/Misterio77/Foundry.git
synced 2026-09-26 00:51:02 -04:00
feat(alcyone/freshrss): add tailnet-only feed reader
Assisted-by: pi (openai-codex/gpt-5.6-sol)
This commit is contained in:
@@ -14,6 +14,7 @@ grafana-gabriel-password: ENC[AES256_GCM,data:yWG0nNFWT0Of,iv:bd8bc0H4GiSfYctZHB
|
||||
grafana-key: ENC[AES256_GCM,data:2CE02My5u+caBTixq1qC8k2dMHQ=,iv:qNH/wPJJw5EhAZ405B3F1Vl7lTbGToShKA80goY9QS0=,tag:VjYIKGXhPTTuxT6h376aVQ==,type:str]
|
||||
firefly-key: ENC[AES256_GCM,data:9OHBwJp1Ekrv43aaP5p4GWoHlx90DolEpJofbq60Rwk=,iv:rvw0eyN2o+q3Hm/6nsNqWomJkqwB9TBcozymH0crKGU=,tag:5ohSol3iUIe5YOIhJXkRRA==,type:str]
|
||||
firefly-pat: ENC[AES256_GCM,data:OiX1+mEBsfsxd859rVQFkq3Xpe5I837OevCRHlHaJwdbLWc1qqcRX/KeF5OeTl6Km0ez7FjueOKk2EDpw4P/c66M9pyo9p/jqy2OrJK2BXNjGHdv7XqHtcRb06v8IypiosLBNQh1HB58HpsYvz1lQCI4k69JHPyYflALGthSum9s3mSf3gN59Uvq/qWPK+q19yrFAc5g6ZmfuCFuWNHNjQG3Eqg0y44OsAV++fykQ5eNxlt76Rf5yYnWmGv+c6MW/Rsuyz1UYpDpVjseVJhn4HmgwFDps0mfTnC/P5JSNyNLqiANN7ct0OijzpdG0jvFboZUx0x0FkKmneGlCmrtMJH0hIGyJ3wvzQaphcXtwNq0G8c/tf0HsDzaynNhlhCKr6x62meZcRCKYpfJ2speX4v+FIga5rh5kQqvhuyf8P7G7EDto5V7ErJ14ljWY7XGZGx5SPs8xQCnjkYMB3P1wH8XkBTKYI4nL/tspS7SmhDKNu7MQd0F37/KrC5fJ05S8aT37wpAgfNFAFQRfzHUmBTId0xVCcDHQm/PlOMKRQMtrfzhygkbYy8H1aMI0dnKRv7gzj3GhCR0tizYbaBIKex84OG+gLupc3CjQTZdIYiq+iAV9eheBk7BtX5+rZ/5lw8ZJDONr+0skxJVa1g0tOm2zNjraMqUJeY3cKAmQn1hgEEDEpBu0sFF3EnKkQMOP0HTfaJR7RxIuIEiYcsezeHv5unQBssjXYBAhwkoWe95q8w1pjB+a9/kXRXIG5lWarZeeZBKPNDcE+TX1UKqg2ialwNznG1wApogbEbZaHT22C/elcYiNuZ3gHTwODlLQmuuY3VhXzjKOj3FBVupRaj525glioVp7/k6mQgDyQneUHSUYwUf3ec+1/st/lO5qd9elwo2G8Of8kMQH6k2BJS7MerNJaryUN2uVcDudODcovTzOKfXdn5sp0gyn+6D7F1PGi4lZ9YFvlHggFjEYRF4XC69nQQN7LjOE431U2p/mYEa3G0LMKnClfkEc7iOaaV27TtUx1ma/hTuOByRgprY2aM8M/UD6/SNMcWzpt0tVe7xPm3wySCD8Hc+TaCbUBtaGFXpnavCslpQwKJ0kI4FqP/l0OSuV7DWM8Uh3BMEOIR0WDg4Uab7KqjaI9NeqiRjVRMdPOyqFFTriMKvQWNQyDiCq+PEsXNIyDaeVCM3IqR8jpuXWZNCmCVOn/VWikCLX3+AVPrnH92wxvj27kTPusbXJLf8mYWxsNJvM9/9PXYv31vGZ+0LLcCu/uXubGq0zLle7emrSXud929Bmfbfn+o=,iv:XSVs4Vpp4HNQyFOe5+Nb7OwWqQQKExkS2GQm7jAASEI=,tag:aSPRyTX5kWO7o2uT+9zCSg==,type:str]
|
||||
freshrss-password: ENC[AES256_GCM,data:UU8p43co3zFq,iv:YQLeJd6FIEgpJeJ7ZuN459qPUtRLxbXk2KUTGVMtzFs=,tag:aJB3LVs4DaMdl/5GIL3ung==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- enc: |
|
||||
@@ -25,8 +26,8 @@ sops:
|
||||
kTr57muioVJPcP5ccxgZZgd9jmUxErw5zS1Ex/rtXwa/27nrxFNKeg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1uxvuygmvwpfjrd9d3ulg6ln8dgvaw4l2c90mw0tr72qg3n8vd9ns3dm000
|
||||
lastmodified: "2026-08-17T12:54:57Z"
|
||||
mac: ENC[AES256_GCM,data:RIpcJczd2RtYeDhV3KdGPy4qA3fUgS3rBSm83gY0lvc1lrbc+zT8BuTLevftx3+PcLeRCNN6tEtdttYgzjbFt+RHNWMv30TBakpDgZI2B/GYW7dOUmP8sc+up47PfFcQec9dFympZAStmnXivUTW/RWk+S6+t/WcF4ZKBoJ31JE=,iv:59IjVd9vkSWArVg1z3DKQCuRidzqPkL8PpQuIs+340A=,tag:wYcAtF8mOPD0pXGnawXZ3A==,type:str]
|
||||
lastmodified: "2026-09-01T16:31:05Z"
|
||||
mac: ENC[AES256_GCM,data:fS/fgK6bY44HMdkgeIY4KuaNmYxXsWEAVPcc8UQ62WntrOhjXUdTcnlIat5ZLlvmm2Y0lbsURo/BYUR/rVGsDQO1hT6MTEK+JW+5M1wGAhi6kfyPQ4QXv3M9E7gwd3MglWjl2BmL8Ehy9WUm2jxgpASUezmRj4zOgUE5WyjjHv4=,iv:Pq0d5L4b7PAyeH0jIi2UPaWXhAVIiCZGzzeqCyde3Cc=,tag:7CD0X9vE5epi5tRziusvbw==,type:str]
|
||||
pgp:
|
||||
- created_at: "2023-02-06T01:46:44Z"
|
||||
enc: |-
|
||||
@@ -47,4 +48,4 @@ sops:
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 7088C7421873E0DB97FF17C2245CAB70B4C225E9
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.1
|
||||
version: 3.13.3
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
./prometheus.nix
|
||||
./radicale.nix
|
||||
./firefly.nix
|
||||
./freshrss.nix
|
||||
./lumis.nix
|
||||
|
||||
# Disabled for now
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
{config, ...}: let
|
||||
domain = "feed.m7.rs";
|
||||
tailnetOnly = ''
|
||||
allow 127.0.0.1;
|
||||
allow ::1;
|
||||
allow ${config.services.headscale.settings.prefixes.v4};
|
||||
allow ${config.services.headscale.settings.prefixes.v6};
|
||||
deny all;
|
||||
'';
|
||||
in {
|
||||
services = {
|
||||
freshrss = {
|
||||
enable = true;
|
||||
baseUrl = "https://${domain}";
|
||||
defaultUser = "gabriel";
|
||||
passwordFile = config.sops.secrets.freshrss-password.path;
|
||||
api.enable = true;
|
||||
virtualHost = domain;
|
||||
};
|
||||
|
||||
nginx.virtualHosts.${domain} = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/".extraConfig = tailnetOnly;
|
||||
"~ ^.+?\\.php(/.*)?$".extraConfig = tailnetOnly;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sops.secrets.freshrss-password = {
|
||||
sopsFile = ../secrets.yaml;
|
||||
owner = config.services.freshrss.user;
|
||||
group = config.users.users.${config.services.freshrss.user}.group;
|
||||
};
|
||||
|
||||
environment.persistence."/persist".directories = [
|
||||
{
|
||||
directory = config.services.freshrss.dataDir;
|
||||
user = config.services.freshrss.user;
|
||||
group = config.users.users.${config.services.freshrss.user}.group;
|
||||
mode = "0750";
|
||||
}
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user