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.
-
Install Docker and docker-compose. On macOS, install Docker for Mac. 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
-
Clone Crazy Arms,
git clone https://github.com/dtcooper/crazyarms.git
-
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.)(For development only, to build containers from source, run
./compose.sh build
instead ofpull
above. This may take a while.) -
Start Crazy Arms
./compose.sh up -d
-
In your web browser, go to the domain name you chose, ie http://localhost/.
Digital Ocean Notes
-
A 2gb + 2 CPU droplet or better is recommended if you're using Zoom, otherwise the cheapest one will do.
-
haveged makes docker-compose run significantly faster:
sudo apt-get install -y haveged
It works with the Docker for Mac Apple M1
preview!
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.
Here's a slide deck about Crazy Arms from the Liquidshop 1.0 conference giving a high level overview and some of the technical approaches taken.
This project is licensed under the MIT License - see the LICENSE file for details.