2024-08-08 09:02:42 +08:00
|
|
|
{...}: let
|
2024-06-16 23:08:52 +08:00
|
|
|
port = "9696";
|
2024-08-08 09:02:42 +08:00
|
|
|
in {
|
2024-01-23 09:45:42 +08:00
|
|
|
virtualisation.oci-containers.containers = {
|
|
|
|
# Indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps.
|
|
|
|
prowlarr = {
|
|
|
|
autoStart = true;
|
2024-08-11 20:05:27 +08:00
|
|
|
image = "ghcr.io/hotio/prowlarr:release-1.21.2.4649";
|
2024-01-23 09:45:42 +08:00
|
|
|
ports = [
|
2024-06-16 23:08:52 +08:00
|
|
|
"${port}:9696/tcp" # WebUI
|
2024-01-23 09:45:42 +08:00
|
|
|
];
|
|
|
|
volumes = [
|
|
|
|
# Container data
|
|
|
|
"/srv/containers/prowlarr:/config:rw"
|
|
|
|
];
|
2024-06-16 23:08:52 +08:00
|
|
|
environment = {
|
|
|
|
PUID = "1000";
|
|
|
|
PGID = "100";
|
|
|
|
};
|
2024-01-23 09:45:42 +08:00
|
|
|
extraOptions = [
|
|
|
|
"--network=media-stack"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
2024-06-05 21:14:22 +08:00
|
|
|
services.traefik.dynamicConfigOptions.http.routers = {
|
|
|
|
prowlarr = {
|
|
|
|
rule = "Host(`prowlarr.kanto.dev`)";
|
|
|
|
entryPoints = [
|
|
|
|
"websecure"
|
|
|
|
];
|
|
|
|
middlewares = [
|
2024-07-08 22:08:39 +08:00
|
|
|
"internal"
|
2024-06-05 21:14:22 +08:00
|
|
|
];
|
|
|
|
service = "prowlarr";
|
|
|
|
};
|
|
|
|
};
|
2024-08-08 09:02:42 +08:00
|
|
|
|
2024-06-05 21:14:22 +08:00
|
|
|
services.traefik.dynamicConfigOptions.http.services = {
|
|
|
|
prowlarr.loadBalancer.servers = [
|
2024-08-08 09:02:42 +08:00
|
|
|
{url = "http://127.0.0.1:${port}";}
|
2024-06-05 21:14:22 +08:00
|
|
|
];
|
|
|
|
};
|
2024-01-23 09:45:42 +08:00
|
|
|
}
|