
Subsonic
Personal music streaming server with universal app support
Subsonic is a web-based media server written in Java that runs on any operating system with Java support. It supports streaming to multiple clients simultaneously with any streamable media including MP3, AAC, OGG, and more. With extensive mobile app support, automatic transcoding, and offline sync capabilities, Subsonic provides a robust personal music streaming solution. QuickBox Pro installs Subsonic from official .deb packages with BellSoft Java 8, per-user systemd services, and auto-incremented ports.
🎵 Universal Music Streaming
Stream MP3, AAC, OGG, FLAC, and any format to web browser or mobile apps
🔄 On-the-Fly Transcoding
Automatic format conversion and bitrate adjustment for any device
👥 Multi-User Management
Create accounts with individual libraries, quotas, and access permissions
📱 Extensive App Support
Compatible with 50+ third-party apps for Android, iOS, and desktop platforms
💾 Offline Sync
Download music to mobile devices for offline playback without streaming
📻 Podcast & Internet Radio
Subscribe to podcasts and stream internet radio stations
Subsonic API Standard
Subsonic pioneered the Subsonic API, which has become the de facto standard for music streaming servers. Apps built for Subsonic work with Airsonic, Navidrome, and other compatible servers.
Installation
Symptoms
- QuickBox Pro v3 installed and configured
- User account created on the server
- Music library organized and ready to stream
- BellSoft Java 8 available (automatically installed)
Resolution
- Use QuickBox's qb command for installation
- Automatic BellSoft Java 8 installation if not present
- Per-user installation with isolated music libraries
- Latest Subsonic version from official .deb package
Basic Installation
Install Subsonic for a specific user:
qb install subsonic -u usernameCLI Commands
| Command | Description |
|---|---|
qb install subsonic -u username | Install Subsonic with automatic configuration |
qb reinstall subsonic -u username | Reinstall Subsonic (preserves configuration and library) |
qb update subsonic -u username | Update to latest official release |
qb remove subsonic -u username | Remove Subsonic and clean up files |
qb help subsonic | Display comprehensive help information |
Automatic Port Assignment
QuickBox automatically assigns ports per user:
- HTTP port: Starting at
4040(auto-incremented per user) - HTTPS port: Starting at
4141(auto-incremented per user)
Find your assigned ports in the QuickBox dashboard or in /home/username/.config/Subsonic/subsonic.properties.
Java 8 Requirement
Subsonic requires BellSoft Java 8 to run. QuickBox Pro automatically installs BellSoft Java 8 if not already present on your system.
Accessing Subsonic
After installation, access Subsonic at:
https://your-server-ip/username/subsonicQuickBox Dashboard Integration
Subsonic is automatically integrated into your QuickBox dashboard. Find it in the Service Control panel with port and status information. Click the LAUNCH icon to open the web interface.
Default Credentials:
- Username:
admin - Password:
admin
Change Default Password
Important: Change the default admin password immediately after first login for security. Navigate to Settings → Users and update the password.
Initial Configuration
1. Secure Admin Account
On first access, secure your installation:
- Login with default credentials (
admin/admin) - Navigate to Settings → Users
- Click Edit on the admin user
- Change password to a strong, unique password
- Update email address for password recovery
- Click Save
2. Add Music Folders
Configure your music libraries:
- Go to Settings → Media folders
- Default folder is
/home/username/.config/Subsonic/Music - To add additional folders:
- Click Add
- Enter folder path (e.g.,
/home/username/media/music) - Set folder name for display
- Click Save
- Click Scan media folders now to index your library
3. Configure Transcoding
Optimize streaming for different devices:
- Navigate to Settings → Transcoding
- Enable transcoding profiles:
- Max bitrate - Maximum streaming quality
- Medium bitrate - Balanced quality (default 128 kbps)
- Low bitrate - Mobile/low bandwidth (default 64 kbps)
- Configure transcoding command (FFmpeg-based)
- Test transcoding with different file formats
- Save settings
Service Management
Subsonic runs as a per-user systemd service.
systemctl status subsonic@username # Check status
systemctl restart subsonic@username # Restart service
journalctl -u subsonic@username -f # View live logs
systemctl enable subsonic@username # Start on boot (already enabled)
systemctl disable subsonic@username # Prevent auto-startTroubleshooting
Subsonic Won’t Start
journalctl -u subsonic@username -fCheck Java installation:
/usr/lib/jvm/bellsoft-java8-amd64/bin/java -version
# Should show Java 8
# Verify Java alternative
update-alternatives --list java
# If Java 8 not found, reinstall:
qb reinstall subsonic -u usernameMusic Not Appearing in Library
Symptoms
- Added music folder but no tracks showing
- Library scan completed but library empty
- New music not detected after adding files
- Album art or metadata missing
Resolution
- Verify folder path exists: ls -la /home/username/media/music
- Check file permissions - Subsonic needs read access
- Trigger manual scan in Settings → Media folders → Scan now
- Check logs: journalctl -u subsonic@username -f | grep -i scan
- Verify supported formats (MP3, FLAC, OGG, M4A, AAC, WMA, WAV)
Transcoding Not Working
# Verify FFmpeg is installed
ffmpeg -version
# Check transcoding settings
# Settings → Transcoding → Enable transcoding
# Verify transcoding command is correct
# Settings → Transcoding → View/edit transcoding commands
# Test transcoding manually
journalctl -u subsonic@username -f | grep -i transcodeCannot Login After Password Change
# Stop Subsonic service
systemctl stop subsonic@username
# Reset admin password by editing database
# WARNING: Advanced users only
nano /home/username/.config/Subsonic/db/subsonic.script
# Or reinstall (preserves library but resets password):
qb reinstall subsonic -u usernameMobile App Cannot Connect
# Verify Subsonic is running
systemctl status subsonic@username
# Check nginx reverse proxy
sudo nginx -t
sudo systemctl reload nginx
# Verify URL format in mobile app:
# Server: https://your-server-ip/username/subsonic
# Username: Your Subsonic username
# Password: Your Subsonic password
# For API-based apps, use base path:
# Server: https://your-server-ip/username/subsonic/rest
# Test access from browser first
curl -I https://your-server-ip/username/subsonicHigh CPU Usage During Transcoding
# Limit concurrent transcoding streams
# Settings → Advanced → Maximum number of concurrent streams
# Reduce transcoding quality
# Settings → Transcoding → Lower bitrate limits
# Check active transcoding sessions
# Players tab shows current streams with bitrate info
# Monitor system resources
top -u usernameBest Practices
Do
- Organize music with proper ID3 tags and folder structure (Artist/Album/Track)
- Change default admin password immediately after installation
- Set user quotas to prevent excessive storage usage
- Configure transcoding profiles based on common device types
- Enable automatic library scans weekly for new music detection
- Create separate user accounts for family members with access controls
- Regularly update Subsonic via qb update subsonic for fixes and features
- Backup /home/username/.config/Subsonic/db/ directory for library metadata
Don't
- Don't delete /home/username/.config/Subsonic directory—contains library database
- Don't use special characters in folder paths that confuse the database
- Don't share admin account credentials—create separate user accounts instead
- Don't manually edit database files while Subsonic is running
- Don't enable all transcoding profiles simultaneously—increases CPU load
- Don't ignore high CPU usage—limit concurrent streams or disable transcoding
- Don't forget to set folder permissions—Subsonic needs read access to music files
- Don't store music on the same partition as OS without sufficient space
Use Cases
Personal Music Cloud
- Stream your entire music library to any device from anywhere
- Web-based player accessible from any browser
- Mobile apps for iOS, Android, Windows Phone, and more
- No music upload limits or monthly fees—your music, your server
Multi-User Family Server
- Create accounts for family members with individual libraries
- Set storage quotas and bandwidth limits per user
- Control access to specific music folders per user
- Separate listening history, favorites, and playlists
Offline Music Access
- Download music to mobile devices for offline playback
- Sync playlists for airplane mode or limited connectivity
- Automatic download queue management
- Resume downloads when connection is restored
Related Applications
Additional Resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.