Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
kenellorando authored Feb 18, 2023
1 parent e3a51e6 commit c857649
Showing 1 changed file with 15 additions and 18 deletions.
33 changes: 15 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

The project ships with _Icecast_ and _Liquidsoap_ built-in, complemented by a _Cadence_ API server providing music search, song request, artwork, a UI, and real-time stream information.

Cadence ships all components mostly pre-configured with each each other so there is hardly any work required to get started. Set a target directory containing your music, set a few service passwords and hostnames, and you're all set! The Cadence stack can be deployed in a single command.
Cadence ships all components mostly pre-configured with each each other so there is hardly any work needed to get started. Set a target directory containing your music files, set a few service passwords and hostnames, and you're done! The Cadence stack can be deployed in a single command.

**See a live demo on [cadenceradio.com](https://cadenceradio.com/)!**
**Try the live demo! [cadenceradio.com](https://cadenceradio.com/)**

## 🖼️ Image Gallery
<details>
Expand All @@ -30,14 +30,14 @@ Cadence ships all components mostly pre-configured with each each other so there

### Installation
1. Edit `cadence/config/cadence.env`.
1. Set `CSERVER_MUSIC_DIR` to an absolute path of a directory on your system which contains your music files to play. The target is not recursively searched.
2. Set `CSERVER_REQRATELIMIT` to an integer value of seconds to timeout users after they make song requests. Set this value to `0` to disable rate limiting.
1. Set `CSERVER_MUSIC_DIR` to an absolute path of a directory on your system which contains music files (`.mp3`, `.flac`) to play. The target is not recursively searched. The default value is `/music/`.
2. Set `CSERVER_REQRATELIMIT` to an integer value that represents a song request cooldown period in seconds. Set this value to `0` to disable request rate limiting. The default value is `180`.
2. Edit `cadence_icecast2/config/cadence.xml`.
1. Change all instances of `hackme` to a new password.
2. Set the `<hostname>` value to a URL you expect your audience to connect to. Cadence uses this value to set the stream source in the UI. This may be a DNS name, a public or internal IP address, or default to `localhost` if the radio is meant to be accessible from the host machine only.
2. Set the `<hostname>` value to a URL you expect your audience to connect to. Cadence uses this value to set the stream source in the UI. This may be a DNS name or a public or internal IP address. You can leave the default value `localhost` if your radio is meant to be accessible locally only.
3. Edit `cadence_liquidsoap/config/cadence.liq`:
1. Change all instances of `hackme` to a new password.
2. If you changed the `CSERVER_MUSIC_DIR` value in step 1, change any instances of the default value `"/music/"` to match it here.
2. If you changed the `CSERVER_MUSIC_DIR` value in step 1, change any instances of the default value `/music/` to match it here.
4. `docker compose up`
1. On older versions of Docker, use `docker-compose up` instead.

Expand All @@ -48,21 +48,18 @@ Assuming no changes were made to port numbers or the hostnames in the steps abov
- API server requests may also be sent to the `localhost:8080` path. See the API Reference for more details.
- The audio stream is accessible at `localhost:8000/cadence1`.

## 👩‍💻 Development
## 👩‍💻 Developing

### Enabling _Development Mode_
Cadence provides an optional API that allow special administrative controls that may be useful for testing. See the API Reference for development commands. As the name implies, don't enable development mode on a production server.
### Building the Stack
If you are developing and need to rebuild exactly what you have, use the `--build` flag.

1. `docker compose down; docker compose up --build`

### Development Mode
Cadence provides special administrative controls that may be useful for testing in an optional development API. As the name implies, don't enable development mode on a production server.

1. Edit `cadence/config/cadence.env`.
1. Set `CSERVER_DEVMODE` from `0` (disabled) to `1` (enabled).

### Building the Stack Locally
If you are developing and need to rebuild exactly what you have, you can do so with Docker Compose.

1. `docker compose down; docker compose up --build`

### API Reference
See [Cadence's GitHub Wiki for API Documentation](https://github.com/kenellorando/cadence/wiki/API-Reference) for complete details and request/response examples.

### Kubernetes Deployments
It is possible to deploy a Cadence stack to a Kubernetes cluster. Manifests and additional information are provided in [cadence-k8s](https://github.com/kenellorando/cadence-k8s).
If you are developing a custom client for Cadence Radio stacks, [Cadence's Wiki API Reference](https://github.com/kenellorando/cadence/wiki/API-Reference) provides usage details and complete request/response examples.

0 comments on commit c857649

Please sign in to comment.