2026-01-20 21:13:33 +00:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
{
|
|
|
|
|
config = lib.mkIf (config.networking.hostName == "FredOS-Mediaserver") {
|
|
|
|
|
|
2026-01-20 21:40:47 +00:00
|
|
|
# Nginx Proxy Manager
|
|
|
|
|
virtualisation.oci-containers = {
|
|
|
|
|
backend = "docker";
|
|
|
|
|
|
|
|
|
|
containers."nginx-proxy-manager" = {
|
|
|
|
|
image = "jc21/nginx-proxy-manager:latest";
|
|
|
|
|
ports = [
|
|
|
|
|
"80:80"
|
|
|
|
|
"81:81"
|
|
|
|
|
"443:443"
|
|
|
|
|
];
|
|
|
|
|
volumes = [
|
2026-01-21 13:37:22 +00:00
|
|
|
"/home/fred/docker/nginx-proxy-manager/data:/data"
|
|
|
|
|
"/home/fred/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt"
|
2026-01-20 21:40:47 +00:00
|
|
|
];
|
2026-01-20 21:45:20 +00:00
|
|
|
# Remove the extraOptions with --restart, it conflicts with --rm
|
2026-01-20 21:40:47 +00:00
|
|
|
};
|
|
|
|
|
};
|
2026-01-20 21:45:20 +00:00
|
|
|
|
2026-01-20 21:40:47 +00:00
|
|
|
# Create directories
|
|
|
|
|
systemd.tmpfiles.rules = [
|
2026-01-21 13:39:10 +00:00
|
|
|
"d /home/fred/docker/nginx-proxy-manager/data 0755 root root -"
|
|
|
|
|
"d /home/fred/docker/nginx-proxy-manager/letsencrypt 0755 root root -"
|
2026-01-20 21:40:47 +00:00
|
|
|
];
|
2026-01-20 21:45:20 +00:00
|
|
|
|
2026-01-20 21:40:47 +00:00
|
|
|
# Open firewall
|
|
|
|
|
networking.firewall.allowedTCPPorts = [ 80 81 443 ];
|
2026-01-20 21:35:57 +00:00
|
|
|
|
2026-01-20 21:40:47 +00:00
|
|
|
# Jellyfin
|
|
|
|
|
services.jellyfin = {
|
|
|
|
|
enable = true;
|
|
|
|
|
openFirewall = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-01-20 21:17:17 +00:00
|
|
|
}
|