Compare commits

...

3 commits

7 changed files with 127 additions and 0 deletions

View file

@ -0,0 +1,5 @@
# Flaresolverr
FlareSolverr helps other services solve cloudflare captchas. This is useful for services such as prowlarr that may need to get past captchas on certain sites.
## How to use this kubernetes config
No changes are needed, just deploy where you need it. This doesn't come with an ingress as it assumes other kubernetes services inside your cluster will be the only things needing to access it.

View file

@ -0,0 +1,22 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: flaresolverr
spec:
selector:
matchLabels:
app: flaresolverr
template:
metadata:
labels:
app: flaresolverr
spec:
containers:
- name: flaresolverr
image: ghcr.io/flaresolverr/flaresolverr:latest
resources:
limits:
memory: "512Mi"
cpu: "500m"
ports:
- containerPort: 8191

10
FlareSolverr/service.yml Normal file
View file

@ -0,0 +1,10 @@
apiVersion: v1
kind: Service
metadata:
name: flaresolverr
spec:
selector:
app: flaresolverr
ports:
- port: 8191
targetPort: 8191

View file

@ -0,0 +1,7 @@
# Jellyfin
Jellyfin is a media center server somewhat like netflix but self-hosted.
## Using this kubernetes config
In `deployment.yml`, set the media directory host path. This is where you will/have put your media for Jellyfin to serve.
In `ingress.yml`, set the hostname that users will use to connect to the service. This config assumes you have cert-manager installed on your cluster, so if you want to provide HTTPS another way, feel free to comment out the `spec.tls` section (the annotation shouldn't affect anything, but you can comment it out as well if you want)

50
Jellyfin/deployment.yml Normal file
View file

@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: jellyfin
spec:
replicas: 1
selector:
matchLabels:
app: jellyfin
template:
metadata:
labels:
app: jellyfin
spec:
containers:
- name: jellyfin
image: jellyfin/jellyfin:latest
ports:
- containerPort: 8096
resources:
requests:
cpu: "500m"
memory: "256Mi"
limits:
cpu: "2"
memory: "2Gi"
volumeMounts:
- name: config
mountPath: /config
- name: media
mountPath: /media
volumes:
- name: config
persistentVolumeClaim:
claimName: jellyfin-config-pvc
- name: media
hostPath:
path: <media directory host path>
type: Directory
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-config-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 128Mi

22
Jellyfin/ingress.yml Normal file
View file

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jellyfin-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-production"
spec:
tls:
- hosts:
- <jellyfin domain name>
secretName: jellyfin-tls
rules:
- host: <jellyfin domain name>
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: jellyfin
port:
number: 80

11
Jellyfin/service.yml Normal file
View file

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: jellyfin
spec:
selector:
app: jellyfin
ports:
- protocol: TCP
port: 80
targetPort: 8096