Skip to content

sccreeper/chime

Repository files navigation


This repository is the monorepo for chime, a locally hosted music streaming server.


Note

This project is only a "small" hobby project of mine. For personal use I use Jellyfin as even though Chime has a large list of features and is comparable to the music aspects of Jellyfin, developing it and trying to make it work for multiple platforms properly is too big a load for a solo developer like myself especially when I want to work on other projects. As a result commits to this repo will probably be few and far between from now on as I focus on other small projects which are more manageable.

TLDR; Making a fully-featured music streaming server is too much, so this will just be added to as and when I get the chance.

About

Hobby music streaming server made as an experiment.

  • Server is written in Go
  • Web interface written in (bad) Svelte1.
  • Mobile app with download support written in Dart & Flutter.
  • Automatically parses music metadata when added to your library.
  • Internet radio support (Uses hls.js).
  • Partial Chromecast support.

Running/Building

It is recommended you run chime in Docker using docker-compose. You can do this by running ./docker-run.sh This builds the project in Docker. It also creates a volume in your home directory for Chime's data.


Project structure

  • server - Contains the source code for the backend web server.
  • web - Contains the source code for the web UI. This is served by the server.
  • app - Source code for the desktop and mobile apps.
  • castproxy - Source code for the Chromecast proxy to enable control of Chromecast devices from platforms where the Cast SDK is not supported.
  • web-v2 - A rewrite of the existing frontend using SvelteKit instead of standard Svelte.

Credits