Skip to main content

Swing Music

Project description

Swing Music
Latest GitHub Release

Image showing the Swing Music artist page

Swing Music is a blazingly fast and beautiful, self-hosted music streaming server. Like a cooler Spotify ... but bring your own music.

Features

  • Daily Mixes - curated everyday based on your listening activity
  • Metadata normalization - a clean and consistent library
  • Album versioning - normalized albums and association with version labels (eg. Deluxe, Remaster, etc)
  • Related artist and albums
  • Folder view - Browse your music library by folders
  • Beautiful browser based UI
  • Silence detection - Combine cross-fade with silence detection to create a seamless listening experience
  • Collections - Group albums and artists based on your preferences
  • Statistics - Get insights into your listening activity
  • Last.fm scrobbling
  • Multi-user support
  • Cross-platform - Windows, Linux, MacOS (coming soon), arm64, x86

Installation

On Linux or MacOS run the command below to install Swing Music:

curl -fsSL https://setup.swingmx.com | bash

To run Swing Music on Windows, download the portable build from the downloads page and run it.

The app should start at http://localhost:1970 by default. Open the URL in your browser to configure and use Swing Music.

[!TIP] To stream your music from your Android device, download the Android mobile client.

Using Docker Compose

Here's a sample Docker compose file:

services:
  swingmusic:
    image: ghcr.io/swingmx/swingmusic:latest
    container_name: swingmusic
    volumes:
      - /path/to/music:/music
      - /path/to/config:/config
    ports:
      - "1970:1970"
    restart: unless-stopped

Using Docker CLI

docker pull ghcr.io/swingmx/swingmusic:latest

Then run:

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

Replace /path/to/music and /path/to/config with the appropriate values. In addition, specify the /music directory as the root directory inside Swing Music.

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

Options

Options flags 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.

Contributing and Development

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 AGPLv3 License or any later version. Read the full text in the LICENSE file located at the root of this repository.

Contributors

Shout out to the following code contributors who have helped maintain and improve Swing Music:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

swingmusic-2.1.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

swingmusic-2.1.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

swingmusic-2.1.11-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

swingmusic-2.1.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

swingmusic-2.1.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

swingmusic-2.1.11-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

swingmusic-2.1.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

swingmusic-2.1.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

swingmusic-2.1.11-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file swingmusic-2.1.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c06253854c19ac87bdf016583d03032ff02ccdb84d51522c6afc5ebb47452e4
MD5 14447e3912cb25479ba604c628484486
BLAKE2b-256 23d222d413e787d92befced2ff531ae38e5c2d7e7a5c486486c2f7dbeadfba99

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eac20136e8ba056cf183d16726e7fccb3af9366f4f19d081b46f3a92b74bb73b
MD5 6e8ac5d094df44c05ec6111a62ef88ac
BLAKE2b-256 dab19e84202aa554bcec13104f0e5d30234326c23946b34d8c700b6644ed1914

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52658f39af24bfd7c7839e7328d07772636cdbdde9967c1c1a8fe4b25ca125e4
MD5 fd0658f09cd4ae4cad948c836c211a58
BLAKE2b-256 bc38b5238000dc973ed2e33732d70fa3307c7f94bf2b5fb5285d546dc1d71067

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a7ba522aa37062388dc3aacece2c178a79f5ae938c89f267eb0dfd38083b363
MD5 21ca20b624fd3549d668edc8f0a3bc5a
BLAKE2b-256 fc28ddadbd6b877c5847e2015d95ce4e5be3886664cefc06f1997d20da7a4942

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be08efa4b4745cc944edd653b1b08c377f7e6fe7654afa563b675cb4d9957686
MD5 d6c3d0ccadf1c71edb2537fbabfb1c31
BLAKE2b-256 af62021b670850164d9b9cf5ca41dcba07a2b591cf28a03d020b15b2465b715c

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b503fe4d2f875b9a0c691fd1a6d6ff3052a874ba556972af26828a652bff002
MD5 4e8c6336ef47c82637c9040bb28d0518
BLAKE2b-256 f945bf65a33ee61af722468c165470c571d3326a596fd3b8c6f665940eae9db3

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1325469a4f015c3d87fca2f7d2d99a8bd8e4bab1fc49c9973c1619da0e47251
MD5 90d7771ae92a9a820210e5fe3e051d7f
BLAKE2b-256 054be85b6f41739572e8437b89668194ec48b1eb875d431547f83867d881b1a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 99f2aac739ceb61089e5cca60db1712510c932989de746555f8460834d5389cd
MD5 b364d0c037e63dcf9b7ff070e87a8953
BLAKE2b-256 91e903dbc2f7c8270ef243824424e3e5f96eaabdef4f1e964d2cd5ed78cefb41

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swingmusic-2.1.11-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f4f9fa611ef96f045c01668766ee10f11de8c46cf8c8540358b54a50d858607
MD5 584b50fd6b622c7ecc5be979bcb0471d
BLAKE2b-256 36196b4ca2c117656c1737f8ed39cd3280929f27965bb6e9f55a12d680e4bab8

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.11-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build.yml on swingmx/swingmusic.pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page