mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-08-11 16:50:35 +00:00
- Media stack deployed: qBittorrent, Sonarr, Radarr, Lidarr, Prowlarr, Bazarr, Navidrome, Audiobookshelf, Jellyfin, Homarr, Kavita, MeTube, SuggestArr, BoxArr - Romm, ebook2audiobook (GPU CUDA), TrailBase, FlareSolverr deployed - Vaultwarden + Vaultwarden-API deployed - Caddy reverse proxy on racknerd with Let's Encrypt TLS at *.researchstack.info - Authentik 7 OIDC providers + 12 proxy providers for SSO - NVIDIA GPU support enabled on k3s (device plugin + containerd runtime) - Cloudflare tunnel created (DNS on Porkbun) Build: 3313 jobs, 0 errors (lake build Compiler)
154 lines
3.2 KiB
YAML
154 lines
3.2 KiB
YAML
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: audiobookshelf-config
|
|
namespace: media
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 5Gi
|
|
storageClassName: local-path
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: audiobookshelf
|
|
namespace: media
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: audiobookshelf
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: audiobookshelf
|
|
spec:
|
|
nodeSelector:
|
|
kubernetes.io/hostname: qfox-1
|
|
containers:
|
|
- name: audiobookshelf
|
|
image: ghcr.io/advplyr/audiobookshelf:latest
|
|
ports:
|
|
- containerPort: 13378
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "100"
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /config
|
|
- name: media
|
|
mountPath: /audiobooks
|
|
subPath: audiobooks
|
|
- name: media
|
|
mountPath: /podcasts
|
|
subPath: podcasts
|
|
volumes:
|
|
- name: config
|
|
persistentVolumeClaim:
|
|
claimName: audiobookshelf-config
|
|
- name: media
|
|
persistentVolumeClaim:
|
|
claimName: media-store
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: audiobookshelf
|
|
namespace: media
|
|
spec:
|
|
type: NodePort
|
|
ports:
|
|
- port: 13378
|
|
targetPort: 13378
|
|
nodePort: 30090
|
|
selector:
|
|
app: audiobookshelf
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: jellyfin-config
|
|
namespace: media
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 5Gi
|
|
storageClassName: local-path
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: jellyfin
|
|
namespace: media
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: jellyfin
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: jellyfin
|
|
spec:
|
|
nodeSelector:
|
|
kubernetes.io/hostname: qfox-1
|
|
containers:
|
|
- name: jellyfin
|
|
image: lscr.io/linuxserver/jellyfin:latest
|
|
ports:
|
|
- containerPort: 8096
|
|
- containerPort: 8920
|
|
env:
|
|
- name: PUID
|
|
value: "1000"
|
|
- name: PGID
|
|
value: "100"
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /config
|
|
- name: media
|
|
mountPath: /media/movies
|
|
subPath: movies
|
|
- name: media
|
|
mountPath: /media/tv
|
|
subPath: tv
|
|
- name: media
|
|
mountPath: /media/music
|
|
subPath: music
|
|
- name: media
|
|
mountPath: /media/audiobooks
|
|
subPath: audiobooks
|
|
volumes:
|
|
- name: config
|
|
persistentVolumeClaim:
|
|
claimName: jellyfin-config
|
|
- name: media
|
|
persistentVolumeClaim:
|
|
claimName: media-store
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: jellyfin
|
|
namespace: media
|
|
spec:
|
|
type: NodePort
|
|
ports:
|
|
- name: web
|
|
port: 8096
|
|
targetPort: 8096
|
|
nodePort: 30091
|
|
- name: https
|
|
port: 8920
|
|
targetPort: 8920
|
|
nodePort: 30092
|
|
selector:
|
|
app: jellyfin
|