Commit Graph

4 Commits

Author SHA1 Message Date
Cal Corum
6cc0d0df2e CLAUDE: Enhance Tdarr monitoring with automatic staging timeout cleanup and Discord notifications
Major improvements to Tdarr monitoring system addressing staging section timeout issues:

## New Features:
- **Automatic Staging Timeout Detection**: Monitors server logs for 300s limbo timeouts every 20 minutes
- **Stuck Directory Cleanup**: Automatically removes work directories with partial downloads preventing staging cleanup
- **Enhanced Discord Notifications**: Structured markdown messages with working user pings extracted from code blocks
- **Comprehensive Logging**: Timestamped logs with automatic rotation (1MB limit) at /tmp/tdarr-monitor/monitor.log
- **Multi-System Monitoring**: Covers both server staging issues and node worker stalls

## Technical Improvements:
- **JSON Handling**: Proper escaping for special characters, quotes, and newlines in Discord webhooks
- **Shell Compatibility**: Fixed `[[` vs `[` syntax for Docker container execution (sh vs bash)
- **Message Structure**: Professional markdown formatting with separation of alerts and actionable pings
- **Error Handling**: Robust SSH command execution and container operation handling

## Problem Solved:
- Root Cause: Hardcoded 300s staging timeout in Tdarr v2.45.01 causing large files (2-3GB+) to fail download
- Impact: Partial downloads created stuck .tmp files, ENOTEMPTY errors preventing cleanup, cascade failures
- Solution: Automated detection and cleanup system with proactive Discord alerts

## Files Added/Modified:
- `scripts/monitoring/tdarr-timeout-monitor.sh` - Enhanced monitoring script v2.0
- `reference/docker/tdarr-troubleshooting.md` - Added comprehensive monitoring system documentation

## Operational Benefits:
- Reduces manual intervention through automatic cleanup
- Self-healing system prevents staging section blockage
- Enterprise-ready monitoring with structured alerts
- Minimal resource impact: ~3s every 20min, <2MB storage

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-10 10:38:43 -05:00
Cal Corum
df3d22b218 CLAUDE: Expand documentation system and organize operational scripts
- Add comprehensive Tdarr troubleshooting and GPU transcoding documentation
- Create /scripts directory for active operational scripts
- Archive mapped node example in /examples for reference
- Update CLAUDE.md with scripts directory context triggers
- Add distributed transcoding patterns and NVIDIA troubleshooting guides
- Enhance documentation structure with clear directory usage guidelines

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-09 15:53:09 -05:00
Cal Corum
d723924bdf CLAUDE: Add complete GPU transcoding solution for Tdarr containers
- Add working Podman-based GPU Tdarr startup script for Fedora systems
- Document critical Docker Desktop GPU issues on Fedora/Nobara systems
- Add comprehensive Tdarr configuration examples (CPU and GPU variants)
- Add GPU acceleration patterns and troubleshooting documentation
- Provide working solution for NVIDIA RTX GPU hardware transcoding

Key insight: Podman works immediately for GPU access on Fedora systems
where Docker Desktop fails due to virtualization layer conflicts.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-09 00:47:12 -05:00
Cal Corum
2bfbc7bb77 CLAUDE: Initialize efficient documentation system for home lab
- Created structured documentation with /patterns/, /examples/, and /reference/ directories
- Implemented automatic context loading rules in CLAUDE.md based on file extensions, directories, and keywords
- Added technology-specific patterns for Docker, Python, Node.js, Vue.js, Bash, networking, databases, and VM management
- Included complete working examples for common workflows and troubleshooting references
- Designed for minimal context usage with precise loading triggers

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 19:59:29 -05:00