alexandria: replace miniflux and linkwarden with tt-rss

This commit is contained in:
William 2026-04-15 21:42:56 -03:00
parent f6500b025a
commit fe1c931ca6
7 changed files with 40 additions and 105 deletions

View file

@ -1,35 +0,0 @@
{
config,
inputs,
...
}:
let
mkNginxVHosts = inputs.self.lib.mkNginxVHosts;
in
{
services = {
linkwarden = {
enable = true;
host = "127.0.0.1";
port = 58223;
enableRegistration = true;
secretFiles.NEXTAUTH_SECRET = config.age.secrets.linkwarden-nextauth-secret.path;
environment = {
NEXTAUTH_URL = "https://read.baduhai.dev";
};
};
nginx.virtualHosts = mkNginxVHosts {
domains."read.baduhai.dev".locations."/".proxyPass =
"http://${config.services.linkwarden.host}:${toString config.services.linkwarden.port}/";
};
};
age.secrets.linkwarden-nextauth-secret = {
file = "${inputs.self}/secrets/linkwarden-nextauth-secret.age";
owner = "linkwarden";
group = "linkwarden";
};
}

View file

@ -1,35 +0,0 @@
{ config, inputs, ... }:
let
mkNginxVHosts = inputs.self.lib.mkNginxVHosts;
in
{
services = {
miniflux = {
enable = true;
config = {
LISTEN_ADDR = "localhost:8080";
CREATE_ADMIN = 1;
FETCHER_ALLOW_PRIVATE_NETWORKS = 1;
POLLING_SCHEDULER = "entry_frequency";
SCHEDULER_ENTRY_FREQUENCY_MIN_INTERVAL = 60;
SCHEDULER_ENTRY_FREQUENCY_MAX_INTERVAL = 10080;
};
adminCredentialsFile = config.age.secrets.miniflux-admincreds.path;
createDatabaseLocally = true;
};
nginx.virtualHosts = mkNginxVHosts {
domains."rss.baduhai.dev" = {
locations."/".proxyPass = "http://${config.services.miniflux.config.LISTEN_ADDR}/";
};
};
};
age.secrets.miniflux-admincreds = {
file = "${inputs.self}/secrets/miniflux-admincreds.age";
owner = "miniflux";
group = "miniflux";
};
}

View file

@ -0,0 +1,39 @@
{
config,
inputs,
...
}:
let
mkNginxVHosts = inputs.self.lib.mkNginxVHosts;
in
{
services = {
"tt-rss" = {
enable = true;
selfUrlPath = "https://rss.baduhai.dev";
singleUserMode = true;
virtualHost = null;
database.createLocally = true;
};
nginx.virtualHosts = mkNginxVHosts {
domains."rss.baduhai.dev" = {
root = "${config.services."tt-rss".root}/www";
locations."/".index = "index.php";
locations."~* /feed-icons/(\\d+)\\.ico".return = "302 /public.php?op=feed_icon&id=$1";
locations."~ \\.php$" = {
extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${config.services.phpfpm.pools.${config.services."tt-rss".pool}.socket};
fastcgi_index index.php;
'';
};
};
};
};
}

View file

@ -34,14 +34,9 @@
host = "alexandria"; host = "alexandria";
} }
{ {
name = "miniflux"; name = "tt-rss";
domain = "rss.baduhai.dev"; domain = "rss.baduhai.dev";
host = "alexandria"; host = "alexandria";
} }
{
name = "linkwarden";
domain = "read.baduhai.dev";
host = "alexandria";
}
]; ];
} }

View file

@ -1,10 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 Kfdnog 6zG/NjBl7vB4HYBmLNGR9M6G+c6B8OsmYLJj86wheww
dh2XJG06yymKwMNnYKNdXSG5aVhOnzyFTSzsJN4TAXU
-> ssh-ed25519 8YSAiw T8NbnvYtBSWzx3MaVsca5vZbjIc8qYOb8BkkwQQ1SU0
5xg2ix2uk4TUOmE2+N6DJzzdPF3Sx+lWwkeCVO7UGqU
-> ssh-ed25519 J6tVTA anq6h4C7i86EkPZsjRCFCl5Gie9NAU0UjIRpatZ2Kx8
Jz9WXhPjLdwrpm4gOVRYHxO/+EjZLPQRY5rJG4zoeDA
--- Zy+2VeF7qv5z1lLpfFQw4nAIsMiW/pIsyEyK/vY/Nag
2ëúö{pÉÊn(Ø{9Œ1 )ßĹȯ#øžFEªL»ëb
ìùaÚÖÿée1áöÓJ†„<E280A0>2ª7N,· ‚áš5ÛG6<47>Âs

View file

@ -1,9 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 Kfdnog QEq4A011oVny6vo1+wOcQNnpkf77216PZXJqK4rGTGY
FPeASmXRirxeF2T2jXhA/tEaO0p1CZJ6D3lv3p2KTX0
-> ssh-ed25519 8YSAiw gxuXAt2nG6qXhWwAAiFwNCNYJV2VGKnDNkjU61NOJ2o
xncp+M4lVixiTmXQU5QrtdQ860t/1JpvOcO4YXAy3to
-> ssh-ed25519 J6tVTA Mr0XrEFP/o7nFWBKal+ehzMiejWpVDIBiiMqWzdOzEM
0DTqm2LyMMlVZlTk67Y3hTiVjcJG9gprnXj6QjYxrJw
--- FXUNp6O7vuibJj0RI3SZN3IBK1Hx5ouUij2ah05lCYA
ÔX*÷“µ¬0¬²øÇBŒ<42>3Îð«jbœÍ<C593>S§Vÿ΀Äb¹BcÈi—øD.ïÇ5\é`&`è¶Š-Ui"gХȊ`OÒ µG<C2B5>cõ¥øÊæ'»Îºø«@qn[

View file

@ -32,14 +32,4 @@ in
rotterdam-user rotterdam-user
trantor trantor
]; ];
"miniflux-admincreds.age".publicKeys = [
io-user
rotterdam-user
alexandria
];
"linkwarden-nextauth-secret.age".publicKeys = [
io-user
rotterdam-user
alexandria
];
} }