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.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

swingmusic-2.1.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (2.9 MB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

swingmusic-2.1.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

swingmusic-2.1.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (2.9 MB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

swingmusic-2.1.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

swingmusic-2.1.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (2.8 MB view details)

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

swingmusic-2.1.13-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file swingmusic-2.1.13-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.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c5bb73cacbb9f4b7b00084a952ce6379e2506dbb4bb2bd8b73f09dca9572afcc
MD5 2d8ca033038a962b07e00cf2bf6be984
BLAKE2b-256 a8d54fd31c31a667ed1f438e132f2b6b90cfe05fae9bc20a68429d1a8c158306

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 256922727e7f26bcf5aee30fb8d395d46c8e526ea75f35ae9ccd0c6aac0a0302
MD5 fb705709e9fd047e8a63832dc103e197
BLAKE2b-256 45f7c1c7a7f80b4177bf7fae984a5a35520e0f5e1859fd95a3b78821dc0088b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 083ec9b7453dcf6ff59f2aedd148100f9b28aba0a67cac12aca0b5071d7d8212
MD5 7d8b126045d27d1f57fdfebcbdc93bb6
BLAKE2b-256 959be7f774be31b9de68ef58dc05be55242366d75e9afd83d26af7e740509697

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-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.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f8a3a64312a34c66c9c6006eb357bc12415a569358e25048eea7895083a90ad
MD5 7fb7a22fe9033003f1239ccfa7866bab
BLAKE2b-256 ec4194064e5c713ed7cd8f28d712411cd03471976bbc73d891d889046e258498

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 92042e650b8cb221600de88c78be97d2f496c9f39a682694517cd00f488b5ce6
MD5 1b91daec19b39cd058dd3269114a9397
BLAKE2b-256 e25eee44225cf3f5341512ed972d6bc9267c8430715d1effe1a9486abb6a54de

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8958894c06de0f8274b2cb5152182a395336fd1569669d5223f7963f85d21e7
MD5 864dad0da5c3b7b7b2108f2721bc1efb
BLAKE2b-256 54bb548349bb1298dc106d115b6f6842babc3e268b0704a841a15fcf8aa81933

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-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.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 92a89a1c0951e9ef9c6412bad862934001d1f551748b6a420cf0b20dbe935317
MD5 43c3382b7d6feba2edc6858993f77e81
BLAKE2b-256 0e999d5651a0fde33a0e6a08d03ce30770ee031e6abb449fb77302917af3a2f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 30801a79052516084aad8919bfeacbf7fef9549bd7adccf1ee2f6fd91ed9bb39
MD5 001dc00bb083eff905ce28731995b3a8
BLAKE2b-256 0683f2547e8039b0697d04e9626dada8a25a6d37ffc27617e1bd598c4e4c45b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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.13-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for swingmusic-2.1.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f20149e46539a0ceecd4a2a615f17f94b41c3d4a6e6cfb1464650ad6f2125879
MD5 f50ab56439686ffa3a9d09fd11e72898
BLAKE2b-256 cdbc99201b8352cbfcf0aabd4befdc7cdf30ddd55a42734dbc3a46a913307764

See more details on using hashes here.

Provenance

The following attestation bundles were made for swingmusic-2.1.13-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