🎼 A simple self-hosted Subsonic web client.
Somachord is a music player for Subsonic servers on the Web made to rule over all the others.
- It plays music!
- It's written in Gleam
- Has a straightforward UI
- Works on Mobile and Desktop
- PWA
- Electron
- Web/Browser
- Works offline, which means you can play music without an internet connection (if you've played it once already)
- Lyrics, synced or unsynced
- Scrobbles to Subsonic server
- Autoplay similar music when the queue is finished
- Saves and restore queue
- Playlist management
Request features you would like as an issue and I may or may not work on it.
The easiest way to get Somachord up and running is by using Docker.
Pull it from ghcr.io:
docker run -p 8000:8000 -it ghcr.io/sammy-ette/somachord:masterOr build it locally:
docker build -t somachord .
docker run -p 8000:8000 -it somachordservices:
somachord:
container_name: somachord
image: ghcr.io/sammy-ette/somachord:master
environment:
- SERVER_URL=https://example.com # optional
- LOCK_SERVER=true # locked means the server url cannot be changed
- DEFAULT_USER=
- DEFAULT_PASSWORD
- LOCK_CREDENTIALS=false # locked credentials means they cannot be changed if the default credentials (user or password) is defined
ports:
- 8000:8000
restart: unless-stoppedYou can also run Somachord from source as a test.
git clone https://github.com/sammy-ette/Somachord
cd Somachord
gleam run -m lustre/dev build --minify
cd server && gleam runTo setup a development environment to test out local changes, you need Gleam and rebar3 installed. I will not detail how to install those.
When developing it's better to use the Lustre dev server:
gleam run -m lustre/dev startWhen making changes it will reload the site automatically.
Somachord is AGPL 3.0 licensed.




