Open source, self-hosted music server that streams your own library to any browser or mobile app, compatible with Subsonic clients.
swingmx/swingmusic
A self-hosted music streaming server and browser-based player for your own local audio files, with a Spotify-like interface.
Open-source alternative to:Spotify
- Stars
- 2,088
- Forks
- 143
- Open issues
- 130
- Last commit
- 2 hours ago
What is it?
Swing Music is a self-hosted music server that indexes a folder of local audio files and serves them through a browser-based player. It is aimed at people who want a Spotify-style listening experience while keeping control of their own music library.
The server organizes the library by normalizing metadata and album versions (such as Deluxe or Remaster), and offers folder browsing, related artists and albums, daily mixes based on listening activity, and collections for grouping albums and artists. Listening statistics, Last.fm scrobbling, silence detection combined with cross-fade, and multi-user support are included.
It runs on Windows, Linux and macOS, on both x86 and arm64. It can be installed with a shell script, a portable Windows build, or Docker, and the default address is localhost port 1970. An Android client is available separately.
Key features
- 01Scans local audio files and organizes them with normalized metadata and album version labels.
- 02Daily mixes, related artists and albums, and collections for grouping music.
- 03Folder view for browsing the library by directory.
- 04Listening statistics and Last.fm scrobbling.
- 05Cross-fade combined with silence detection for seamless playback.
- 06Multi-user support, with Windows, Linux, macOS, x86 and arm64 builds.
Use cases
- Streaming a personal MP3 or FLAC collection to a browser or home network without a subscription.
- Running a household music server with separate accounts for each user.
- Playing a self-hosted library on an Android device through the companion client.
Quick start
- 1
Pull the Docker image
docker pull ghcr.io/swingmx/swingmusic:latest - 2
Run the container, replacing the music and config paths with your own
docker run --name swingmusic -p 1970:1970 -e SWINGMUSIC_PORT=1970 -e SWINGMUSIC_DEVICE_NAME="Host Name Here" -v /path/to/music:/music -v /path/to/config:/config --restart unless-stopped ghcr.io/swingmx/swingmusic:latest - 3
Open http://localhost:1970 in your browser to configure and use Swing Music
Things to know
- The license is AGPL-3.0, a copyleft license that requires derivative network services to share their source code.
- The README lists macOS support as 'coming soon' in the cross-platform feature list, even though its install instructions mention macOS.
In collections
Topics
FAQ
- What is swingmusic?
- A self-hosted music streaming server and browser-based player for your own local audio files, with a Spotify-like interface. Swing Music is a self-hosted music server that indexes a folder of local audio files and serves them through a browser-based player. It is aimed at people who want a Spotify-style listening experience while keeping control of their own music library.
- Is swingmusic free to use? What license does it have?
- swingmusic is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is swingmusic still maintained?
- Actively maintained. The last commit to swingmusic was on Nov 6, 2026.
- What can I use swingmusic for?
- Streaming a personal MP3 or FLAC collection to a browser or home network without a subscription. Running a household music server with separate accounts for each user. Playing a self-hosted library on an Android device through the companion client.
- How do I install swingmusic?
- Pull the Docker image: docker pull ghcr.io/swingmx/swingmusic:latest Run the container, replacing the music and config paths with your own: docker run --name swingmusic -p 1970:1970 -e SWINGMUSIC_PORT=1970 -e SWINGMUSIC_DEVICE_NAME="Host Name Here" -v /path/to/music:/music -v /path/to/config:/config --restart unless-stopped ghcr.io/swingmx/swingmusic:latest Open http://localhost:1970 in your browser to configure and use Swing Music
- Where can I get swingmusic?
- The source code and installation instructions are on GitHub: https://github.com/swingmx/swingmusic
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted music discovery app with its own music library, recommendations, and playlist flows, with Lidarr as an optional add-on.
A self-hosted music streaming server that lets you play your own music library from a web browser or mobile app.
A self-hosted music streaming server that plays your collection in a web app, mobile apps and desktop builds.
A self-hosted music server focused on metadata integration, music collections and a browsing-oriented web and mobile UI.
A dockerized app that scrobbles your music plays from many sources, such as Spotify, Plex and Jellyfin, to clients like Last.fm and ListenBrainz.