Compare commits
2
Commits
b5750423ed
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c05308417e | ||
|
|
e6b76d0e26 |
@@ -0,0 +1,102 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: radio-chicken-icecast
|
||||||
|
namespace: htpc
|
||||||
|
labels:
|
||||||
|
app: radio-chicken-icecast
|
||||||
|
app.kubernetes.io/name: radio-chicken-icecast
|
||||||
|
app.kubernetes.io/part-of: htpc
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: radio-chicken-icecast
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: radio-chicken-icecast
|
||||||
|
app.kubernetes.io/name: radio-chicken-icecast
|
||||||
|
app.kubernetes.io/part-of: htpc
|
||||||
|
spec:
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: vmserver
|
||||||
|
containers:
|
||||||
|
- name: icecast
|
||||||
|
image: moul/icecast:latest
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: ICECAST_SOURCE_PASSWORD
|
||||||
|
value: "hackme"
|
||||||
|
- name: ICECAST_ADMIN_PASSWORD
|
||||||
|
value: "hackme"
|
||||||
|
- name: ICECAST_PASSWORD
|
||||||
|
value: "hackme"
|
||||||
|
ports:
|
||||||
|
- name: icecast
|
||||||
|
containerPort: 8000
|
||||||
|
hostPort: 8000
|
||||||
|
protocol: TCP
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 50m
|
||||||
|
memory: 64Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 512Mi
|
||||||
|
volumeMounts:
|
||||||
|
- name: icecast-config
|
||||||
|
mountPath: /etc/icecast2/icecast.xml
|
||||||
|
subPath: icecast.xml
|
||||||
|
- name: standby-media
|
||||||
|
mountPath: /usr/share/icecast2/web/standby.ogg
|
||||||
|
subPath: standby.ogg
|
||||||
|
- name: standby-media
|
||||||
|
mountPath: /usr/share/icecast2/web/standby.mp3
|
||||||
|
subPath: standby.mp3
|
||||||
|
- name: standby-media
|
||||||
|
mountPath: /usr/share/icecast2/web/standby_video.webm
|
||||||
|
subPath: standby_video.webm
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /status-json.xsl
|
||||||
|
port: 8000
|
||||||
|
initialDelaySeconds: 15
|
||||||
|
periodSeconds: 20
|
||||||
|
timeoutSeconds: 5
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /status-json.xsl
|
||||||
|
port: 8000
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
volumes:
|
||||||
|
- name: icecast-config
|
||||||
|
configMap:
|
||||||
|
name: radio-chicken-icecast-config
|
||||||
|
- name: standby-media
|
||||||
|
hostPath:
|
||||||
|
path: /home/bart/jellyfinradio/webroot
|
||||||
|
type: Directory
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: radio-chicken-icecast
|
||||||
|
namespace: htpc
|
||||||
|
labels:
|
||||||
|
app: radio-chicken-icecast
|
||||||
|
app.kubernetes.io/name: radio-chicken-icecast
|
||||||
|
app.kubernetes.io/part-of: htpc
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: radio-chicken-icecast
|
||||||
|
ports:
|
||||||
|
- name: http-icecast
|
||||||
|
port: 8000
|
||||||
|
targetPort: 8000
|
||||||
|
protocol: TCP
|
||||||
@@ -52,61 +52,10 @@ spec:
|
|||||||
mountPath: /host-radio
|
mountPath: /host-radio
|
||||||
readOnly: true
|
readOnly: true
|
||||||
containers:
|
containers:
|
||||||
# Container 1: Icecast Audio & Video Streaming Server
|
# Container: Radio Chicken Web Application & Audio/Video Streamer
|
||||||
- name: icecast
|
|
||||||
image: moul/icecast:latest
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
env:
|
|
||||||
- name: ICECAST_SOURCE_PASSWORD
|
|
||||||
value: "hackme"
|
|
||||||
- name: ICECAST_ADMIN_PASSWORD
|
|
||||||
value: "hackme"
|
|
||||||
- name: ICECAST_PASSWORD
|
|
||||||
value: "hackme"
|
|
||||||
ports:
|
|
||||||
- name: icecast
|
|
||||||
containerPort: 8000
|
|
||||||
hostPort: 8000
|
|
||||||
protocol: TCP
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 50m
|
|
||||||
memory: 64Mi
|
|
||||||
limits:
|
|
||||||
cpu: 500m
|
|
||||||
memory: 512Mi
|
|
||||||
volumeMounts:
|
|
||||||
- name: icecast-config
|
|
||||||
mountPath: /etc/icecast2/icecast.xml
|
|
||||||
subPath: icecast.xml
|
|
||||||
- name: data
|
|
||||||
mountPath: /usr/share/icecast2/web/standby.ogg
|
|
||||||
subPath: webroot/standby.ogg
|
|
||||||
- name: data
|
|
||||||
mountPath: /usr/share/icecast2/web/standby.mp3
|
|
||||||
subPath: webroot/standby.mp3
|
|
||||||
- name: data
|
|
||||||
mountPath: /usr/share/icecast2/web/standby_video.webm
|
|
||||||
subPath: webroot/standby_video.webm
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /status-json.xsl
|
|
||||||
port: 8000
|
|
||||||
initialDelaySeconds: 15
|
|
||||||
periodSeconds: 20
|
|
||||||
timeoutSeconds: 5
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /status-json.xsl
|
|
||||||
port: 8000
|
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 5
|
|
||||||
|
|
||||||
# Container 2: Radio Chicken Web Application & Audio/Video Streamer
|
|
||||||
- name: radio-chicken
|
- name: radio-chicken
|
||||||
image: git.bnhmeijer.nl/bart/radio-chicken:latest
|
image: git.bnhmeijer.nl/bart/radio-chicken:latest
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: Always
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
env:
|
env:
|
||||||
@@ -117,7 +66,9 @@ spec:
|
|||||||
- name: JELLYFIN_USER_ID
|
- name: JELLYFIN_USER_ID
|
||||||
value: "40a220e1e05e4a4395c9b0c6569f6e82"
|
value: "40a220e1e05e4a4395c9b0c6569f6e82"
|
||||||
- name: ICECAST_URL
|
- name: ICECAST_URL
|
||||||
value: "icecast://source:hackme@127.0.0.1:8000/chicken"
|
value: "icecast://source:hackme@radio-chicken-icecast:8000/chicken"
|
||||||
|
- name: ICECAST_STATUS_URL
|
||||||
|
value: "http://radio-chicken-icecast:8000/status-json.xsl"
|
||||||
- name: VIDEO_ENCODER
|
- name: VIDEO_ENCODER
|
||||||
value: "h264_vaapi"
|
value: "h264_vaapi"
|
||||||
- name: VAAPI_DEVICE
|
- name: VAAPI_DEVICE
|
||||||
@@ -212,9 +163,6 @@ spec:
|
|||||||
- name: data
|
- name: data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: radio-chicken-data
|
claimName: radio-chicken-data
|
||||||
- name: icecast-config
|
|
||||||
configMap:
|
|
||||||
name: radio-chicken-icecast-config
|
|
||||||
- name: music-videos
|
- name: music-videos
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /datadisk/htpc/music_video
|
path: /datadisk/htpc/music_video
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ resources:
|
|||||||
- configmap.yaml
|
- configmap.yaml
|
||||||
- pvc.yaml
|
- pvc.yaml
|
||||||
- service.yaml
|
- service.yaml
|
||||||
|
- deployment-icecast.yaml
|
||||||
- deployment.yaml
|
- deployment.yaml
|
||||||
|
|||||||
@@ -15,7 +15,3 @@ spec:
|
|||||||
port: 5000
|
port: 5000
|
||||||
targetPort: 5000
|
targetPort: 5000
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: http-icecast
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
protocol: TCP
|
|
||||||
|
|||||||
Reference in New Issue
Block a user