What Gainhound does (gain scan - integrity - optional re-encode - trigger Plex loudness analyze).
417
Overview: What Gainhound does (gain scan → integrity → optional re-encode → trigger Plex loudness analyze).
Directories / mounts:
/music → your library (bind from host)/data → state/logs/config (config.conf, processed.list, logs)Config (/data/config.conf):
RUN_MODE (initial|watch|once|manual)RUN_GAIN_CHECK, RUN_INTEGRITY_CHECK, RUN_REENCODE_FOR_GAINGAIN_THRESHOLD (dB; absolute, handles + and −)GAINHOUND_CRON (e.g., 0 3 * * *)FORCE_PLEX_ANALYZE, PLEX_URL, PLEX_TOKENCron & rotation:
setup_cron.sh writes /etc/cron.d/gainhound_jobslog_rotate.sh (date-stamped .gz), and logs themselves now include [YYYY-MM-DD HH:MM:SS].Re-encode flow:
reencode.sh (shell wrapper) → reencode_gain.py (selection + ffmpeg)processed.list, then post-hook triggers plex_analyze.shPlex loudness analyze (not sonic):
force_plex_analyze.py called from plex_analyze.sh.Manual test commands:
bash /scripts/gain_check.shbash /scripts/integrity_check.shbash /scripts/reencode.sh (supports MAX_FILES)bash /scripts/plex_analyze.shDocker/Compose examples: include corrected compose above and a docker run sample.
Optional utilities: undo_gain.sh (describe usage if you intend to keep it).
[YYYY-MM-DD HH:MM:SS] across scripts—good. Consider bumping normalize_mp3s.sh timestamps if you keep it (currently HH:MM:SS only).cleanup_logs.sh age-based deletion, add it to setup_cron.sh (e.g., 0 4 * * * root /scripts/cleanup_logs.sh >> /data/logs/cron_logcleanup.log 2>&1). Otherwise delete it.Content type
Image
Digest
sha256:7e1b62052…
Size
296.1 MB
Last updated
about 1 year ago
docker pull strahdzarovich/gainhound