mirror of
https://github.com/zoriya/snow.git
synced 2026-08-15 18:44:14 +00:00
wip: Add ytdlp
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -47,5 +47,4 @@ spec:
|
||||
defaultMode: 0555
|
||||
- name: medias
|
||||
persistentVolumeClaim:
|
||||
# TODO: use medias once i actually have some :c
|
||||
claimName: downloads
|
||||
claimName: medias
|
||||
|
||||
Reference in New Issue
Block a user