# One-shot import of Tafsir Gooya audio into tafsirquran-audio PVC. # Run: kubectl -n tafsirquran apply -f k8s/audio-import-job.yaml # Watch: kubectl -n tafsirquran logs -f job/tafsirquran-audio-import apiVersion: batch/v1 kind: Job metadata: name: tafsirquran-audio-import namespace: tafsirquran spec: backoffLimit: 1 ttlSecondsAfterFinished: 86400 template: spec: restartPolicy: Never containers: - name: import image: debian:bookworm-slim command: ["/bin/bash", "-lc"] args: - | set -euo pipefail sed -i 's/Components: main/Components: main contrib non-free non-free-firmware/' /etc/apt/sources.list.d/debian.sources 2>/dev/null || true grep -q non-free /etc/apt/sources.list 2>/dev/null || echo 'deb http://deb.debian.org/debian bookworm main contrib non-free' >> /etc/apt/sources.list apt-get update -qq DEBIAN_FRONTEND=noninteractive apt-get install -y -qq curl unrar ca-certificates >/dev/null chmod +x /scripts/fetch-audio.sh /scripts/fetch-audio.sh /data/audio volumeMounts: - name: audio mountPath: /data/audio - name: scripts mountPath: /scripts resources: requests: memory: 512Mi cpu: 250m volumes: - name: audio persistentVolumeClaim: claimName: tafsirquran-audio - name: scripts configMap: name: tafsirquran-audio-scripts defaultMode: 0755 --- apiVersion: v1 kind: ConfigMap metadata: name: tafsirquran-audio-scripts namespace: tafsirquran data: fetch-audio.sh: | #!/usr/bin/env bash set -euo pipefail AUDIO_DIR="${1:-/data/audio}" PASSWORD="www.p30download.com" BASE_URL="https://pdn.sharezilla.ir/d/audio" WORKDIR="${AUDIO_DIR}/.download" mkdir -p "$AUDIO_DIR" "$WORKDIR" SLUGS=( 001.Tafsir.Gooya.Hamd 002.Tafsir.Gooya.Baqara 003.Tafsir.Gooya.Ale.imran 004.Tafsir.Gooya.Nisa 005.Tafsir.Gooya.Maeda 006.Tafsir.Gooya.Anaam 007.Tafsir.Gooya.Araf 008.Tafsir.Gooya.Anfal 009.Tafsir.Gooya.Tawba 010.Tafsir.Gooya.Yunus 011.Tafsir.Gooya.Hud 012.Tafsir.Gooya.Yusuf 013.Tafsir.Gooya.Rad 014.Tafsir.Gooya.Ibrahim 015.Tafsir.Gooya.Hijr 016.Tafsir.Gooya.Nahl 017.Tafsir.Gooya.Isra 018.Tafsir.Gooya.Kahf 019.Tafsir.Gooya.Maryam 020.Tafsir.Gooya.Taha 021.Tafsir.Gooya.Anbiya 022.Tafsir.Gooya.Hajj 023.Tafsir.Gooya.Mumenoon 024.Tafsir.Gooya.Noor 025.Tafsir.Gooya.Furqan 026.Tafsir.Gooya.Shuara 027.Tafsir.Gooya.Naml 028.Tafsir.Gooya.Qasas 029.Tafsir.Gooya.Ankaboot 030.Tafsir.Gooya.Room 031.Tafsir.Gooya.Luqman 032.Tafsir.Gooya.Sajda 033.Tafsir.Gooya.Ahzab 034.Tafsir.Gooya.Saba 035.Tafsir.Gooya.Fatir 036.Tafsir.Gooya.Yaseen 037.Tafsir.Gooya.Saaffat 038.Tafsir.Gooya.Sad 039.Tafsir.Gooya.Zumar 040.Tafsir.Gooya.Ghafir 041.Tafsir.Gooya.Fussilat 042.Tafsir.Gooya.Shura 043.Tafsir.Gooya.Zukhruf 044.Tafsir.Gooya.Dukhan 045.Tafsir.Gooya.Jathiya 046.Tafsir.Gooya.Ahqaf 047.Tafsir.Gooya.Muhammad 048.Tafsir.Gooya.Fath 049.Tafsir.Gooya.Hujaraat 050.Tafsir.Gooya.Qaf 051.Tafsir.Gooya.Dhariyat 052.Tafsir.Gooya.Tur 053.Tafsir.Gooya.Najm 054.Tafsir.Gooya.Qamar 055.Tafsir.Gooya.Ar-Rahman 056.Tafsir.Gooya.Waqia 057.Tafsir.Gooya.Hadid 058.Tafsir.Gooya.Mujadila 059.Tafsir.Gooya.Hashr 060.Tafsir.Gooya.Mumtahina 061.Tafsir.Gooya.Saff 062.Tafsir.Gooya.Jumua 063.Tafsir.Gooya.Munafiqoon 064.Tafsir.Gooya.Taghabun 065.Tafsir.Gooya.Talaq 066.Tafsir.Gooya.Tahrim 067.Tafsir.Gooya.Mulk 068.Tafsir.Gooya.Qalam 069.Tafsir.Gooya.Haaqqa 070.Tafsir.Gooya.Maarij 071.Tafsir.Gooya.Nooh 072.Tafsir.Gooya.Jinn 073.Tafsir.Gooya.Muzzammil 074.Tafsir.Gooya.muddaththir 075.Tafsir.Gooya.Qiyama 076.Tafsir.Gooya.Insan 077.Tafsir.Gooya.Mursalat 078.Tafsir.Gooya.Naba 079.Tafsir.Gooya.Naziat 080.Tafsir.Gooya.Abasa 081.Tafsir.Gooya.Takwir 082.Tafsir.Gooya.Infitar 083.Tafsir.Gooya.Mutaffifin 084.Tafsir.Gooya.Inshiqaq 085.Tafsir.Gooya.Brooj 086.Tafsir.Gooya.Tariq 087.Tafsir.Gooya.Ala 088.Tafsir.Gooya.Ghashiya 089.Tafsir.Gooya.Fajr 090.Tafsir.Gooya.Balad 091.Tafsir.Gooya.Shams 092.Tafsir.Gooya.Lail 093.Tafsir.Gooya.Dhuha 094.Tafsir.Gooya.Inshirah 095.Tafsir.Gooya.Tin 096.Tafsir.Gooya.Alaq 097.Tafsir.Gooya.Qadr 098.Tafsir.Gooya.Bayyina 099.Tafsir.Gooya.Zalzala 100.Tafsir.Gooya.Adiyat 101.Tafsir.Gooya.Qaria 102.Tafsir.Gooya.Takathur 103.Tafsir.Gooya.Asr 104.Tafsir.Gooya.Humaza 105.Tafsir.Gooya.Fil 106.Tafsir.Gooya.Quarish 107.Tafsir.Gooya.Maun 108.Tafsir.Gooya.kauther 109.Tafsir.Gooya.Kafiroon 110.Tafsir.Gooya.Nasr 111.Tafsir.Gooya.Masad 112.Tafsir.Gooya.Ikhlas 113.Tafsir.Gooya.Falaq 114.Tafsir.Gooya.Nas ) for slug in "${SLUGS[@]}"; do num="${slug%%.*}" out_dir="${AUDIO_DIR}/${num}" if find "$out_dir" -type f \( -iname '*.mp3' -o -iname '*.m4a' \) 2>/dev/null | grep -q .; then echo "skip $num"; continue fi rar="${WORKDIR}/${slug}.rar" echo "download $slug" curl -fL --retry 5 --retry-delay 3 -o "$rar" "${BASE_URL}/${slug}.rar" mkdir -p "$out_dir" echo "extract $slug" unrar x -o+ -p"${PASSWORD}" "$rar" "${out_dir}/" rm -f "$rar" echo "done $num" done echo "files:" $(find "$AUDIO_DIR" -type f \( -iname '*.mp3' -o -iname '*.m4a' \) | wc -l)