A modern web application designed to enhance your Jellyfin music library experience. Browse your collection with a beautiful interface and optionally receive Discord notifications for new releases from your favorite artists.
- 🌐 Modern Web Interface: Browse your music collection with a sleek, responsive UI
- 🎵 Jellyfin Integration: Works seamlessly with your existing Jellyfin music library
- 🎨 Artist Visualization: Beautiful artist pages with backdrop images and album covers
- 🔍 Smart Filtering: Filter releases by year and other metadata
- 📢 Discord Integration: Get notified about new releases through Discord webhooks
- 🔄 Automatic Updates: Regular checks for new releases with configurable intervals
- 🐳 Docker Support: Easy deployment with Docker and Docker Compose
- 💪 Multi-Architecture: Supports both AMD64 and ARM64 architectures (including Raspberry Pi)
Trackly is designed to work with Jellyfin's music library organization. The backdrop and cover/folder images are used for the web interface and can be in PNG, JPG, JPEG,or WebP format. Your music folder must follow this structure:
Note: Image dimension specifications
- backdrop. should be 16:9 aspect ratio
- cover. or folder. should be 1:1 aspect ratio (square)
/music/
├── Artist1/
│ ├── backdrop.png #or .jpg, .jpeg, .webp
│ ├── cover.png #or .jpg, .jpeg, .webp
│ ├── Album1/
│ │ └── music files...
│ └── Album2/
│ └── music files...
└── Artist2/
├── backdrop.png #or .jpg, .jpeg, .webp
├── folder.png #or .jpg, .jpeg, .webp
├── Album1/
│ └── music files...
└── Album2/
└── music files...
Important: Each Trackly container can only track one music library. If you need to track multiple music libraries, you'll need to set up separate containers for each library.
- Clone the repository:
git clone https://github.com/7eventy7/trackly.git
cd trackly
- Configure the application:
- Edit the
docker-compose.yml
file to set your desired configuration. - View the envioronmental variables section below.
- Start the application:
docker-compose up -d
These can be configured in the docker-compose.yml file:
UPDATE_INTERVAL
: Cron schedule for checking new releases (default: "0 0 * * *")DISCORD_NOTIFY
: Enable/disable Discord notifications during scan (default: true)NOTIFY_ON_SCAN
: Send Discord notification when scan completes (default: false)DISCORD_WEBHOOK
: Discord webhook URL for notifications (optional)DISCORD_ROLE
: Discord role ID to mention in notifications (optional)
/music
: Mount your Jellyfin music directory here/data
: Persistent storage for application data
- React + Vite
- Tailwind CSS
- Python 3
- MusicBrainz API
- Docker
- Discord Webhooks (Optional)
We welcome contributions! Whether it's:
- 🐛 Reporting bugs
- 💡 Suggesting features
- 📝 Improving documentation
- 🔍 Submitting fixes
- ✨ Adding new features
Please check our GitHub Issues before submitting new ones.
MIT License - feel free to use this project for any purpose.
Made with ❤️ by 7eventy7