From ad3919eae58efef630930eead7aca1d9c1b51145 Mon Sep 17 00:00:00 2001 From: Patrick McGuire <60325264+mcguirepr89@users.noreply.github.com> Date: Wed, 23 Feb 2022 10:10:01 -0500 Subject: [PATCH 1/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 559b08f..458aa7c 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ If your installation isn't in one of the countries listed above, please let me k The system can be installed with: ``` -curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Pi/main/newinstaller.sh | bash | tee -a installation.log 2>&1 && sudo reboot +curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Pi/main/newinstaller.sh | bash ``` The installer takes care of any and all necessary updates, so you can run that as the very first command upon the first boot, if you'd like. From 66c5a2b9613b9d45ccab645ba474de77780032ff Mon Sep 17 00:00:00 2001 From: Patrick McGuire <60325264+mcguirepr89@users.noreply.github.com> Date: Wed, 23 Feb 2022 10:41:49 -0500 Subject: [PATCH 2/3] Delete update_services.sh --- scripts/update_services.sh | 591 ------------------------------------- 1 file changed, 591 deletions(-) delete mode 100755 scripts/update_services.sh diff --git a/scripts/update_services.sh b/scripts/update_services.sh deleted file mode 100755 index d6ef6fa..0000000 --- a/scripts/update_services.sh +++ /dev/null @@ -1,591 +0,0 @@ -#!/usr/bin/env bash -# This reinstalls the services -set -x # Uncomment to enable debugging -trap 'rm -f ${tmpfile}' EXIT -trap 'exit 1' SIGINT SIGHUP -USER=pi -HOME=/home/pi -my_dir=${HOME}/BirdNET-Pi/scripts -tmpfile=$(mktemp) -nomachine_url="https://download.nomachine.com/download/7.7/Arm/nomachine_7.7.4_1_arm64.deb" -gotty_url="https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_arm.tar.gz" -config_file="$(dirname ${my_dir})/birdnet.conf" - -install_ftpd() { - if ! [ -f /etc/ftpuseres ];then - apt -y install ftpd - fi -} - -install_lynx() { - if ! which lynx &> /dev/null;then - apt -y install lynx - fi -} - -install_scripts() { - echo "Installing BirdNET-Pi scripts to /usr/local/bin" - ln -sf ${my_dir}/* /usr/local/bin/ - rm /usr/local/bin/index.html -} - -install_mariadb() { - if ! which mysql &> /dev/null;then - echo "Installing MariaDB Server" - apt -qqy install mariadb-server - echo "MariaDB Installed" - fi - source /etc/os-release - if [[ "${VERSION_CODENAME}" == "buster" ]];then - USER=${USER} ${my_dir}/update_db_pwd_buster.sh - elif [[ "${VERSION_CODENAME}" == "bullseye" ]];then - mysql -e " - SET PASSWORD FOR 'birder'@'localhost' = PASSWORD('${DB_PWD}'); - FLUSH PRIVILEGES"; - sed -i "s/mysqli.default_host =.*/mysqli.default_host = localhost/g" /etc/php/7.4/fpm/php.ini - sed -i "s/mysqli.default_user =.*/mysqli.default_user = birder/g" /etc/php/7.4/fpm/php.ini - sed -i "s/mysqli.default_pw =.*/mysqli.default_pw = ${DB_PWD}/g" /etc/php/7.4/fpm/php.ini - fi -} - -install_birdnet_analysis() { - echo "Installing the birdnet_analysis.service" - cat << EOF > /etc/systemd/system/birdnet_analysis.service -[Unit] -Description=BirdNET Analysis -After=birdnet_server.service -Requires=birdnet_server.service -[Service] -Restart=always -Type=simple -RestartSec=2 -User=${USER} -ExecStart=/usr/local/bin/birdnet_analysis.sh -[Install] -WantedBy=multi-user.target -EOF - systemctl enable birdnet_analysis.service -} - -install_birdnet_server() { - echo "Installing the birdnet_server.service" - cat << EOF > /etc/systemd/system/birdnet_server.service -[Unit] -Description=BirdNET Analysis Server -Before=birdnet_analysis.service -[Service] -Restart=always -Type=simple -RestartSec=2 -User=${USER} -ExecStart=/usr/local/bin/server.py -[Install] -WantedBy=multi-user.target -EOF - systemctl enable birdnet_server.service -} - - -install_extraction_service() { - echo "Installing the extraction.service and extraction.timer" - cat << EOF > /etc/systemd/system/extraction.service -[Unit] -Description=BirdNET BirdSound Extraction -[Service] -Restart=on-failure -RestartSec=3 -Type=simple -User=${USER} -ExecStart=/usr/local/bin/extract_new_birdsounds.sh -[Install] -WantedBy=multi-user.target -EOF - cat << EOF > /etc/systemd/system/extraction.timer -[Unit] -Description=BirdNET BirdSound Extraction Timer -Requires=extraction.service - -[Timer] -Unit=extraction.service -OnCalendar=*:*:0/10 - -[Install] -WantedBy=multi-user.target -EOF - systemctl enable extraction.timer - systemctl enable extraction.service -} - -install_pushed_notifications() { - echo "Installing Pushed.co mobile notifications" - cat << EOF > /etc/systemd/system/pushed_notifications.service -[Unit] -Description=BirdNET-Pi Pushed.co Notifications -[Service] -Restart=on-success -RestartSec=3 -Type=simple -User=pi -ExecStart=/usr/local/bin/species_notifier.sh -[Install] -WantedBy=multi-user.target -EOF - systemctl enable pushed_notifications.service -} - -create_necessary_dirs() { - echo "Creating necessary directories" - [ -d ${EXTRACTED} ] || sudo -u ${USER} mkdir -p ${EXTRACTED} - [ -d ${EXTRACTED}/By_Date ] || sudo -u ${USER} mkdir -p ${EXTRACTED}/By_Date - [ -d ${EXTRACTED}/By_Common_Name ] || sudo -u ${USER} mkdir -p ${EXTRACTED}/By_Common_Name - [ -d ${EXTRACTED}/By_Scientific_Name ] || sudo -u ${USER} mkdir -p ${EXTRACTED}/By_Scientific_Name - [ -d ${EXTRACTED}/Charts ] || sudo -u ${USER} mkdir -p ${EXTRACTED}/Charts - [ -d ${PROCESSED} ] || sudo -u ${USER} mkdir -p ${PROCESSED} - - sudo -u ${USER} ln -fs $(dirname ${my_dir})/homepage/* ${EXTRACTED} - if [ ! -z ${BIRDNETLOG_URL} ];then - BIRDNETLOG_URL="$(echo ${BIRDNETLOG_URL} | sed 's/\/\//\\\/\\\//g')" - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/${BIRDNETLOG_URL}/g" $(dirname ${my_dir})/homepage/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/${BIRDNETLOG_URL}/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/${BIRDNETLOG_URL}/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/${BIRDNETLOG_URL}/g" $(dirname ${my_dir})/scripts/*.php - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8080/${BIRDNETLOG_URL}/g" $(dirname ${my_dir})/scripts/*/*.php - fi - if [ ! -z ${WEBTERMINAL_URL} ];then - WEBTERMINAL_URL="$(echo ${WEBTERMINAL_URL} | sed 's/\/\//\\\/\\\//g')" - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/${WEBTERMINAL_URL}/g" $(dirname ${my_dir})/homepage/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/${WEBTERMINAL_URL}/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/${WEBTERMINAL_URL}/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/${WEBTERMINAL_URL}/g" $(dirname ${my_dir})/scripts/*.php - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local:8888/${WEBTERMINAL_URL}/g" $(dirname ${my_dir})/scripts/*/*.php - fi - - sudo -u ${USER} ln -fs $(dirname ${my_dir})/model/labels.txt ${my_dir}/ - sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts ${EXTRACTED} - if [ -z ${BIRDNETPI_URL} ];then - sudo -u${USER} sed -i "s/birdnetpi.local/$(hostname).local/g" $(dirname ${my_dir})/homepage/*.html - sudo -u${USER} sed -i "s/birdnetpi.local/$(hostname).local/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/birdnetpi.local/$(hostname).local/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/birdnetpi.local/$(hostname).local/g" $(dirname ${my_dir})/scripts/*.php - sudo -u${USER} sed -i "s/birdnetpi.local/$(hostname).local/g" $(dirname ${my_dir})/scripts/*/*.php - else - BIRDNETPI_URL="$(echo ${BIRDNETPI_URL} | sed 's/\/\//\\\/\\\//g')" - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/${BIRDNETPI_URL}/g" $(dirname ${my_dir})/homepage/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/${BIRDNETPI_URL}/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/${BIRDNETPI_URL}/g" $(dirname ${my_dir})/scripts/*.html - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/${BIRDNETPI_URL}/g" $(dirname ${my_dir})/scripts/*.php - sudo -u${USER} sed -i "s/http:\/\/birdnetpi.local/${BIRDNETPI_URL}/g" $(dirname ${my_dir})/scripts/*/*.php - fi - - sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/spectrogram.php ${EXTRACTED} - sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/viewday.php ${EXTRACTED} - sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/overview.php ${EXTRACTED} - sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/stats.php ${EXTRACTED} - sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/viewdb.php ${EXTRACTED} - sudo -u ${USER} ln -fs $(dirname ${my_dir})/scripts/history.php ${EXTRACTED} - sudo -u ${USER} ln -fs $(dirname ${my_dir})/homepage/images/favicon.ico ${EXTRACTED} - sudo -u ${USER} ln -fs ${HOME}/phpsysinfo ${EXTRACTED} - sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/phpsysinfo.ini ${HOME}/phpsysinfo/ - sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/green_bootstrap.css ${HOME}/phpsysinfo/templates/ - sudo -u ${USER} cp -f $(dirname ${my_dir})/templates/index_bootstrap.html ${HOME}/phpsysinfo/templates/html - - echo "Setting Wttr.in URL to "${LATITUDE}", "${LONGITUDE}"" - sudo -u${USER} sed -i "s/https:\/\/v2.wttr.in\//https:\/\/v2.wttr.in\/"${LATITUDE},${LONGITUDE}"/g" $(dirname ${my_dir})/homepage/menu.html - chmod -R g+rw $(dirname ${my_dir}) - chmod -R g+rw ${RECS_DIR} -} - -generate_BirdDB() { - echo "Generating BirdDB.txt" - if ! [ -f $(dirname ${my_dir})/BirdDB.txt ];then - sudo -u ${USER} touch $(dirname ${my_dir})/BirdDB.txt - echo "Date;Time;Sci_Name;Com_Name;Confidence;Lat;Lon;Cutoff;Week;Sens;Overlap" | sudo -u ${USER} tee -a $(dirname ${my_dir})/BirdDB.txt - elif ! grep Date $(dirname ${my_dir})/BirdDB.txt;then - sudo -u ${USER} sed -i '1 i\Date;Time;Sci_Name;Com_Name;Confidence;Lat;Lon;Cutoff;Week;Sens;Overlap' $(dirname ${my_dir})/BirdDB.txt - fi - ln -sf $(dirname ${my_dir})/BirdDB.txt ${my_dir}/BirdDB.txt && - chown pi:pi ${my_dir}/BirdDB.txt && chmod g+rw ${my_dir}/BirdDB.txt -} - -install_alsa() { - echo "Checking for alsa-utils and pulseaudio" - if which arecord &> /dev/null ;then - echo "alsa-utils installed" - else - echo "Installing alsa-utils" - apt install -qqy alsa-utils - echo "alsa-utils installed" - fi - if which pulseaudio &> /dev/null;then - echo "PulseAudio installed" - else - echo "Installing pulseaudio" - apt install -qqy pulseaudio - echo "PulseAudio installed" - fi - if ! [ -d /etc/lightdm ];then - systemctl set-default multi-user.target - ln -fs /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty1.service - cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf << EOF -[Service] -ExecStart= -ExecStart=-/sbin/agetty --autologin $USER --noclear %I \$TERM -EOF - fi - -} - -install_recording_service() { - echo "Installing birdnet_recording.service" - cat << EOF > /etc/systemd/system/birdnet_recording.service -[Unit] -Description=BirdNET Recording - -[Service] -Environment=XDG_RUNTIME_DIR=/run/user/1000 -Restart=always -Type=simple -RestartSec=3 -User=${USER} -ExecStart=/usr/local/bin/birdnet_recording.sh - -[Install] -WantedBy=multi-user.target -EOF - systemctl enable birdnet_recording.service -} - -install_caddy() { - if ! which caddy &> /dev/null ;then - echo "Installing Caddy" - curl -1sLf \ - 'https://dl.cloudsmith.io/public/caddy/stable/setup.deb.sh' \ - | sudo -E bash - apt install -qqy caddy=2.4.5 - systemctl enable --now caddy - else - echo "Caddy is installed" - systemctl enable --now caddy - fi -} - -install_Caddyfile() { - echo "Installing the Caddyfile" - [ -d /etc/caddy ] || mkdir /etc/caddy - if [ -f /etc/caddy/Caddyfile ];then - cp /etc/caddy/Caddyfile{,.original} - fi - php_version="$(awk -F'php' '{print $3}' <(ls -l $(which /etc/alternatives/php)))" - if ! [ -z ${CADDY_PWD} ];then - HASHWORD=$(caddy hash-password -plaintext ${CADDY_PWD}) - cat << EOF > /etc/caddy/Caddyfile -http://localhost http://$(hostname).local ${BIRDNETPI_URL} { - root * ${EXTRACTED} - file_server browse - basicauth /Processed* { - birdnet ${HASHWORD} - } - basicauth /scripts* { - birdnet ${HASHWORD} - } - basicauth /stream { - birdnet ${HASHWORD} - } - basicauth /phpsysinfo* { - birdnet ${HASHWORD} - } - reverse_proxy /stream localhost:8000 - php_fastcgi unix//run/php/php${php_version}-fpm.sock -} -EOF - else - cat << EOF > /etc/caddy/Caddyfile -http://localhost http://$(hostname).local ${BIRDNETPI_URL} { - root * ${EXTRACTED} - file_server browse - reverse_proxy /stream localhost:8000 - php_fastcgi unix//run/php/php${php_version}-fpm.sock -} -EOF - fi - - if [ ! -z ${WEBTERMINAL_URL} ] && [ ! -z ${HASHWORD} ];then - cat << EOF >> /etc/caddy/Caddyfile -${WEBTERMINAL_URL} { - basicauth { - birdnet ${HASHWORD} - } - reverse_proxy localhost:8888 -} -EOF - elif [ ! -z ${WEBTERMINAL_URL} ] && [ -z ${HASHWORD} ];then - cat << EOF >> /etc/caddy/Caddyfile -${WEBTERMINAL_URL} { - reverse_proxy localhost:8888 -} -EOF - fi - if [ ! -z ${BIRDNETLOG_URL} ];then - cat << EOF >> /etc/caddy/Caddyfile - -${BIRDNETLOG_URL} { - reverse_proxy localhost:8080 -} -EOF - fi -} - -update_etc_hosts() { - sed -ie s/'$(hostname).local'/"$(hostname).local ${BIRDNETPI_URL//https:\/\/} ${WEBTERMINAL_URL//https:\/\/} ${BIRDNETLOG_URL//https:\/\/}"/g /etc/hosts -} - -install_avahi_aliases() { - echo "Installing Avahi Services" - if ! which avahi-publish &> /dev/null; then - echo "Installing avahi-utils" - apt install -y avahi-utils &> /dev/null - fi - echo "Installing avahi-alias service" - cat << 'EOF' > /etc/systemd/system/avahi-alias@.service -[Unit] -Description=Publish %I as alias for %H.local via mdns -After=network.target network-online.target -Requires=network-online.target - -[Service] -Restart=always -RestartSec=3 -Type=simple -ExecStart=/bin/bash -c "/usr/bin/avahi-publish -a -R %I $(hostname -I |cut -d' ' -f1)" - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable avahi-alias@"$(hostname)".local.service -} - -install_spectrogram_service() { - cat << EOF > /etc/systemd/system/spectrogram_viewer.service -[Unit] -Description=BirdNET-Pi Spectrogram Viewer -[Service] -Restart=always -RestartSec=10 -Type=simple -User=${USER} -ExecStart=/usr/local/bin/spectrogram.sh -[Install] -WantedBy=multi-user.target -EOF - systemctl enable spectrogram_viewer.service -} - -install_chart_viewer_service() { - echo "Installing the chart_viewer.service" - cat << EOF > /etc/systemd/system/chart_viewer.service -[Unit] -Description=BirdNET-Pi Chart Viewer Service - -[Service] -Restart=always -RestartSec=300 -Type=simple -User=pi -ExecStart=/usr/local/bin/daily_plot.py -[Install] -WantedBy=multi-user.target -EOF - systemctl enable chart_viewer.service -} - -install_gotty_logs() { - echo "Installing GoTTY logging" - if ! which gotty &> /dev/null;then - echo "Installing GoTTY binary" - wget -c ${gotty_url} -O - | tar -xz -C /usr/local/bin/ - fi - sudo -u ${USER} ln -sf $(dirname ${my_dir})/templates/gotty \ - ${HOME}/.gotty - sudo -u ${USER} ln -sf $(dirname ${my_dir})/templates/bashrc \ - ${HOME}/.bashrc - echo "Installing the birdnet_log.service" - cat << EOF > /etc/systemd/system/birdnet_log.service -[Unit] -Description=BirdNET Analysis Log - -[Service] -Restart=on-failure -RestartSec=3 -Type=simple -User=${USER} -Environment=TERM=xterm-256color -ExecStart=/usr/local/bin/gotty -p 8080 --title-format "BirdNET-Pi Log" birdnet_log.sh - -[Install] -WantedBy=multi-user.target -EOF - systemctl enable birdnet_log.service - echo "Installing the Web Terminal" - cat << EOF > /etc/systemd/system/web_terminal.service -[Unit] -Description=BirdNET-Pi Web Terminal - -[Service] -Restart=on-failure -RestartSec=3 -Type=simple -User=${USER} -Environment=TERM=xterm-256color -ExecStart=/usr/local/bin/gotty -w -p 8888 --title-format "BirdNET-Pi Terminal" bash - -[Install] -WantedBy=multi-user.target -EOF - systemctl enable web_terminal.service -} - -install_sox() { - if which sox | grep mp3 &> /dev/null;then - echo "Sox is installed" - else - echo "Installing sox" - apt install -y sox libsox-fmt-mp3 - echo "Sox installed" - fi -} - -install_php() { - if ! which php &> /dev/null || ! which php-fpm || ! apt list --installed | grep php-xml;then - echo "Installing PHP modules" - apt install -qqy php php-fpm php-mysql php-xml php-zip - else - echo "PHP and PHP-FPM installed" - fi - echo "Configuring PHP for Caddy" - sed -i 's/www-data/caddy/g' /etc/php/*/fpm/pool.d/www.conf - echo "Adding Caddy sudoers rule" - cat << EOF > /etc/sudoers.d/010_caddy-nopasswd -caddy ALL=(ALL) NOPASSWD: ALL -EOF - chmod 0440 /etc/sudoers.d/010_caddy-nopasswd - if [ ! -d ${HOME}/phpsysinfo ];then - echo "Fetching phpSysInfo" - sudo -u ${USER} git clone https://github.com/phpsysinfo/phpsysinfo.git \ - ${HOME}/phpsysinfo - fi -} - -install_icecast() { - if ! which icecast2;then - echo "Installing IceCast2" - echo "icecast2 icecast2/icecast-setup boolean false" | debconf-set-selections - apt install -qqy icecast2 - config_icecast - systemctl enable icecast2.service - /etc/init.d/icecast2 start - else - echo "Icecast2 is installed" - config_icecast - systemctl enable icecast2.service - /etc/init.d/icecast2 start - fi -} - -config_icecast() { - if [ -f /etc/icecast2/icecast.xml ];then - cp /etc/icecast2/icecast.xml{,.prebirdnetpi} - fi - sed -i 's/>adminbirdnet.*<\/${i}password>/<${i}password>${ICE_PWD}<\/${i}password>/g" /etc/icecast2/icecast.xml - done -} - -install_livestream_service() { - echo "Installing Live Stream service" - cat << EOF > /etc/systemd/system/livestream.service -[Unit] -Description=BirdNET-Pi Live Stream -After=network-online.target -Requires=network-online.target - -[Service] -Environment=XDG_RUNTIME_DIR=/run/user/1000 -Restart=always -Type=simple -RestartSec=3 -User=${USER} -ExecStart=/usr/local/bin/livestream.sh - -[Install] -WantedBy=multi-user.target -EOF - systemctl enable livestream.service -} - -install_nomachine() { - if [ ! -d /usr/share/NX ] && [ -d /etc/lightdm ];then - echo "Installing NoMachine" - curl -s -o ${HOME}/nomachine.deb -O "${nomachine_url}" - apt install -y ${HOME}/nomachine.deb - rm -f ${HOME}/nomachine.deb - echo "Enabling VNC" - systemctl enable --now vncserver-x11-serviced.service - fi -} - -install_cleanup_cron() { - echo "Installing the cleanup.cron" - cat $(dirname ${my_dir})/templates/cleanup.cron >> /etc/crontab -} - -install_selected_services() { - sudo apt -qqqq update - install_scripts - install_birdnet_analysis - install_birdnet_server - - if [[ "${DO_EXTRACTIONS}" =~ [Yy] ]];then - install_extraction_service - fi - - if [[ "${DO_RECORDING}" =~ [Yy] ]];then - install_alsa - install_recording_service - fi - - install_php - install_caddy - install_Caddyfile - update_etc_hosts - install_avahi_aliases - install_gotty_logs - install_sox - install_mariadb - install_spectrogram_service - install_chart_viewer_service - install_pushed_notifications - - if [ ! -z "${ICE_PWD}" ];then - install_icecast - install_livestream_service - fi - - if [[ "${INSTALL_NOMACHINE}" =~ [Yy] ]];then - install_nomachine - fi - - create_necessary_dirs - generate_BirdDB - install_cleanup_cron - install_ftpd - install_lynx -} - -if [ -f ${config_file} ];then - source ${config_file} - install_selected_services -else - echo "Unable to find a configuration file. Please make sure that $config_file exists." -fi From 793629e1c0e869e6781184c728b18fb18a05c9f4 Mon Sep 17 00:00:00 2001 From: Patrick McGuire <60325264+mcguirepr89@users.noreply.github.com> Date: Wed, 23 Feb 2022 10:42:03 -0500 Subject: [PATCH 3/3] Delete update_birdnet2.sh --- scripts/update_birdnet2.sh | 58 -------------------------------------- 1 file changed, 58 deletions(-) delete mode 100755 scripts/update_birdnet2.sh diff --git a/scripts/update_birdnet2.sh b/scripts/update_birdnet2.sh deleted file mode 100755 index a3bf9ca..0000000 --- a/scripts/update_birdnet2.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -# Second stage of update -USER=pi -birdnet_conf=/home/pi/BirdNET-Pi/birdnet.conf -my_dir=${HOME}/BirdNET-Pi/scripts - -# Stage 1 updates the services -sudo ${my_dir}/update_services.sh - -# Stage 1.5: adding new birdnet.conf entries -if ! grep FULL_DISK ${birdnet_conf} &> /dev/null;then - cat << EOF >> ${birdnet_conf} - -## FULL_DISK can be set to configure how the system reacts to a full disk -## purge = Remove the oldest day's worth of recordings -## keep = Keep all data and `stop_core_services.sh` - -FULL_DISK=purge -EOF -fi - -if ! grep AUDIOFMT ${birdnet_conf} &> /dev/null;then - cat<< EOF >> ${birdnet_conf} -## AUDIOFMT set the audio format that sox should use for the extractions. -## The default is mp3. Available formats are: 8svx aif aifc aiff aiffc al amb -## amr-nb amr-wb anb au avr awb caf cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 -## fap flac fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu mat mat4 mat5 maud -## mp2 mp3 nist ogg paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 sb sd2 sds sf sl -## sln smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 -## ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi -## Note: Most have not been tested. - -AUDIOFMT=mp3 -EOF -fi - -sudo -u${USER} sed -i 's/EXTRACTIONLOG_URL/WEBTERMINAL_URL/g' ${birdnetconf} - -# Replace Backup labels.txt -sudo -u${USER} cp -f ~/BirdNET-Pi/model/labels.txt.bak ~/BirdNET-Pi/model/labels.txt - -# Stage 2 restarts the services -sudo systemctl daemon-reload -sudo systemctl stop birdnet_recording.service -sudo rm -rf ${RECS_DIR}/$(date +%B-%Y/%d-%A)/* -services=(web_terminal.service -spectrogram_viewer.service -pushed_notifications.service -livestream.service -icecast2.service -extraction.service -chart_viewer.service -birdnet_recording.service -birdnet_log.service) - -for i in "${services[@]}";do -sudo systemctl restart "${i}" -done