Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dtcooper/crazyarms
Crazy Arms Radio Backend. Playout software for the modern, fully de-centralized station.
https://github.com/dtcooper/crazyarms
django docker docker-compose huey icecast jinja2 liquidsoap nchan nginx nginx-rtmp python radio-automation
Last synced: about 17 hours ago
JSON representation
Crazy Arms Radio Backend. Playout software for the modern, fully de-centralized station.
- Host: GitHub
- URL: https://github.com/dtcooper/crazyarms
- Owner: dtcooper
- License: mit
- Created: 2020-09-29T23:04:10.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-21T20:00:10.000Z (almost 2 years ago)
- Last Synced: 2024-10-28T18:14:47.706Z (22 days ago)
- Topics: django, docker, docker-compose, huey, icecast, jinja2, liquidsoap, nchan, nginx, nginx-rtmp, python, radio-automation
- Language: Python
- Homepage: https://dtcooper.github.io/crazyarms
- Size: 4.33 MB
- Stars: 24
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Crazy Arms Radio Backend — :zany_face: :mechanical_arm: :radio: :woman_technologist:
Crazy Arms Radio Backend is a flexible and fully featured Internet radio back-end
written from the ground up.It's specifically written after its author built a few _fully decentralized_
online radio stations with varying types of scheduling and finding no existing
product fit some common needs out of the box.Read the [documentation for Crazy Arms here](https://dtcooper.github.io/crazyarms).
## Quickstart
1. Install [Docker](https://www.docker.com/) and
[docker-compose](https://docs.docker.com/compose/). On macOS, install
[Docker for Mac](https://docs.docker.com/docker-for-mac/install/).
On Debian/Ubuntu do the following:```
# Install Docker (Linux instructions only)
curl -fsSL https://get.docker.com | sh# and docker-compose
sudo curl \
-L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose# (If you're a non-root user)
sudo adduser "$USER" docker
# Log back in and out, to make sure you're in the docker group
```2. Clone Crazy Arms,
```
git clone https://github.com/dtcooper/crazyarms.git
```3. Run the thing docker-compose wrapper script `./compose.sh` to configure and
pull Crazy Arms.```
cd crazyarms# This will ask you some basic questions. For local development domain
# name should be the default of "localhost"
./compose.sh pull
```If you want to change any of these settings, edit the `.env` file in the
project directory. (NOTE: A later release will have these containers built
and downloadable from [Docker Hub](https://hub.docker.com/).)(For development only, to build containers from source, run `./compose.sh build`
instead of `pull` above. This may take a while.)4. Start Crazy Arms
```
./compose.sh up -d
```5. In your web browser, go to the domain name you chose, ie .
#### [Digital Ocean](https://www.digitalocean.com/) Notes
* A 2gb + 2 CPU droplet or better is recommended if you're using Zoom, otherwise
the cheapest one will do.
* [haveged](http://www.issihosts.com/haveged/) makes docker-compose run
significantly faster:```
sudo apt-get install -y haveged
```#### Apple M1 Chipset Notes (aarch64)
It works with the [Docker for Mac Apple M1
preview](https://docs.docker.com/docker-for-mac/apple-m1/)!
However, native `aarch64` containers are not provided, so you'll need to build
them from source (`./compose.sh build` instead of `pull`). The Zoom container
will need to emulate amd64.## Liquidshop 1.0 Slide Deck
Here's [a slide deck](https://docs.google.com/presentation/d/18K1RagpDW79u086r2EV_ysAzFR9gkGJiZTk1cOZCUTg/edit?usp=sharing)
about Crazy Arms from the [Liquidshop 1.0](https://liquidsoap.info/liquidshop) conference
giving a high level overview and some of the technical approaches taken.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
for details.