Compare commits

..

8 commits

12 changed files with 24 additions and 26 deletions

View file

@ -13,13 +13,13 @@
programs.ssh = {
enable = true;
matchBlocks."viridian" = {
hostname = "192.168.20.4";
hostname = "viridian.kanto.dev";
identityFile = "/home/sajenim/.ssh/sajenim_sk";
port = 62841;
};
matchBlocks."lavender" = {
hostname = "192.168.20.3";
hostname = "lavender.kanto.dev";
identityFile = "/home/sajenim/.ssh/sajenim_sk";
port = 22;
};

View file

@ -3,12 +3,12 @@
{
services.mpd = {
enable = true;
musicDirectory = "nfs://192.168.1.102/srv/multimedia/library/music";
musicDirectory = "nfs://viridian.kanto.dev/srv/multimedia/library/music";
dbFile = null;
extraConfig = ''
database {
plugin "proxy"
host "192.168.1.102"
host "viridian.kanto.dev"
port "6600"
}

View file

@ -1 +1,7 @@
# Serial: 15895942, Slot: 1
# Name: sajenim
# Created: Sun, 21 Jan 2024 01:47:27 +0000
# PIN policy: Once (A PIN is required once per session, if set)
# Touch policy: Always (A physical touch is required for every decryption)
# Recipient: age1yubikey1qfszrfps2t3n4tqgkzx8vrydhlna3f2ezd7awzjl9ur0yk5swmp0spw0m7q
AGE-PLUGIN-YUBIKEY-1S6XLYQYZSH22WXCHDCFRJ

View file

@ -80,7 +80,6 @@
# Get up and running with large language models locally.
ollama = {
enable = true;
package = pkgs.unstable.ollama;
acceleration = "rocm";
};
@ -96,5 +95,5 @@
};
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = "22.11";
system.stateVersion = "24.05";
}

View file

@ -34,7 +34,7 @@ in
"websecure"
];
middlewares = [
"admin"
"internal"
];
service = "lidarr";
};

View file

@ -31,7 +31,7 @@ in
"websecure"
];
middlewares = [
"admin"
"internal"
];
service = "prowlarr";
};

View file

@ -9,8 +9,8 @@ in
autoStart = true;
image = "ghcr.io/hotio/qbittorrent:release-4.6.5";
ports = [
"${port}:8080/tcp" # WebUI
"32372:32372/tcp" # Transport protocol
"${port}:8080/tcp" # WebUI
"32372:32372/tcp" # Transport protocol
];
volumes = [
# Seedbox
@ -29,12 +29,12 @@ in
services.traefik.dynamicConfigOptions.http.routers = {
qbittorrent = {
rule = "Host(`torrent.kanto.dev`)";
rule = "Host(`qbittorrent.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"admin"
"internal"
];
service = "qbittorrent";
};

View file

@ -33,7 +33,7 @@ in
"websecure"
];
middlewares = [
"admin"
"internal"
];
service = "radarr";
};

View file

@ -34,7 +34,7 @@ in
"websecure"
];
middlewares = [
"admin"
"internal"
];
service = "sonarr";
};

View file

@ -41,7 +41,7 @@
"websecure"
];
middlewares = [
"admin"
"internal"
];
service = "grafana";
};

View file

@ -23,7 +23,7 @@
statdPort = 4000;
extraNfsdConfig = '''';
exports = ''
/srv/multimedia/library/music 192.168.1.101(rw,nohide,insecure,no_subtree_check)
/srv/multimedia/library/music fuchsia.kanto.dev(rw,nohide,insecure,no_subtree_check)
'';
};
networking.firewall = {

View file

@ -10,18 +10,10 @@
# Attached to the routers, pieces of middleware are a means of tweaking the requests before they are sent to your service
services.traefik.dynamicConfigOptions.http.middlewares = {
# Restrict access to admin devices only
admin.ipwhitelist.sourcerange = [
"127.0.0.1/32" # localhost
"192.168.1.101" # fuchsia
"10.100.0.2" # Pixel 6 Pro
];
# Restrict access to internal networks
internal.ipwhitelist.sourcerange = [
"127.0.0.1/32" # localhost
"192.168.1.1/24" # lan
"10.100.0.0/24" # wireguard clients
"192.168.20.1/24" # lan
];
# Restrict access based on geo-location
@ -52,7 +44,8 @@
forceMonthlyUpdate = "true";
};
# Disable Crowdsec IP checking but apply Crowdsec Appsec checking. This mode is intended to be used when Crowdsec IP checking is applied at the Firewall Level.
# Disable Crowdsec IP checking but apply Crowdsec Appsec checking.
# This mode is intended to be used when Crowdsec IP checking is applied at the Firewall Level.
crowdsec.plugin.bouncer = {
enabled = "true";
crowdsecMode = "appsec";