b3769f15834616316eb21053c37c92bbae57bff2
Jenkins
Current cd rip process:
udev rule
#/etc/udev/rules.d/99-cd-audio-rip.rules
SUBSYSTEM=="block",KERNEL=="sr0",ACTION=="change",RUN+="/bin/systemctl start ripper"
ripper service
#/etc/systemd/system/ripper.service
[Unit]
Description=Auto CD ripper
[Service]
Type=oneshot
ExecStart=/root/scripts/rip.sh
[Install]
WantedBy=multi-user.target
~
ripping script
#!/bin/bash
LOCKDIR=rip.lock
LOGFILE=/var/log/cd-rip.log
function cleanup {
if rmdir $LOCKDIR; then
echo "Finished $(date)" >> $LOGFILE
else
echo "Failed to remove lock dir '$LOCKDIR'" >> $LOGFILE
exit 1
fi
}
if mkdir $LOCKDIR; then
trap "cleanup" EXIT
echo "Acquired Lock, running" >> $LOGFILE
echo "Started $(date) $$" >> $LOGFILE
abcde -c /root/.abcde.conf
#trigger LMS rescan
#wget -q --spider http://localhost:9000/settings/index.html?p0=rescan
echo "Stopped $(date) $$" >> $LOGFILE
# optional notifications, uncomment if needed
# echo "Sending IFFT webhook:">>$LOGFILE
# /home/phil/dev/ifttt_send.sh "Ripper done. Please eject CD" >> $LOGFILE
# send the logfile by email, you need to configure mail first for this to work
# cat $LOGFILE | mail -s "Ripper log" your_email@example.com
else
echo "Could not create lock, already running? '$LOCKDIR'"
exit 1
fi
Concept CD-Ripping
- udev rule triggers Jenkins Pipeline
- udev rule listens on cd insert
- Pipeline starts the cd-ripping process, ensure the music is properly tagged
- after ripping is done, it is placed in the correct folder -> tbd
- create mpd playlist to be placed on volumio server (192.168.2.43)
Concept Bandcamp Downloader
- periodical run of docker container that syncs bandcamp account with local folders
- ???
To-Do
Description