Skip to content

Commit

Permalink
feat: add jellyfin (#30)
Browse files Browse the repository at this point in the history
  • Loading branch information
KyleTryon committed Jun 1, 2023
1 parent 421ae43 commit 195c110
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 0 deletions.
1 change: 1 addition & 0 deletions Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ keywords:
- homepage
- homeserver
- huginn
- jellyfin
- kavita
- nginx
- overseerr
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ View the [docs](https://www.ultimatehomeserver.com/docs/) for a detailed guide o
- 🏠 [`homepage`](https://gethomepage.dev/): A customizable start page for your home server.
### Media
- 📺 [`plex`](https://www.plex.tv/): A personal media server.
- 🪼 [`jellyfin`](https://jellyfin.org/): The free software media system.
- 📖 [`kavita`](https://www.kavitareader.com/): A modern reading server for manga, comics, and books.
### Media Management
- 👁️ [`overseerr`](https://overseerr.dev/): A request management and media discovery tool.
Expand Down
14 changes: 14 additions & 0 deletions files/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -246,4 +246,18 @@ http {
}
}
{{- end }}

{{- if .Values.services.jellyfin.enabled }}
server {
server_name jellyfin.{{ .Values.services.nginx.domain }};
include ssl.conf;
listen {{ .Values.services.jellyfin.ports.http }} http2 ssl;
listen [::]:{{ .Values.services.jellyfin.ports.http }} http2 ssl;
location / {
proxy_pass http://jellyfin:{{ .Values.services.jellyfin.ports.http }};
include nginx_proxy_headers.conf;
}
}
{{- end }}

}
56 changes: 56 additions & 0 deletions templates/jellyfin/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{{- if .Values.services.jellyfin.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: jellyfin
namespace: default
labels:
app.kubernetes.io/name: jellyfin
spec:
revisionHistoryLimit: 3
replicas: {{ .Values.services.jellyfin.replicaCount }}
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: jellyfin
template:
metadata:
labels:
app.kubernetes.io/name: jellyfin
spec:
containers:
- name: jellyfin
image: "{{ .Values.services.jellyfin.image.repository }}:{{ .Values.services.jellyfin.image.tag }}"
imagePullPolicy: {{ .Values.services.jellyfin.image.pullPolicy }}
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "{{ .Values.common.tz }}"
- name: "JELLYFIN_PublishedServerUrl"
value: "jellyfin.{{ .Values.services.nginx.domain }}"
ports:
- name: http
containerPort: {{ .Values.services.jellyfin.ports.http }}
protocol: TCP
- name: udp
containerPort: {{ .Values.services.jellyfin.ports.udp }}
protocol: UDP
volumeMounts:
- name: jellyfin-config
mountPath: /config
- name: library
mountPath: /library
volumes:
- name: jellyfin-config
hostPath:
path: "{{ .Values.services.jellyfin.config }}"
type: Directory
- name: library
hostPath:
path: "{{ .Values.services.jellyfin.library }}"
type: Directory
{{- end }}
18 changes: 18 additions & 0 deletions templates/jellyfin/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if .Values.services.jellyfin.enabled }}
apiVersion: v1
kind: Service
metadata:
name: jellyfin
namespace: default
labels:
app.kubernetes.io/name: jellyfin
spec:
type: ClusterIP
ports:
- name: http
port: {{ .Values.services.jellyfin.ports.http }}
targetPort: http
protocol: TCP
selector:
app.kubernetes.io/name: jellyfin
{{- end }}

0 comments on commit 195c110

Please sign in to comment.