initial commit
This commit is contained in:
commit
9a935f8431
27 changed files with 1309 additions and 0 deletions
162
modules/programs/media.nix
Normal file
162
modules/programs/media.nix
Normal file
|
@ -0,0 +1,162 @@
|
|||
{ config, pkgs, lib, sensitive, ... }:
|
||||
{
|
||||
imports = [
|
||||
../common/qbittorrent.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
podman-tui
|
||||
jellyfin
|
||||
jellyseerr
|
||||
mediainfo
|
||||
authelia
|
||||
];
|
||||
|
||||
users = {
|
||||
groups = {
|
||||
"jellyfin" = {};
|
||||
};
|
||||
users = {
|
||||
"sonarr".extraGroups = [ "jellyfin" ];
|
||||
"radarr".extraGroups = [ "jellyfin" ];
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
jellyfin = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "jellyfin";
|
||||
};
|
||||
|
||||
radarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "jellyfin";
|
||||
};
|
||||
|
||||
sonarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "jellyfin";
|
||||
};
|
||||
|
||||
bazarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "jellyfin";
|
||||
};
|
||||
|
||||
lidarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
group = "jellyfin";
|
||||
};
|
||||
|
||||
jellyseerr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
prowlarr = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
qbittorrent = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
dataDir = "/var/media/qbittorrent";
|
||||
port = 58080;
|
||||
|
||||
user = "qbittorrent";
|
||||
group = "jellyfin";
|
||||
};
|
||||
|
||||
sabnzbd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
configFile = "/var/media/sabnzbd/config.ini";
|
||||
|
||||
user = "sabnzbd";
|
||||
group = "jellyfin";
|
||||
};
|
||||
|
||||
# authelia = {
|
||||
# enable = true;
|
||||
# };
|
||||
|
||||
caddy = {
|
||||
enable = true;
|
||||
virtualHosts = {
|
||||
# "movies.kruining.eu".extraConfig = ''
|
||||
# reverse_proxy http://127.0.0.1:8989
|
||||
# '';
|
||||
# "series.kruining.eu".extraConfig = ''
|
||||
# reverse_proxy http://127.0.0.1:7878
|
||||
# '';
|
||||
"http://media.kruining.eu".extraConfig = ''
|
||||
basicauth {
|
||||
chris $2a$12$JrsmxrEJj2wLMdcFmEHbWeMJF9gWH/fnE/1Zv67cKvBtq4E4xsSEe
|
||||
}
|
||||
reverse_proxy http://127.0.0.1:9494
|
||||
'';
|
||||
"https://media.kruining.eu".extraConfig = ''
|
||||
basicauth {
|
||||
chris $2a$12$JrsmxrEJj2wLMdcFmEHbWeMJF9gWH/fnE/1Zv67cKvBtq4E4xsSEe
|
||||
}
|
||||
reverse_proxy http://127.0.0.1:9494
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
containers.enable = true;
|
||||
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
};
|
||||
|
||||
oci-containers = {
|
||||
backend = "podman";
|
||||
|
||||
containers = {
|
||||
flaresolverr = {
|
||||
image = "flaresolverr/flaresolverr";
|
||||
autoStart = true;
|
||||
ports = [ "127.0.0.1:8191:8191" ];
|
||||
};
|
||||
|
||||
homarr = {
|
||||
image = "ghcr.io/ajnart/homarr:latest";
|
||||
autoStart = true;
|
||||
ports = [ "127.0.0.1:7575:7575" ];
|
||||
};
|
||||
|
||||
reiverr = {
|
||||
image = "ghcr.io/aleksilassila/reiverr:v2.0.0-alpha.5";
|
||||
autoStart = true;
|
||||
ports = [ "127.0.0.1:9494:9494" ];
|
||||
volumes = [ "/var/media/reiverr/config:/config" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Config file for nabnzbd
|
||||
# environment.etc."nabnzbd.ini" = {
|
||||
# mode = "0775"
|
||||
# text = ''
|
||||
# host = 127.0.0.1
|
||||
# port = 9595
|
||||
# '';
|
||||
# };
|
||||
|
||||
# Open firewall for caddy
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
|
||||
systemd.services.jellyfin.serviceConfig.killSignal = lib.mkForce "SIGKILL";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue