wip: Add ytdlp

This commit is contained in:
2025-08-21 09:29:53 +02:00
parent 26c54934c5
commit 1f22645c7a
7 changed files with 118 additions and 2 deletions
+12
View File
@@ -0,0 +1,12 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
labels:
- includeSelectors: true
pairs:
app.kubernetes.io/name: meelo
resources:
# - ./meelo
- ./ytdlp
- ./pv.yaml
+29
View File
@@ -0,0 +1,29 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: meelo-music
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 200Ti
csi:
driver: zfs.csi.openebs.io
fsType: zfs
volumeAttributes:
openebs.io/poolname: ocean
volumeHandle: "music"
persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: music
spec:
storageClassName: ""
volumeName: meelo-music
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 200Ti
+38
View File
@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: smartrss
spec:
template:
spec:
securityContext:
fsGroup: 1001
runAsUser: 1001
runAsGroup: 1001
runAsNonRoot: true
fsGroupChangePolicy: OnRootMismatch
containers:
- name: smartrss
image: nixery.dev/shell/yt-dlp
command: [/app/ytdlp-sync.sh]
env:
- name: URL
valueFrom:
secretKeyRef:
name: yt-playlist
key: url
volumeMounts:
- name: scripts
mountPath: /app
readOnly: true
- name: musics
mountPath: /musics
volumes:
- name: scripts
configMap:
name: scripts
defaultMode: 0555
- name: musics
persistentVolumeClaim:
claimName: musics
+16
View File
@@ -0,0 +1,16 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
labels:
- includeSelectors: true
pairs:
app.kubernetes.io/component: ytdlp
configMapGenerator:
- name: scripts
files:
- ./ytdlp-sync.sh
resources:
- ./deploy.yaml
- ./secret.yaml
+13
View File
@@ -0,0 +1,13 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: yt-playlist
spec:
refreshInterval: 24h
secretStoreRef:
name: bitwarden
kind: ClusterSecretStore
data:
- secretKey: url
remoteRef:
key: yt-playlist
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bien/env bash
# while true; do
yt-dlp "$URL" -o "$OUT/%(artist)s - %(title)s.%(ext)s" \
--extract-audio \
--embed-thumbnail --embed-metadata --embed-chapters \
--download-archive "$OUT/ytdlp-archive.txt"
# sleep 6h
# done
+1 -2
View File
@@ -47,5 +47,4 @@ spec:
defaultMode: 0555
- name: medias
persistentVolumeClaim:
# TODO: use medias once i actually have some :c
claimName: downloads
claimName: medias