{"id":20984711,"url":"https://github.com/dtcooper/crazyarms","last_synced_at":"2025-05-14T17:31:05.731Z","repository":{"id":50369855,"uuid":"299757434","full_name":"dtcooper/crazyarms","owner":"dtcooper","description":"Crazy Arms Radio Backend. Playout software for the modern, fully de-centralized station.","archived":false,"fork":false,"pushed_at":"2022-11-21T20:00:10.000Z","size":4545,"stargazers_count":24,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-10T06:04:21.698Z","etag":null,"topics":["django","docker","docker-compose","huey","icecast","jinja2","liquidsoap","nchan","nginx","nginx-rtmp","python","radio-automation"],"latest_commit_sha":null,"homepage":"https://dtcooper.github.io/crazyarms","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dtcooper.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-29T23:04:10.000Z","updated_at":"2024-09-10T21:14:15.000Z","dependencies_parsed_at":"2023-01-23T13:01:02.795Z","dependency_job_id":null,"html_url":"https://github.com/dtcooper/crazyarms","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtcooper%2Fcrazyarms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtcooper%2Fcrazyarms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtcooper%2Fcrazyarms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtcooper%2Fcrazyarms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dtcooper","download_url":"https://codeload.github.com/dtcooper/crazyarms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254194784,"owners_count":22030429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","docker","docker-compose","huey","icecast","jinja2","liquidsoap","nchan","nginx","nginx-rtmp","python","radio-automation"],"created_at":"2024-11-19T05:54:18.731Z","updated_at":"2025-05-14T17:31:00.717Z","avatar_url":"https://github.com/dtcooper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crazy Arms Radio Backend \u0026mdash; :zany_face: :mechanical_arm: :radio: :woman_technologist:\n\nCrazy Arms Radio Backend is a flexible and fully featured Internet radio back-end\nwritten from the ground up.\n\nIt's specifically written after its author built a few _fully decentralized_\nonline radio stations with varying types of scheduling and finding no existing\nproduct fit some common needs out of the box.\n\nRead the [documentation for Crazy Arms here](https://dtcooper.github.io/crazyarms).\n\n\n## Quickstart\n\n1. Install [Docker](https://www.docker.com/) and\n    [docker-compose](https://docs.docker.com/compose/). On macOS, install\n    [Docker for Mac](https://docs.docker.com/docker-for-mac/install/).\n    On Debian/Ubuntu do the following:\n\n    ```\n    # Install Docker (Linux instructions only)\n    curl -fsSL https://get.docker.com | sh\n\n    # and docker-compose\n    sudo curl \\\n        -L \"https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)\" \\\n        -o /usr/local/bin/docker-compose\n    sudo chmod +x /usr/local/bin/docker-compose\n\n    # (If you're a non-root user)\n    sudo adduser \"$USER\" docker\n    # Log back in and out, to make sure you're in the docker group\n    ```\n\n2. Clone Crazy Arms,\n\n    ```\n    git clone https://github.com/dtcooper/crazyarms.git\n    ```\n\n3. Run the thing docker-compose wrapper script `./compose.sh` to configure and\n    pull Crazy Arms.\n\n    ```\n    cd crazyarms\n\n    # This will ask you some basic questions. For local development domain\n    # name should be the default of \"localhost\"\n    ./compose.sh pull\n    ```\n\n    If you want to change any of these settings, edit the `.env` file in the\n    project directory. (NOTE: A later release will have these containers built\n    and downloadable from [Docker Hub](https://hub.docker.com/).)\n\n    (For development only, to build containers from source, run `./compose.sh build`\n    instead of `pull` above. This may take a while.)\n\n4. Start Crazy Arms\n\n    ```\n    ./compose.sh up -d\n    ```\n\n5. In your web browser, go to the domain name you chose, ie \u003chttp://localhost/\u003e.\n\n#### [Digital Ocean](https://www.digitalocean.com/) Notes\n\n* A 2gb + 2 CPU droplet or better is recommended if you're using Zoom, otherwise\n  the cheapest one will do.\n* [haveged](http://www.issihosts.com/haveged/) makes docker-compose run\n    significantly faster:\n\n    ```\n    sudo apt-get install -y haveged\n    ```\n\n#### Apple M1 Chipset Notes (aarch64)\n\nIt works with the [Docker for Mac Apple M1\npreview](https://docs.docker.com/docker-for-mac/apple-m1/)!\nHowever, native `aarch64` containers are not provided, so you'll need to build\nthem from source (`./compose.sh build` instead of `pull`). The Zoom container\nwill need to emulate amd64.\n\n## Liquidshop 1.0 Slide Deck\n\nHere's [a slide deck](https://docs.google.com/presentation/d/18K1RagpDW79u086r2EV_ysAzFR9gkGJiZTk1cOZCUTg/edit?usp=sharing)\nabout Crazy Arms from the [Liquidshop 1.0](https://liquidsoap.info/liquidshop) conference\ngiving a high level overview and some of the technical approaches taken.\n\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file\nfor details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtcooper%2Fcrazyarms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdtcooper%2Fcrazyarms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtcooper%2Fcrazyarms/lists"}