Skip to Content
Subsonic

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 username

CLI Commands

CommandDescription
qb install subsonic -u usernameInstall Subsonic with automatic configuration
qb reinstall subsonic -u usernameReinstall Subsonic (preserves configuration and library)
qb update subsonic -u usernameUpdate to latest official release
qb remove subsonic -u usernameRemove Subsonic and clean up files
qb help subsonicDisplay 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/subsonic

QuickBox 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:

  1. Login with default credentials (admin / admin)
  2. Navigate to Settings → Users
  3. Click Edit on the admin user
  4. Change password to a strong, unique password
  5. Update email address for password recovery
  6. Click Save

2. Add Music Folders

Configure your music libraries:

  1. Go to Settings → Media folders
  2. Default folder is /home/username/.config/Subsonic/Music
  3. To add additional folders:
    • Click Add
    • Enter folder path (e.g., /home/username/media/music)
    • Set folder name for display
    • Click Save
  4. Click Scan media folders now to index your library

3. Configure Transcoding

Optimize streaming for different devices:

  1. Navigate to Settings → Transcoding
  2. Enable transcoding profiles:
    • Max bitrate - Maximum streaming quality
    • Medium bitrate - Balanced quality (default 128 kbps)
    • Low bitrate - Mobile/low bandwidth (default 64 kbps)
  3. Configure transcoding command (FFmpeg-based)
  4. Test transcoding with different file formats
  5. 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-start

Troubleshooting

Subsonic Won’t Start

journalctl -u subsonic@username -f

Check 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 username

Music 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 transcode

Cannot 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 username

Mobile 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/subsonic

High 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 username

Best 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

📀

Music Management

🎬

Video Streaming

🎵

Music Servers


Additional Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server