Prowlarr - Media search from the Arr family of applications
Prowlarr - Media search from the Arr family of applications
Prowlarr is an indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with LazyLibrarian, Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required (we do it all).
I use PostgreSQL instead of SQLite
Since this uses media from my NAS i have simply decided to run this as a Docker Container on UnRAID on my NAS instead of having it as part of my kubernetes cluster to remove the need to access the NAS media remotely
Kubernetes Manifest
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: prowlarr
app.kubernetes.io/instance: prowlarr
app.kubernetes.io/name: prowlarr
name: prowlarr
namespace: arr
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: prowlarr
template:
metadata:
labels:
app: prowlarr
app.kubernetes.io/name: prowlarr
spec:
nodeSelector:
worker: "true"
containers:
- image: hotio/prowlarr
name: prowlarr
ports:
- containerPort: 9696
name: web
protocol: TCP
env:
- name: TZ
value: Europe/London
volumeMounts:
- mountPath: "/config"
readOnly: false
name: config
volumes:
- name: config
persistentVolumeClaim:
claimName: prowlarr
---
apiVersion: v1
kind: Service
metadata:
labels:
app: prowlarr
name: prowlarr
namespace: arr
spec:
ports:
- name: web-tcp
port: 9696
protocol: TCP
targetPort: 9696
selector:
app: prowlarr
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: prowlarr
namespace: arr
annotations:
kubernetes.io/ingress.class: traefik-external
gethomepage.dev/href: "https://prowlarr.f9.casa"
gethomepage.dev/enabled: "true"
gethomepage.dev/description: Media Search
gethomepage.dev/group: Media Management
gethomepage.dev/icon: prowlarr.png
gethomepage.dev/name: Prowlarr
gethomepage.dev/widget.type: prowlarr
gethomepage.dev/widget.url: "http://prowlarr.arr:9696"
gethomepage.dev/widget.key: "[REDACTED]"
spec:
entryPoints:
- websecure
routes:
- match: Host(`prowlarr.f9.casa`)
kind: Rule
services:
- name: prowlarr
port: 9696
middlewares:
- name: default-headers
namespace: default
- name: authentik
namespace: authentik
tls:
secretName: f9-casa-tls
Docker Compose
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
version: '3.9'
services:
prowlarr:
image: ghcr.io/hotio/prowlarr
hostname: prowlarr
networks:
- traefik-public
environment:
- PUID=1000
- PGID=1000
volumes:
- /srv/cephfs/docker/appdata/prowlarr:/config
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.f9.casa`)"
- "traefik.http.services.prowlarr.loadbalancer.server.port=9696"
- "traefik.http.routers.prowlarr.entrypoints=https"
- "traefik.http.routers.prowlarr.tls=true"
- "traefik.http.routers.prowlarr.tls.certresolver=letsencrypt"
- "traefik.http.routers.prowlarr.middlewares=authentik@docker"
- homepage.group=Media Management
- homepage.name=Prowlarr
- homepage.icon=prowlarr.png
- homepage.href=https://prowlarr.f9.casa
- homepage.description=Media Search
- homepage.siteMonitor=http://prowlarr:9696
- homepage.widget.type=prowlarr
- homepage.widget.url=http://prowlarr:9696
- homepage.widget.key=[REDACTED]
mode: replicated
networks:
traefik-public:
external: true
Configuration
config.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<Config>
<BindAddress>*</BindAddress>
<Port>9696</Port>
<SslPort>6969</SslPort>
<EnableSsl>False</EnableSsl>
<LaunchBrowser>True</LaunchBrowser>
<ApiKey>[REDACTED]</ApiKey>
<AuthenticationMethod>External</AuthenticationMethod>
<Branch>master</Branch>
<LogLevel>info</LogLevel>
<SslCertPath></SslCertPath>
<SslCertPassword></SslCertPassword>
<UrlBase></UrlBase>
<InstanceName>Prowlarr</InstanceName>
<UpdateMechanism>Docker</UpdateMechanism>
<AuthenticationRequired>Enabled</AuthenticationRequired>
<PostgresUser>prowlarr</PostgresUser>
<PostgresPassword>[REDACTED]</PostgresPassword>
<PostgresPort>5432</PostgresPort>
<PostgresHost>postgresql</PostgresHost>
</Config>
This post is licensed under CC BY 4.0 by the author.