#!/usr/bin/env bash
set -euo pipefail
cd /srv/apps/sotlab-music
set -a
. ./.env
set +a
printf '%s\n' '--- active catalog/php processes ---'
ps -eo pid,ppid,etime,stat,%cpu,%mem,cmd | grep -E 'run:updateCatalog|run:computeCache|php -d memory_limit' | grep -v grep || true
printf '%s\n' '--- service/container status ---'
systemctl is-active sotlab-users.service caddy.service cloudflared-sotlab.service || true
sudo docker ps --filter name=sotlab-music --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
printf '%s\n' '--- mount status ---'
findmnt /mnt/main_nas_music -o TARGET,SOURCE,FSTYPE,OPTIONS || true
printf '%s\n' '--- db sample/counts ---'
sudo docker exec -i sotlab-music-db-1 mariadb -u"$AMPACHE_DB_USER" -p"$AMPACHE_DB_PASSWORD" "$DB_NAME" <<'SQL'
SELECT COUNT(*) AS songs FROM song;
SELECT id,file,title,size,time,bitrate,rate,mode,enabled FROM song ORDER BY id LIMIT 3;
SELECT id,file,title,size,time,bitrate,rate,mode,enabled FROM song WHERE time > 0 AND size > 0 ORDER BY id LIMIT 1;
SQL
printf '%s\n' '--- playback/transcode config refs ---'
sudo docker exec sotlab-music-ampache-1 sh -lc "grep -nE '^(transcode|transcode_.*|transcode_player_customize|encode_target|encode_video|encode_audio|stream|downsample|play_type|allow_stream|access_control|web_path|local_web_path|auth_methods|auto_create)' /var/www/config/ampache.cfg.php | sed -n '1,180p'"
printf '%s\n' '--- ffmpeg/transcode binaries ---'
sudo docker exec sotlab-music-ampache-1 sh -lc 'command -v ffmpeg || true; command -v avconv || true; command -v lame || true; ffmpeg -version 2>/dev/null | head -1 || true'
printf '%s\n' '--- recent ampache/container logs ---'
sudo docker logs --tail 120 sotlab-music-ampache-1 2>&1 | sed -n '1,160p'
