Releases: TheLastDruid/mediaIngest
v3.0.5 - Bug Fixes and Improvements
🐛 Bug Fixes
- Fixed version.json sync issue: Resolved incorrect update notifications appearing after manual updates
- Client build deployment: Fixed device name feature not appearing after in-place updates
- Version reporting: Corrected dashboard API version reporting for update checks
🔧 Improvements
- Streamlined update process: Clear instructions for rebuilding client in existing containers
- Enhanced deployment docs: Better guidance for in-place updates vs. full recreation
- Cache handling: Improved service restart and browser cache clearing after updates
🛠️ Technical Changes
- Updated client build deployment process
- Fixed version.json generation in container
- Improved systemd service restart handling
- Enhanced configuration update workflow
📦 Deployment
For existing v3.0.4 users:
No action needed - this release addresses edge cases from manual updates.
For users experiencing issues with v3.0.4:
- Enter container:
pct enter <CTID> - Rebuild client:
cd /opt/dashboard/client && npm run build - Update version: Edit
/opt/dashboard/version.jsonto show3.0.5 - Restart service:
systemctl restart ingest-dashboard - Hard refresh browser:
Ctrl+Shift+R
For new installations:
Run the installer as normal - all fixes are included automatically.
Full Changelog: v3.0.4...v3.0.5
v3.0.4 - Dynamic Device Name Display
🎯 New Features
- Display Actual USB Device Names: Dashboard now shows the real name of your connected USB drive instead of hardcoded text
- Smart Device Detection: Automatically detects and displays:
- User-set filesystem labels (e.g., 'My Backup Drive', 'Work Files')
- Device model names (e.g., 'Samsung T7 Shield', 'Kingston DataTraveler')
- Graceful fallbacks when information unavailable
🔧 Technical Improvements
- Enhanced ingest script with
lsblkdevice detection (LABEL → MODEL → 'USB Drive') - Added
deviceNamefield tostatus.jsonfor real-time tracking - Updated
/api/statusendpoint to expose device information - Frontend automatically refreshes device names via Server-Sent Events
💡 User Experience
- More informative dashboard reflecting actual hardware
- Better visual feedback about connected devices
- Professional appearance with real device information
- Shows 'No device connected' when idle
📦 Deployment
To update your existing installation:
- Destroy current container:
pct destroy <CTID> - Run the latest installer script
- Reconfigure your settings
The new version will automatically detect and display your USB device names in the dashboard.
Full Changelog: v3.0.3...v3.0.4
v3.0.3 - Simplified Update Process
🎉 What's New
Update Process Simplified
- Removed complex update script - Updates are now done by recreating the LXC container
- Updated dashboard banner - Shows clear instructions for destroying and recreating container
- No data loss - All media is stored on NAS, container is stateless
📦 Installation
New Installation
bash -c "$(wget -qLO - https://raw.githubusercontent.com/TheLastDruid/mediaIngest/main/install.sh)"Update Existing Installation
Since the container is stateless (all data on NAS), updating is simple:
# 1. Find your container ID
pct list | grep media-ingest
# 2. Destroy existing container (replace CTID with your actual container ID)
pct stop CTID && pct destroy CTID
# 3. Run installer to create fresh container
bash -c "$(wget -qLO - https://raw.githubusercontent.com/TheLastDruid/mediaIngest/main/install.sh)"Previous Features (still included)
- ✅ Fixed installer heredoc syntax errors
- ✅ Automatic update notifications in dashboard
- ✅ Version tracking and GitHub release comparison
- ✅ All 12 security risks mitigated (100%)
See SECURITY_HARDENING.md for security details.
v3.0.2 - Installer Fix and Update System
🎉 What's New
Critical Fixes
- Fixed installer heredoc syntax errors - The installer now works correctly without bash syntax errors
- Resolved nested quote escaping issues - Moved heredoc delimiter outside bash -c command for clean, maintainable code
New Features
- Automatic Update Notifications - Dashboard now checks for new releases and displays an update banner
- In-Place Update Script - Update existing installations without destroying the container
- Version Tracking - System now tracks installed version and compares with GitHub releases
- Unauthenticated Version API - Version endpoint is publicly accessible for update checks
📦 Installation
New Installation
bash -c "$(wget -qLO - https://raw.githubusercontent.com/TheLastDruid/mediaIngest/main/install.sh)"Update Existing Installation
bash <(wget -qO- https://raw.githubusercontent.com/TheLastDruid/mediaIngest/main/update.sh)Run the update command from your Proxmox host, and it will automatically detect and update the container.
🔒 Security
All 12 security risks have been mitigated (100% complete):
- Filename validation and sanitization
- Command injection prevention
- Malware scanning with ClamAV
- DoS protection (file count/depth limits)
- Rate limiting on API endpoints
- Secure file permissions
- Resource limits via systemd
- And more...
See SECURITY_HARDENING.md for complete details.
v3.0.1 - Installer Fix and Version Tracking
Changes
- Fixed critical installer heredoc syntax errors
- Added automatic update notification system
- Version tracking and comparison with GitHub releases
Installation
Run the installer:
bash -c "$(wget -qLO - https://raw.githubusercontent.com/TheLastDruid/mediaIngest/main/install.sh)"