Home

Awesome

<div align="center" style="display: flex; justify-content: center; align-items: center;"> <img class="lo" src='.github/images/logo-fill.light.svg' style="height: 4rem"> </div> <div align="center" style="font-size: 2rem"><b>Swing Music</b></div> <div align="center"><b><sub><code>v1.4.8</code></sub></b></div>

<div align="center" style="padding-top: 1.25rem">Download<a href="https://swingmusic.vercel.app/support-us.html" target="_blank">Support Development</a>DocsScreenshotsr/SwingMusicApp</div>

Image showing the Swing Music artist page

Swing Music is a beautiful, self-hosted music player for your local audio files. Like a cooler Spotify ... but bring your own music. Just run the app and enjoy your music library in a web browser.

Installation

Swing Music is available as pre-compiled binaries for Windows and Linux. Just download the latest release from the downloads page and launch it.

FFmpeg is needed for the audio silence skip feature, so you need to install it first. On windows, you can follows this tutorial to install FFmpeg.

On Linux, you can install FFmpeg using:

sudo apt-get install ffmpeg libavcodec-extra -y

Then make the file executable first.

chmod a+x ./swingmusic

./swingmusic

The app should start at http://localhost:1970 by default. Open it in your browser to use Swing Music. You can change the default port by using the --port flags.

swingmusic --port 1980

Options

Options are flags that can be passed when starting the app in the terminal to tweak runtime settings or perform tasks. You can use the -h flag to see all supported options.

[!TIP] You can read more about options in the docs.

Docker

Pull the latest Docker image and run it:

docker pull ghcr.io/swingmx/swingmusic:latest
docker run --name swingmusic -p 1970:1970 \
  -v /path/to/music:/music \
  -v /path/to/config:/config \
  --restart unless-stopped \
  ghcr.io/swingmx/swingmusic:latest

Don't forget to replace /path/to/music and /path/to/config with the appropriate values. In addition, specify the the /music directory as the root directory. Using the Home Directory option won't work.

[!TIP] For more info, see the Docker section on the docs.

Using Docker Compose

Here's a sample Docker compose file:

services:
  swingmusic:
    image: swingmusic
    container_name: swingmusic
    volumes:
      - /path/to/music:/music
      - /path/to/config:/config
    ports:
      - "1970:1970"
    restart: unless-stopped

Contributing

Swing Music is looking for contributors. If you're interested, please join us at the Swing Music Community group on Telegram. For more information, take a look at https://github.com/swing-opensource/swingmusic/issues/186.

CONTRIBUTING GUIDELINES.

License

This software is provided to you with terms stated in the MIT License. Read the full text in the LICENSE file located at the root of this repository.

MIT License | Copyright (c) 2023 Mungai Njoroge