latest arr config

This commit is contained in:
mc-fucker 2025-11-10 14:18:35 +01:00
parent 3d93bffc31
commit 8d697ab71d
8 changed files with 155 additions and 9 deletions

View file

@ -0,0 +1,82 @@
{ config, lib, ... }:
let
cfg = import /etc/nixos/modules/vars.nix;
name = "calibre-web-automated";
#dbport = cfg.XXX.dbport;
#db_host = cfg.podman.hostIP;
port = cfg.calibre.port;
#domain = cfg.XXX.domain;
in
{
imports = [
#./podman.nix
#./podman-postgresql.nix # for the database
#./nginx.nix # for the webserver
];
#sops.secrets."${name}/db" = {};
sops.secrets."calibre/env" = {};
#services.podman-postgresql."${name}" = {
# enable = true;
# image = "docker.io/library/postgres:16-alpine";
# port = (lib.strings.toInt dbport);
# passwordFile = config.sops.secrets."${name}/db".path;
#};
virtualisation.oci-containers.containers."${name}" = {
image = "docker.io/crocodilestick/calibre-web-automated";
environment = {
TZ = "Europe/Berlin";
PUID = toString config.users.users.arr.uid;
PGID = toString config.users.groups.arr.gid;
};
#environmentFiles = [ config.sops.secrets."calibre/env".path ];
ports = [
"${port}:${port}"
];
volumes = [
"/var/lib/${name}:/config"
"/mnt/cache/calibre:/cwa-book-ingest"
"/mnt/mergerfs/media/calibre:/calibre-library"
];
extraOptions = cfg.podman.extraOptions;
};
virtualisation.oci-containers.containers.calibre-book-downloader = {
image = "ghcr.io/calibrain/calibre-web-automated-book-downloader";
environment = {
TZ = "Europe/Berlin";
UID = toString config.users.users.arr.uid;
GID = toString config.users.groups.arr.gid;
FLASK_PORT = "8084";
APP_ENV = "prod";
SUPPORTED_FORMATS = "pdf,epub,mobi,azw3,fb2,djvu,cbz,cbr";
};
#environmentFiles = [ config.sops.secrets."calibre/env".path ];
ports = [
"8084:8084"
];
volumes = [
#"/var/lib/${name}:/config"
"/mnt/cache/calibre:/cwa-book-ingest"
#"/mnt/mergerfs/media/calibre:/calibre-library"
];
extraOptions = cfg.podman.extraOptions;
};
#services.nginx.virtualHosts.${domain} = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://localhost:${port}";
# proxyWebsockets = true;
# };
# extraConfig = ''
# access_log /var/log/nginx/${domain}_access.log;
# error_log /var/log/nginx/${domain}_error.log;
# '';
#};
}
# vim: set et ts=2 sw=2 ai:

View file

@ -64,9 +64,11 @@ in
/etc/nixos/modules/nginx.nix /etc/nixos/modules/nginx.nix
./autobrr.nix ./autobrr.nix
./bazarr.nix ./bazarr.nix
./calibre.nix
./crossseed.nix ./crossseed.nix
./lidarr.nix
./jellyseerr.nix ./jellyseerr.nix
./lidarr.nix
./mediathekarr.nix
./prowlarr.nix ./prowlarr.nix
./qbittorrent.nix ./qbittorrent.nix
./radarr.nix ./radarr.nix

View file

@ -45,7 +45,7 @@ in
"/var/lib/lidarr-extended/custom-cont-init.d:/custom-cont-init.d" "/var/lib/lidarr-extended/custom-cont-init.d:/custom-cont-init.d"
"/var/lib/lidarr-extended/custom-services.d:/custom-services.d" "/var/lib/lidarr-extended/custom-services.d:/custom-services.d"
"/mnt/mergerfs/media:/data" "/mnt/mergerfs/media:/data"
"/mnt/ultracc/downloads:/mnt/ultracc" #"/mnt/ultracc/downloads:/mnt/ultracc"
]; ];
extraOptions = cfg.podman.extraOptions; extraOptions = cfg.podman.extraOptions;
autoStart = false; autoStart = false;

View file

