Skip to content

Commit d2f074c

Browse files
committed
reorganise readme and docker
1 parent 55001d1 commit d2f074c

File tree

3 files changed

+58
-15
lines changed

3 files changed

+58
-15
lines changed

README.md

Lines changed: 50 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
![Beatnik Dashboard Screen](docs/images/iphone15_screen.webp)
44

5-
Beatnik Controller is a web-based remote control for your [Snapcast](https://github.com/badaix/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.
5+
Beatnik Controller is a web-based remote control for your [Beatnik Pi](https://github.com/byrdsandbytes/beatnik-pi) or [Snapcast](https://github.com/badaix/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.
6+
7+
68

79
## Features
810

@@ -20,10 +22,16 @@ To run Beatnik Controller, you will need:
2022

2123
## Installation & Usage
2224

23-
Getting started with Beatnik Controller is simple with Docker.
24-
If you have trouble setting up docker compose check our guide: [DOCKER_INSTALLATION.md](./docs/DOCKER_INSTALLATION.md)
25+
There are two ways to get Beatnik Controller running:
26+
27+
1. **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.
28+
2. **Build from Source:** This is for developers who want to modify the code or contribute to the project.
29+
30+
### Method 1: Run with Docker (Recommended)
2531

26-
### 1. Get the Code
32+
This method uses Docker to run the application without needing to build it yourself.
33+
34+
#### 1. Get the Code
2735

2836
Clone this repository to your local machine:
2937

@@ -32,30 +40,58 @@ git clone https://github.com/byrdsandbytes/beatnik-controller.git
3240
cd beatnik-controller
3341
```
3442

35-
### 2. Configure the Snapcast Server (Optional)
36-
37-
By 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 two ways:
43+
#### 2. Configure the Beatnik Pi or Snapcast Server (Optional)
3844

39-
- **During Setup (Optional):** Edit `src/environments/environment.prod.ts` and change `snapcastServerUrl` to your server's hostname or IP address.
40-
- **In-App Settings:** Once the application is running, you can go to the settings page and change the Snapcast server address directly in the user interface.
45+
By 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.
4146

42-
### 3. Run with Docker
47+
#### 3. Run with Docker
4348

44-
Once configured, you can build and run the application using Docker Compose:
49+
You can run the application using Docker Compose:
4550

4651
```bash
4752
docker compose up -d
4853
```
4954

50-
This will build the Docker image and start the application in the background.
55+
This will pull the latest Docker image and start the application in the background.
5156

52-
### 4. Access the Application
57+
#### 4. Access the Application
5358

5459
Open your web browser and navigate to `http://localhost:8181` or `http://your-hostname.local:8181`. You should now see the Beatnik Controller interface.
5560

61+
### Method 2: Build from Source (for Developers)
62+
63+
This method is for developers who want to modify the code or contribute to the project.
64+
65+
#### 1. Get the Code
66+
67+
Clone this repository to your local machine:
68+
69+
```bash
70+
git clone https://github.com/byrdsandbytes/beatnik-controller.git
71+
cd beatnik-controller
72+
```
73+
74+
#### 2. Configure the Beatnik Pi or Snapcast Server (Optional)
75+
76+
By 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.
77+
78+
#### 3. Build and Run
79+
80+
You have two options for building and running the application locally:
81+
82+
##### Build with Docker
83+
84+
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.
85+
86+
```bash
87+
docker compose -f docker-compose.build.yml up -d --build
88+
```
89+
90+
This command builds the image and runs it locally. The application will be available at `http://localhost:8181`.
91+
5692
## Contributing
5793

58-
If you are a developer and want to contribute to the project, build mobile apps, or run the application in a development environment, please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. For details on the automated build pipeline, see [BUILD_PIPELINE.md](./docs/BUILD_PIPELINE.md).
94+
We welcome contributions! If you'd like to help improve Beatnik Controller, please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for more information on how to get started. For details on the automated build pipeline, see [BUILD_PIPELINE.md](./docs/BUILD_PIPELINE.md).
5995

6096
## License
6197

docker-compose.build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
services:
2+
beatnik:
3+
build: .
4+
container_name: beatnik-controller-local
5+
ports:
6+
- "8181:80"

docker-compose.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
services:
22
beatnik:
3-
build: .
3+
image: ghcr.io/byrdsandbytes/beatnik-controller:latest
4+
container_name: beatnik-controller
45
ports:
56
- "8181:80"

0 commit comments

Comments
 (0)