Deploying Lidify
Introduction
Lidify is a self-hosted music discovery tool that helps you find new music based on your listening preferences and create curated playlists. Designed for users of Lidarr and other music management tools, Lidify analyzes your music collection and suggests similar artists and albums you might enjoy.
The application integrates with music metadata services to provide recommendations based on genres, styles, and listening patterns. Lidify bridges the gap between music discovery and your existing music management workflow.
Key highlights of Lidify:
- Music Discovery: Find new artists based on your library
- Similar Artist Suggestions: Discover artists similar to ones you love
- Playlist Generation: Create playlists based on moods or genres
- Lidarr Integration: Seamlessly add discovered music to Lidarr
- Listening Statistics: Track your music preferences
- Genre Exploration: Browse music by genre and style
- Web Interface: Clean, modern discovery interface
- API Access: Integrate with other applications
- Privacy-Focused: No data sharing with third parties
- Custom Recommendations: Personalized suggestions
This guide walks through deploying Lidify on Klutch.sh using Docker.
Why Deploy Lidify on Klutch.sh
Deploying Lidify on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically builds Lidify from your Dockerfile. Push to GitHub, and your discovery tool deploys.
Persistent Storage: Attach persistent volumes for your preferences and listening history.
HTTPS by Default: Klutch.sh provides automatic SSL certificates for secure access.
GitHub Integration: Connect your repository for automatic redeployments.
Scalable Resources: Allocate resources based on your library size.
Environment Variable Management: Configure integrations securely.
Custom Domains: Assign a custom domain for your discovery interface.
Always-On Availability: Your music discovery tool remains accessible 24/7.
Prerequisites
Before deploying Lidify on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- Basic familiarity with Docker and containerization concepts
- (Optional) A Lidarr instance for integration
- (Optional) A custom domain
Understanding Lidify Architecture
Lidify uses a simple architecture:
Web Application: Frontend for browsing and discovering music.
Recommendation Engine: Analyzes your library and generates suggestions.
Integration Layer: Connects with Lidarr and music databases.
Database: Stores preferences and discovery history.
Preparing Your Repository
Repository Structure
lidify-deploy/├── Dockerfile├── README.md└── .dockerignoreCreating the Dockerfile
FROM node:18-alpine
# Install dependenciesRUN apk add --no-cache curl
# Set working directoryWORKDIR /app
# Environment configurationENV PORT=3000ENV LIDARR_URL=${LIDARR_URL:-}ENV LIDARR_API_KEY=${LIDARR_API_KEY:-}
# Install application (adjust based on actual source)RUN npm init -y
# Create data directoryRUN mkdir -p /app/data
# Expose portEXPOSE 3000
# Health checkHEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD curl -f http://localhost:3000/health || exit 1
CMD ["node", "server.js"]Creating the .dockerignore File
.git.github*.mdLICENSE.gitignore*.log.DS_Store.env.env.localnode_modules/Environment Variables Reference
| Variable | Required | Default | Description |
|---|---|---|---|
PORT | No | 3000 | Server port |
LIDARR_URL | No | - | Lidarr instance URL |
LIDARR_API_KEY | No | - | Lidarr API key |
Deploying Lidify on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 3000
Push Your Repository to GitHub
git initgit add Dockerfile .dockerignore README.mdgit commit -m "Initial Lidify deployment configuration"git remote add origin https://github.com/yourusername/lidify-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project named “lidify” or “music-discovery”.
Create a New App
Within your project, create a new app. Connect your GitHub account and select your Lidify repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Add the following:
| Variable | Value |
|---|---|
LIDARR_URL | Your Lidarr URL (optional) |
LIDARR_API_KEY | Your Lidarr API key (optional) |
Attach Persistent Volumes
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/app/data | 2 GB | Preferences and history |
Deploy Your Application
Click Deploy to start the build process.
Access Lidify
Once deployment completes, access your instance at https://your-app.klutch.sh.
Using Lidify
Discovering Music
Find new artists:
- Navigate to the discovery interface
- Browse recommendations based on your library
- Explore similar artists
- Add discoveries to Lidarr
Creating Playlists
Build curated playlists:
- Select a mood or genre
- Review suggested tracks
- Customize the playlist
- Export or save
Lidarr Integration
Connect with your music manager:
- Configure Lidarr connection
- Browse your existing library
- Add new artists directly
- Monitor new releases
Production Best Practices
Performance Tips
- Index your library regularly
- Cache recommendation results
- Monitor API rate limits
Backup Strategy
- Back up preferences and history
- Export playlists periodically
Troubleshooting
Recommendations Not Loading
- Check Lidarr connection
- Verify API keys
- Review server logs
Integration Issues
- Test Lidarr connectivity
- Verify URL and port
- Check network access
Additional Resources
Conclusion
Deploying Lidify on Klutch.sh enhances your music management workflow with discovery and recommendation features. Find new artists similar to your favorites and never run out of new music to explore.
With Lidarr integration and automatic builds, you can expand your music library with minimal effort.