An opinionated Mopidy container built for amd64 or arm64 (e.g. Raspberry Pi) linux machines designed to stream audio to Snapcast.
It can be deployed using one of the following ways:
- as a Docker Compose project that also includes a Snapcast container.
- as a Kubernetes app (without Snapcast, assuming it was installed separately).
- via the Kubemate web GUI.
To list the supported targets, run make help.
- git
- make
- docker 20+
- kubectl
To build the application container image using skaffold, run:
make imageTo test container changes, you can run mopidy simply using docker with the pulseaudio unix socket and cookie mounted:
make run-mopidyOnce mopidy started, you can browse it at http://localhost:6680.
To run the compose project:
make run-snapcast-composeWhen the log doesn't give you sufficient information to find the cause of a problem, you can enable debug logs as follows:
- To enable Mopidy debug logs, set the env var
MOPIDY_OPTS=-v. - To enable GStreamer debug logs, set the env var
GST_DEBUG=3.
To deploy the application using skaffold, run:
make deployTo deploy the application in debug mode (debug ports forwarded), stream its logs and redeploy on source code changes automatically, run:
make debugTo undeploy the application, run:
make undeployTo apply blueprint updates to the application codebase, update the kpt package:
- Before updating the package, make sure you don't have uncommitted changes in order to be able to distinguish package update changes from others.
- Call
make blueprint-updateor ratherkpt pkg updateandkpt fn render(applies the configuration withinsetters.yamlto the manifests andskaffold.yaml). - Before committing the changes, review them carefully and make manual changes if necessary.
TL;DR: Variant Constructor Pattern
The release process is driven by Conventional Commits, letting the CI pipeline generate a version and publish a release depending on the commit messages on the main branch.