Compare commits
22 commits
2c1a7d16c7
...
f80d1684df
Author | SHA1 | Date | |
---|---|---|---|
Bruno BELANYI | f80d1684df | ||
Bruno BELANYI | c2b38a9fcd | ||
Bruno BELANYI | 775d7a44cd | ||
Bruno BELANYI | 17255be516 | ||
Bruno BELANYI | 8aa4184eb9 | ||
Bruno BELANYI | 9bd98ec1b6 | ||
Bruno BELANYI | 096fbac0b3 | ||
Bruno BELANYI | 324f7c56de | ||
Bruno BELANYI | e7683ddd9b | ||
Bruno BELANYI | 1fdfbe1faa | ||
Bruno BELANYI | 4d3ef9ff43 | ||
Bruno BELANYI | 470ecbef1f | ||
Bruno BELANYI | f92dbaba77 | ||
Bruno BELANYI | 95dbbbcfc1 | ||
Bruno BELANYI | 2d8cc9399d | ||
Bruno BELANYI | e7c3db73db | ||
Bruno BELANYI | 4fd82e1c53 | ||
Bruno BELANYI | e6dcd4120b | ||
Bruno BELANYI | ad66b2706f | ||
Bruno BELANYI | 3de71fb498 | ||
Bruno BELANYI | 908acab1b2 | ||
Bruno BELANYI | 356399ced8 |
|
@ -69,6 +69,8 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
|
|
||||||
# NOTE: unfortunately aria2 does not log connection failures for fail2ban
|
# NOTE: unfortunately aria2 does not log connection failures for fail2ban
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,8 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
audiobookshelf = ''
|
audiobookshelf = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -41,5 +41,12 @@ in
|
||||||
|
|
||||||
# Those are all subdomains, no problem
|
# Those are all subdomains, no problem
|
||||||
my.services.nginx.virtualHosts = hostsInfo;
|
my.services.nginx.virtualHosts = hostsInfo;
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
"/var/www/blog"
|
||||||
|
"/var/www/cv"
|
||||||
|
"/var/www/dev"
|
||||||
|
"/var/www/key"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,11 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
"/var/lib/${config.services.calibre-web.dataDir}"
|
||||||
|
cfg.libraryPath
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
calibre-web = ''
|
calibre-web = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -39,5 +39,7 @@ in
|
||||||
extraGroups = [ "docker" ]; # Give access to the daemon
|
extraGroups = [ "docker" ]; # Give access to the daemon
|
||||||
};
|
};
|
||||||
users.groups.drone-runner-docker = { };
|
users.groups.drone-runner-docker = { };
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,5 +63,7 @@ in
|
||||||
group = "drone-runner-exec";
|
group = "drone-runner-exec";
|
||||||
};
|
};
|
||||||
users.groups.drone-runner-exec = { };
|
users.groups.drone-runner-exec = { };
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,5 +50,7 @@ in
|
||||||
inherit (cfg) port;
|
inherit (cfg) port;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,7 @@ in
|
||||||
bantime = "10m";
|
bantime = "10m";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,8 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
|
|
||||||
# NOTE: unfortunately flood does not log connection failures for fail2ban
|
# NOTE: unfortunately flood does not log connection failures for fail2ban
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,6 +147,11 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.forgejo.lfs.contentDir
|
||||||
|
config.services.forgejo.repositoryRoot
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
forgejo = ''
|
forgejo = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -131,6 +131,11 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.gitea.lfs.contentDir
|
||||||
|
config.services.gitea.repositoryRoot
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
gitea = ''
|
gitea = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -37,6 +37,9 @@ in
|
||||||
useACMEHost = config.networking.domain;
|
useACMEHost = config.networking.domain;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: backup
|
||||||
|
# FIXME: persistence
|
||||||
|
|
||||||
# NOTE: unfortunately grocy does not log connection failures for fail2ban
|
# NOTE: unfortunately grocy does not log connection failures for fail2ban
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,10 @@ in
|
||||||
port = jackettPort;
|
port = jackettPort;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.jackett.dataDir
|
||||||
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
(lib.mkIf cfg.nzbhydra.enable {
|
(lib.mkIf cfg.nzbhydra.enable {
|
||||||
|
@ -45,6 +49,10 @@ in
|
||||||
port = nzbhydraPort;
|
port = nzbhydraPort;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.nzbhydra2.dataDir
|
||||||
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
(lib.mkIf cfg.prowlarr.enable {
|
(lib.mkIf cfg.prowlarr.enable {
|
||||||
|
@ -58,6 +66,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
"/var/lib/${config.systemd.services.prowlarr.serviceConfig.StateDirectory}"
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
prowlarr = ''
|
prowlarr = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -38,6 +38,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
"/var/lib/${config.systemd.services.jellyfin.serviceConfig.StateDirectory}"
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
jellyfin = ''
|
jellyfin = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -36,6 +36,8 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
komga = ''
|
komga = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -107,5 +107,9 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
"/var/lib/${config.systemd.services.lohr.serviceConfig.StateDirectory}"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,5 +214,9 @@ in
|
||||||
config.services.matrix-synapse.dataDir
|
config.services.matrix-synapse.dataDir
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.matrix-synapse.dataDir
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,9 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: backup
|
||||||
|
# FIXME: persistence
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
mealie = ''
|
mealie = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -49,6 +49,9 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: backup
|
||||||
|
# FIXME: persistence
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
miniflux = ''
|
miniflux = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -130,5 +130,10 @@ in
|
||||||
inherit (cfg.grafana) port;
|
inherit (cfg.grafana) port;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.grafana.dataDir
|
||||||
|
"/var/lib/${config.services.prometheus.stateDir}"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
"/var/lib/${config.systemd.services.navidrome.serviceConfig.StateDirectory}"
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
navidrome = ''
|
navidrome = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -46,5 +46,7 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,6 +92,11 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.nextcloud.home
|
||||||
|
config.services.nextcloud.datadir
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
nextcloud = ''
|
nextcloud = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -486,5 +486,9 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.users.user.acme.home
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,5 +146,10 @@ in
|
||||||
config.services.paperless.mediaDir
|
config.services.paperless.mediaDir
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.paperless-ng.dataDir
|
||||||
|
config.services.paperless-ng.mediaDir
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,8 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
stirling-pdf = ''
|
stirling-pdf = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -51,5 +51,10 @@ in
|
||||||
inherit (cfg) port;
|
inherit (cfg) port;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.systemd.services.podgrab.environment.CONFIG
|
||||||
|
config.systemd.services.podgrab.environment.DATA
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,5 +24,9 @@ in
|
||||||
(config.services.postgresqlBackup.location + "/*.prev.sql.gz")
|
(config.services.postgresqlBackup.location + "/*.prev.sql.gz")
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.postgresqlBackup.location
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,13 @@ in
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
# Only persist directory if the actual service is enabled
|
||||||
|
(lib.mkIf config.services.postgresql.enable {
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.postgresql.dataDir
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
# Taken from the manual
|
# Taken from the manual
|
||||||
(lib.mkIf cfg.upgradeScript {
|
(lib.mkIf cfg.upgradeScript {
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
|
|
|
@ -53,6 +53,9 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: backup
|
||||||
|
# FIXME: persistence
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
pyload = ''
|
pyload = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -46,5 +46,9 @@ in
|
||||||
# Because Quassel does not use the socket, I simply trust its connection
|
# Because Quassel does not use the socket, I simply trust its connection
|
||||||
authentication = "host quassel quassel localhost trust";
|
authentication = "host quassel quassel localhost trust";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.quassel.dataDir
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,5 +22,9 @@ in
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
useACMEHost = config.networking.domain;
|
useACMEHost = config.networking.domain;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.rss-bridge.dataDir
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.files = [
|
||||||
|
config.services.sabnzbd.configFile
|
||||||
|
];
|
||||||
|
|
||||||
services.fail2ban.jails = {
|
services.fail2ban.jails = {
|
||||||
sabnzbd = ''
|
sabnzbd = ''
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
|
@ -19,6 +19,11 @@ let
|
||||||
enable = true;
|
enable = true;
|
||||||
group = "media";
|
group = "media";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Thankfully those old style services all define users with homes
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.users.user.${service}.home
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
mkRedirection = service: {
|
mkRedirection = service: {
|
||||||
|
|
|
@ -83,6 +83,9 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: backup
|
||||||
|
# FIXME: persistence
|
||||||
|
|
||||||
# NOTE: unfortunately tandoor-recipes does not log connection failures for fail2ban
|
# NOTE: unfortunately tandoor-recipes does not log connection failures for fail2ban
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,6 +91,10 @@ in
|
||||||
allowedUDPPorts = [ cfg.peerPort ];
|
allowedUDPPorts = [ cfg.peerPort ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
my.system.persist.directories = [
|
||||||
|
config.services.transmission.home
|
||||||
|
];
|
||||||
|
|
||||||
# NOTE: unfortunately transmission does not log connection failures for fail2ban
|
# NOTE: unfortunately transmission does not log connection failures for fail2ban
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,8 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence
|
||||||
|
|
||||||
# NOTE: unfortunately vikunja does not log connection failures for fail2ban
|
# NOTE: unfortunately vikunja does not log connection failures for fail2ban
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,5 +38,7 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,5 +62,7 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,5 +61,7 @@ in
|
||||||
port = cfg.rpcPort;
|
port = cfg.rpcPort;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,5 +65,7 @@ in
|
||||||
# Allow resolution of '.local' addresses
|
# Allow resolution of '.local' addresses
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: persistence?
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue