enhancement/52 #54
5 changed files with 76 additions and 3 deletions
|
|
@ -27,9 +27,7 @@
|
||||||
|
|
||||||
# hardened openssh
|
# hardened openssh
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
passwordAuthentication = false;
|
allowSFTP = false;
|
||||||
allowSFTP = false;
|
|
||||||
challengeResponseAuthentication = false;
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
AllowTcpForwarding yes
|
AllowTcpForwarding yes
|
||||||
X11Forwarding no
|
X11Forwarding no
|
||||||
|
|
@ -37,6 +35,10 @@
|
||||||
AllowStreamLocalForwarding no
|
AllowStreamLocalForwarding no
|
||||||
AuthenticationMethods publickey
|
AuthenticationMethods publickey
|
||||||
'';
|
'';
|
||||||
|
settings = {
|
||||||
|
KbdInteractiveAuthentication = false;
|
||||||
|
PasswordAuthentication = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
"homepage-dashboard"
|
"homepage-dashboard"
|
||||||
"immich"
|
"immich"
|
||||||
"jellyfin"
|
"jellyfin"
|
||||||
|
"karakeep"
|
||||||
"lidarr"
|
"lidarr"
|
||||||
"miniflux"
|
"miniflux"
|
||||||
"nginx"
|
"nginx"
|
||||||
|
|
@ -19,6 +20,7 @@
|
||||||
"prowlarr"
|
"prowlarr"
|
||||||
"qbittorrent"
|
"qbittorrent"
|
||||||
"radarr"
|
"radarr"
|
||||||
|
"radicale"
|
||||||
"sonarr"
|
"sonarr"
|
||||||
"syncthing"
|
"syncthing"
|
||||||
"vaultwarden"
|
"vaultwarden"
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,13 @@ in
|
||||||
"href" = "https://ntfy-sh.fi33.buzz/";
|
"href" = "https://ntfy-sh.fi33.buzz/";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
"Radicale" = {
|
||||||
|
"description" = "CalDAV/CardDAV service";
|
||||||
|
"icon" = "radicale.svg";
|
||||||
|
"href" = "https://radicale.fi33.buzz";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
"Syncthing" = {
|
"Syncthing" = {
|
||||||
"description" = "Decentralised file synchronisation";
|
"description" = "Decentralised file synchronisation";
|
||||||
|
|
|
||||||
20
modules/nixos/features/karakeep.nix
Normal file
20
modules/nixos/features/karakeep.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
let
|
||||||
|
port = "5014";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
karakeep = {
|
||||||
|
enable = true;
|
||||||
|
extraEnvironment = {
|
||||||
|
PORT = port;
|
||||||
|
DISABLE_NEW_RELEASE_CHECK = "true";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx.virtualHosts."karakeep.fi33.buzz" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = "fi33.buzz";
|
||||||
|
locations."/".proxyPass = "http://localhost:${port}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
42
modules/nixos/features/radicale.nix
Normal file
42
modules/nixos/features/radicale.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
port = "5003";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
radicale = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
hosts = [
|
||||||
|
"0.0.0.0:${port}"
|
||||||
|
"[::]:${port}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
auth = {
|
||||||
|
type = "htpasswd";
|
||||||
|
htpasswd_filename = config.age.secrets.radicale.path;
|
||||||
|
htpasswd_encryption = "plain";
|
||||||
|
};
|
||||||
|
storage = {
|
||||||
|
filesystem_folder = "/srv/radicale";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx.virtualHosts."radicale.fi33.buzz" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = "fi33.buzz";
|
||||||
|
locations."/".proxyPass = "http://localhost:${port}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# secrets
|
||||||
|
age.secrets."radicale" = {
|
||||||
|
file = ../../../secrets/radicale.age;
|
||||||
|
owner = "radicale";
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue