add freshrss on genepi
This commit is contained in:
parent
75b0494eaa
commit
7c303fd8f2
5 changed files with 52 additions and 9 deletions
|
|
@ -13,6 +13,7 @@
|
||||||
./boot.nix
|
./boot.nix
|
||||||
./disk.nix
|
./disk.nix
|
||||||
./dns.nix
|
./dns.nix
|
||||||
|
./freshrss.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./immich.nix
|
./immich.nix
|
||||||
./monitoring.nix
|
./monitoring.nix
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
{ config, ... }:
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
domain = "home.rpqt.fr";
|
||||||
|
genepi = {
|
||||||
|
ip = "100.83.123.79";
|
||||||
|
subdomains = [
|
||||||
|
"grafana"
|
||||||
|
"images"
|
||||||
|
"rss"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
networking.firewall.interfaces."${config.services.tailscale.interfaceName}" = {
|
networking.firewall.interfaces."${config.services.tailscale.interfaceName}" = {
|
||||||
allowedTCPPorts = [ 53 ];
|
allowedTCPPorts = [ 53 ];
|
||||||
|
|
@ -14,14 +25,8 @@
|
||||||
interface = [ "${config.services.tailscale.interfaceName}" ];
|
interface = [ "${config.services.tailscale.interfaceName}" ];
|
||||||
access-control = [ "100.0.0.0/8 allow" ];
|
access-control = [ "100.0.0.0/8 allow" ];
|
||||||
|
|
||||||
local-zone = [
|
local-zone = lib.map (subdomain: ''"${subdomain}.${domain}." redirect'') genepi.subdomains;
|
||||||
''"grafana.home.rpqt.fr." redirect''
|
local-data = lib.map (subdomain: ''"${subdomain}.${domain}. IN A ${genepi.ip}"'') genepi.subdomains;
|
||||||
''"images.home.rpqt.fr" redirect''
|
|
||||||
];
|
|
||||||
local-data = [
|
|
||||||
''"grafana.home.rpqt.fr. IN A 100.83.123.79"''
|
|
||||||
''"images.home.rpqt.fr. IN A 100.83.123.79"''
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
26
hosts/genepi/freshrss.nix
Normal file
26
hosts/genepi/freshrss.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
domain = "home.rpqt.fr";
|
||||||
|
subdomain = "rss.${domain}";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
age.secrets.freshrss = {
|
||||||
|
file = ../../secrets/freshrss.age;
|
||||||
|
mode = "700";
|
||||||
|
owner = config.services.freshrss.user;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.freshrss = {
|
||||||
|
enable = true;
|
||||||
|
baseUrl = "https://${subdomain}";
|
||||||
|
virtualHost = "${subdomain}";
|
||||||
|
|
||||||
|
defaultUser = "rpqt";
|
||||||
|
passwordFile = config.age.secrets.freshrss.path;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx.virtualHosts.${config.services.freshrss.virtualHost} = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = "${domain}";
|
||||||
|
};
|
||||||
|
}
|
||||||
8
secrets/freshrss.age
Normal file
8
secrets/freshrss.age
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
<EFBFBD>
|
||||||
|
<EFBFBD>
|
||||||
|
<EFBFBD>
|
||||||
|
<EFBFBD>
|
||||||
|
<EFBFBD>
|
||||||
|
<EFBFBD>
|
||||||
|
<EFBFBD>
|
||||||
|
<EFBFBD>
|
||||||
|
|
@ -14,4 +14,7 @@ in
|
||||||
|
|
||||||
# Restic repository key
|
# Restic repository key
|
||||||
"restic-genepi-storagebox-key.age".publicKeys = keysForGenepi;
|
"restic-genepi-storagebox-key.age".publicKeys = keysForGenepi;
|
||||||
|
|
||||||
|
# Password of the default user
|
||||||
|
"freshrss.age".publicKeys = keysForGenepi;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue