Skip to content

Commit

Permalink
Revert to v0.1.15
Browse files Browse the repository at this point in the history
  • Loading branch information
7eventy7 committed Nov 13, 2024
1 parent a8b3f43 commit 468d135
Show file tree
Hide file tree
Showing 6 changed files with 128 additions and 309 deletions.
38 changes: 0 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@ Trackly is a Docker container that monitors your music library and notifies you
- 🔄 **Real-time Updates** - Instant updates when new artists are added to the music folder
- 🚦 **Smart Rate Limiting** - Respects MusicBrainz API rate limits with exponential backoff
- 🎯 **Year-Specific Tracking** - Only tracks releases from the current year
- 🔒 **Thread-Safe Operations** - Prevents race conditions in file operations
- 💾 **Efficient Caching** - Reduces file I/O with smart JSON caching
- 🧹 **Automatic Cleanup** - Annual cleanup of old notifications
- 🛡️ **Enhanced Error Handling** - Robust error recovery and retry mechanisms

## 📋 Prerequisites

Expand Down Expand Up @@ -139,16 +135,6 @@ The bot sends beautiful Discord notifications with:
4. **Local Library Check**:
- Compares new releases with your local music folders
- Only notifies for albums you don't have
5. **Performance Optimizations**:
- JSON caching with TTL (Time To Live)
- Thread-safe file operations
- Efficient memory management
- Automatic cleanup of old notifications
6. **Error Handling**:
- Graceful recovery from API failures
- Retry mechanisms with maximum attempts
- Thread-safe file operations
- Proper cleanup of resources

## 📊 Monitoring and Logs

Expand Down Expand Up @@ -192,32 +178,8 @@ ls -l $MUSIC_PATH

# Check container logs
docker-compose logs

# Common Issues
- If you see file access errors, check directory permissions
- For API rate limit issues, the system will automatically back off
- Memory usage spikes are normal during initial scan
```

## 🆕 Recent Improvements

### Performance Enhancements
- Implemented JSON caching to reduce file I/O operations
- Added thread-safe file operations to prevent race conditions
- Improved memory management with efficient data structures
- Automatic cleanup of old notifications (runs on January 1st)

### Error Handling Improvements
- Enhanced MusicBrainz API error handling with retries
- Improved Discord webhook reliability
- Added maximum retry limits for all operations
- Implemented graceful error recovery

### Memory Management
- Efficient JSON file handling with caching
- Proper cleanup of file observer resources
- Reduced memory footprint for file operations

## 📄 License

MIT License - feel free to use and modify as needed.
Expand Down
6 changes: 3 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# docker-compose.yml
version: '3.8'

services:
trackly:
build: .
volumes:
- ${MUSIC_PATH:-./music}:/music:ro # Read-only mount of music directory
- ./config:/config # Persistent storage for config files
- ./config:/config # Persistent storage for config
environment:
- UPDATE_INTERVAL=00:00 # Default to midnight
- DISCORD_WEBHOOK= # Set this to your Discord webhook URL
- DISCORD_ROLE= # Set this to your Discord role ID to ping
restart: unless-stopped
container_name: trackly
user: "${UID:-1000}:${GID:-1000}" # Use host user's UID/GID for proper permissions
container_name: trackly
8 changes: 4 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
requests>=2.31.0
python-dotenv>=1.0.0
schedule>=1.2.1
watchdog>=3.0.0
python-dotenv==1.0.0
requests==2.31.0
schedule==1.2.1
watchdog==3.0.0
196 changes: 0 additions & 196 deletions src/json_handler.py

This file was deleted.

Loading

0 comments on commit 468d135

Please sign in to comment.