@ -0,0 +1,50 @@
{ config, lib, ... }:
let
cfg = import /etc/nixos/modules/vars.nix;
name = "mediathekarr";
port = "5007";
in
{
imports = [
#./podman.nix
#./podman-postgresql.nix # for the database
#./nginx.nix # for the webserver
];
#sops.secrets."${name}/db" = {};
#sops.secrets."${name}/env" = {};
virtualisation.oci-containers.containers.${name} = {
image = "docker.io/pcjones/mediathekarr:beta";
environment = {
PUID = toString config.users.users.arr.uid;
PGID = toString config.users.groups.arr.gid;
TZ = "Europe/Berlin";
};
#environmentFiles = [ config.sops.secrets."${name}/env".path ];
ports = [
"${port}:${port}"
];
volumes = [
"/var/lib/${name}:/app/config"
"/mnt/mergerfs/media/mediathek:/data/mediathek"
];
extraOptions = cfg.podman.extraOptions;
autoStart = false;
};
#services.nginx.virtualHosts.${domain} = {
# forceSSL = true;
# enableACME = true;
# locations."/" = {
# proxyPass = "http://localhost:${port}";
# proxyWebsockets = true;
# };
# extraConfig = ''
# access_log /var/log/nginx/${domain}_access.log;
# error_log /var/log/nginx/${domain}_error.log;
# '';
#};
}
# vim: set et ts=2 sw=2 ai:

View file

@ -7,8 +7,11 @@ let
in in
{ {
boot.kernelModules = [ "iptable_filter" ]; # needed for the container
virtualisation.oci-containers.containers.qbittorrent = { virtualisation.oci-containers.containers.qbittorrent = {
image = "docker.io/binhex/arch-qbittorrentvpn"; #image = "docker.io/binhex/arch-qbittorrentvpn:5.1.1-1-01";
image = "docker.io/binhex/arch-qbittorrentvpn:latest";
environment = { environment = {
TZ = "Europe/Berlin"; TZ = "Europe/Berlin";
PUID = toString config.users.users.arr.uid; PUID = toString config.users.users.arr.uid;
@ -30,7 +33,7 @@ in
"/mnt/cache/qbittorrent:/cache" "/mnt/cache/qbittorrent:/cache"
]; ];
#extraOptions = cfg.podman.extraOptions ++ [ "--cap-add=NET_ADMIN,NET_RAW" "--device=/dev/net/tun" ]; #extraOptions = cfg.podman.extraOptions ++ [ "--cap-add=NET_ADMIN,NET_RAW" "--device=/dev/net/tun" ];
extraOptions = cfg.podman.extraOptions ++ [ ''--sysctl="net.ipv4.conf.all.src_valid_mark=1"'' "--privileged=true" "--ip=10.88.13.37" ]; extraOptions = cfg.podman.extraOptions ++ [ ''--sysctl="net.ipv4.conf.all.src_valid_mark=1"'' "--privileged=true" "--ip=10.88.13.37" "--cap-add=NET_ADMIN,NET_RAW" ];
autoStart = false; autoStart = false;
}; };

View file

@ -20,7 +20,7 @@ in
volumes = [ volumes = [
"/var/lib/radarr:/config" "/var/lib/radarr:/config"
"/mnt/mergerfs/media:/data" "/mnt/mergerfs/media:/data"
"/mnt/ultracc/downloads:/mnt/ultracc" #"/mnt/ultracc/downloads:/mnt/ultracc"
]; ];
extraOptions = cfg.podman.extraOptions; extraOptions = cfg.podman.extraOptions;
autoStart = false; autoStart = false;
@ -60,6 +60,11 @@ in
extraConfig = '' extraConfig = ''
access_log /var/log/nginx/radarr.${domain}_access.log; access_log /var/log/nginx/radarr.${domain}_access.log;
error_log /var/log/nginx/radarr.${domain}_error.log; error_log /var/log/nginx/radarr.${domain}_error.log;
send_timeout 100m;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 30m;
''; '';
}; };

View file

@ -20,7 +20,7 @@ in
volumes = [ volumes = [
"/var/lib/sonarr:/config" "/var/lib/sonarr:/config"
"/mnt/mergerfs/media:/data" "/mnt/mergerfs/media:/data"
"/mnt/ultracc/downloads:/mnt/ultracc" #"/mnt/ultracc/downloads:/mnt/ultracc"
]; ];
extraOptions = cfg.podman.extraOptions; extraOptions = cfg.podman.extraOptions;
autoStart = false; autoStart = false;
@ -57,6 +57,10 @@ in
extraConfig = '' extraConfig = ''
access_log /var/log/nginx/sonarr.${domain}_access.log; access_log /var/log/nginx/sonarr.${domain}_access.log;
error_log /var/log/nginx/sonarr.${domain}_error.log; error_log /var/log/nginx/sonarr.${domain}_error.log;
send_timeout 100m;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 30m;
''; '';
}; };

View file

@ -20,7 +20,7 @@ in
volumes = [ volumes = [
"/var/lib/whisparr:/config" "/var/lib/whisparr:/config"
"/mnt/mergerfs/media:/data" "/mnt/mergerfs/media:/data"
"/mnt/ultracc/downloads:/mnt/ultracc" #"/mnt/ultracc/downloads:/mnt/ultracc"
]; ];
extraOptions = cfg.podman.extraOptions; extraOptions = cfg.podman.extraOptions;
autoStart = false; autoStart = false;