GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - swingmx/swingmusic: Swing Music is a beautiful, self-hosted music player for your local audio files. Like a cooler Spotify ... but bring your own music.

BranchesTags
Open more actions menu

Latest commit

 

History

1,434 Commits
1,434 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
appimage
appimage
 
 
contributing
contributing
 
 
docs
docs
 
 
src/swingmusic
src/swingmusic
 
 
.dockerignore
.dockerignore
 
 
.gitattributes
.gitattributes
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
TODO.md
TODO.md
 
 
example_usage.py
example_usage.py
 
 
install.sh
install.sh
 
 
pyproject.toml
pyproject.toml
 
 
requirements.txt
requirements.txt
 
 
run.py
run.py
 
 
setup.py
setup.py
 
 
swingmusic.spec
swingmusic.spec
 
 
uv.lock
uv.lock
 
 
version.txt
version.txt
 
 

Repository files navigation

Swing Music
Latest GitHub Release

Download • Get Android Client • Sponsor Us ❤️ • Docs • Screenshots • r/SwingMusicApp

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
    ports:
      - "1970:1970"
    volumes:
      - /path/to/music:/music
      - /path/to/config:/config
    environment:
      - SWINGMUSIC_PORT=1970
      - SWINGMUSIC_DEVICE_NAME=Host name here
    restart: unless-stopped

The SWINGMUSIC_DEVICE_NAME sets the name this server reports to connected clients. To use a different port, change both SWINGMUSIC_PORT and the ports mapping to match (e.g. 2001:2001 with SWINGMUSIC_PORT=2001).

Using Docker CLI

docker pull ghcr.io/swingmx/swingmusic:latest

Then run:

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

Replace the following with appropriate values:

  1. /path/to/music - Your music directory on the host
  2. /path/to/config - Path to create Swing Music configs on the host
  3. Host Name Here - Your host device name

You can change the Swing Music port by updating both the -p mapping and SWINGMUSIC_PORT to the same value (e.g. -p 2001:2001 -e SWINGMUSIC_PORT=2001).

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


@cwilvx

@Ericgacoki

@Simonh2o

@tcsenpai

@jensgrunzer1

@Type-Delta

@MarcOrfilaCarreras

@tralph3

About

Swing Music is a beautiful, self-hosted music player for your local audio files. Like a cooler Spotify ... but bring your own music.

swingmx.com

Topics

musicmusic-serverpythonself-hosted

Resources

Readme
AGPL-3.0 license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

2.1k stars

Watchers

18 watching

Forks

143 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.