feat: NFOGuard v1.7.2 - Complete media management system
Initial clean repository with full NFOGuard codebase: - Docker-based media file processing - Webhook integration for Radarr/Sonarr - NFO file management and organization - Emby/Jellyfin plugin integration - TMDB API integration for metadata - Smart episode and movie renaming - Comprehensive dual-repository development workflow Author: SBCrumb
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# =� NFOGuard v1.6.9 - Enhanced NFO Migration & Workflow Automation
|
||||
|
||||
## <� Major Features
|
||||
|
||||
### Complete NFO Migration System
|
||||
- **Smart Content Preservation**: Automatically migrates rich metadata (title, plot, runtime) from long-named Sonarr NFO files to standardized `S##E##.nfo` format
|
||||
- **Intelligent File Detection**: Enhanced `find_existing_episode_nfo()` detects matching season/episode in any NFO file naming convention
|
||||
- **Automatic Cleanup**: Long-named NFO files automatically deleted after successful migration
|
||||
- **Priority Logic Fix**: Migration now correctly prioritizes long-named files over existing short files for content extraction
|
||||
|
||||
### Workflow Automation Overhaul
|
||||
- **Local-Only Builds**: Removed all Docker Hub dependencies, builds now local-only for faster, more secure CI/CD
|
||||
- **GitHub Integration**: Automated local � GitHub workflow for public testing and releases
|
||||
- **Post-Merge Automation**: Git hooks automatically sync local main to GitHub dev branch with PR creation
|
||||
- **Version Management**: Integrated semantic versioning with automatic increment options (patch/minor/major)
|
||||
|
||||
### Build Identification System
|
||||
- **Branch Detection**: Automatic git branch detection during Docker builds
|
||||
- **Environment Tagging**: Clear version identification (`1.6.9-dev-gitea` vs `1.6.9`)
|
||||
- **Build Source Tracking**: Distinguishes local Gitea builds from public GitHub releases
|
||||
|
||||
## =' Technical Improvements
|
||||
|
||||
### Docker Enhancements
|
||||
- **Graceful Shutdown**: Added proper SIGTERM/SIGINT signal handling for clean container stops
|
||||
- **Branch-Specific Builds**: Workflow now correctly clones target branch instead of default
|
||||
- **Build Arguments**: Proper `GIT_BRANCH` and `BUILD_SOURCE` parameter passing
|
||||
|
||||
### Debug System
|
||||
- **Conditional Logging**: All debug statements now respect `DEBUG=true/false` environment variable
|
||||
- **Migration Tracking**: Detailed logging for NFO content preservation process (when enabled)
|
||||
- **Clean Production Logs**: Debug noise eliminated when `DEBUG=false`
|
||||
|
||||
## <� NFO Migration Details
|
||||
|
||||
**Before**: Long-named Sonarr NFO files existed alongside minimal short NFO files, content was lost
|
||||
**After**: Rich metadata automatically preserved in standardized format, old files cleaned up
|
||||
|
||||
**Example Migration**:
|
||||
```
|
||||
Source: "Invasion (2021)-S03E04-The Mission[WEBDL-1080p][AAC2.0][h264].nfo"
|
||||
Target: "S03E04.nfo"
|
||||
Content: title, plot, runtime, premiered � All preserved
|
||||
Cleanup: Original long file � Automatically deleted
|
||||
```
|
||||
|
||||
## =� New Release Workflow
|
||||
|
||||
1. **Local Development** � dev branch with local Gitea CI
|
||||
2. **Local Release** � Merge dev to main triggers GitHub sync
|
||||
3. **Public Testing** � GitHub dev branch for community testing
|
||||
4. **Production Release** � Manual PR approval to GitHub main
|
||||
|
||||
## =� Developer Experience
|
||||
|
||||
- **Version Bumping**: Never forget with integrated `sync-to-github.sh` script
|
||||
- **Build Clarity**: Always know which environment you're running
|
||||
- **Fast Iteration**: Local-only builds eliminate external dependencies
|
||||
- **Debug Control**: Toggle verbose logging with single environment variable
|
||||
|
||||
---
|
||||
|
||||
**Breaking Changes**: None - fully backward compatible
|
||||
**Migration**: Automatic - existing NFO files will be migrated on next scan
|
||||
**Requirements**: No additional dependencies
|
||||
|
||||
Reference in New Issue
Block a user