latest arr config
This commit is contained in:
parent
3d93bffc31
commit
8d697ab71d
8 changed files with 155 additions and 9 deletions
82
modules/arrstack/calibre.nix
Normal file
82
modules/arrstack/calibre.nix
Normal 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:
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
50
modules/arrstack/mediathekarr.nix
Normal file
50
modules/arrstack/mediathekarr.nix
Normal 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:
|
||||||
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
@ -55,8 +55,12 @@ 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;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue