Beatnik Controller is a web-based remote control for your Beatnik Pi or Snapcast multi-room audio server. It allows you to easily manage and control audio streams from any device with a web browser. The application can also be compiled for Android and iOS and is available in the App- & Play Store.
- Control volume for all connected clients.
- Manage client groups.
- View what's currently playing on each stream.
- Simple and intuitive user interface.
To run Beatnik Controller, you will need:
- A running Snapcast server on your network. This application is compatible with the standard Snapcast server. For a detailed installation guide for a Raspberry Pi based setup, we recommend beatnik-pi.
- Docker and Docker Compose.
There are two ways to get Beatnik Controller running:
- Run with Docker (Recommended): This is the easiest way to get started. It uses the pre-built Docker image from our registry and requires no local setup.
- Build from Source: This is for developers who want to modify the code or contribute to the project.
This method uses Docker to run the application without needing to build it yourself.
Clone this repository to your local machine:
git clone https://github.com/byrdsandbytes/beatnik-controller.git
cd beatnik-controllerBy default, the application will try to connect to a Snapcast server at beatnik-server.local. If your server is at a different address, you can configure it in the in-app settings once the application is running.
You can run the application using Docker Compose:
docker compose up -dThis will pull the latest Docker image and start the application in the background.
Open your web browser and navigate to http://localhost:8181 or http://your-hostname.local:8181. You should now see the Beatnik Controller interface.
This method is for developers who want to modify the code or contribute to the project.
Clone this repository to your local machine:
git clone https://github.com/byrdsandbytes/beatnik-controller.git
cd beatnik-controllerBy default, the application will try to connect to a Snapcast server at beatnik-server.local. If your server is at a different address, you can edit src/environments/environment.ts and change snapcastServerUrl to your server's hostname or IP address.
You have two options for building and running the application locally:
If you want to build the Docker image from the source code, you can use the provided docker-compose.build.yml file. This is useful for testing local changes in a containerized environment.
docker compose -f docker-compose.build.yml up -d --buildThis command builds the image and runs it locally. The application will be available at http://localhost:8181.
We welcome contributions! If you'd like to help improve Beatnik Controller, please see our CONTRIBUTING.md file for more information on how to get started. For details on the automated build pipeline, see BUILD_PIPELINE.md.
This project is licensed under the AGPL v3 License - see the LICENSE file for details.
