{"id":29356037,"url":"https://github.com/danopcode/icecast-server-setup","last_synced_at":"2025-07-09T04:09:49.504Z","repository":{"id":13845622,"uuid":"16542822","full_name":"DanOpcode/icecast-server-setup","owner":"DanOpcode","description":"Set up Icecast on Debian Wheezy with Liquidsoap as a source and Opus support","archived":false,"fork":false,"pushed_at":"2014-08-22T11:05:03.000Z","size":172,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-16T05:06:00.979Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","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/DanOpcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2014-02-05T11:26:14.000Z","updated_at":"2017-08-24T21:25:43.000Z","dependencies_parsed_at":"2022-09-23T15:50:35.817Z","dependency_job_id":null,"html_url":"https://github.com/DanOpcode/icecast-server-setup","commit_stats":null,"previous_names":["danopcode/icecast-server-setup"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DanOpcode/icecast-server-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanOpcode%2Ficecast-server-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanOpcode%2Ficecast-server-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanOpcode%2Ficecast-server-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanOpcode%2Ficecast-server-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanOpcode","download_url":"https://codeload.github.com/DanOpcode/icecast-server-setup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanOpcode%2Ficecast-server-setup/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264390707,"owners_count":23600564,"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":[],"created_at":"2025-07-09T04:09:48.168Z","updated_at":"2025-07-09T04:09:49.497Z","avatar_url":"https://github.com/DanOpcode.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Icecast Server Setup\n\nAuthor: Daniel \"MaTachi\" Jonsson  \nLicense: [MIT License](LICENSE)\n\n## Features:\n\n* **Distribution:** Ubuntu 14.04\n* **Server:** Icecast2.3.3-kh10\n* **Source:** Liquidsoap\n* **Audio codec:** It's set up to stream in Opus. However, Vorbis works fine\n  too.\n\n## Setup\n\n    $ sudo docker build -t matachi/icecast .\n\n## Run\n\n    $ sudo docker run -i -t -p 127.0.0.1:8000:8000 matachi/icecast\n\nInside the Docker container:\n\n    $ sudo -u user icecast -b -c /home/user/icecast.xml # Start Icecast\n    $ sudo -u user liquidsoap /home/user/liquidsoap.conf \u0026 # Start Liquidsoap\n    $ sudo -u user python3 /home/user/auth.py # Start authentication site\n\nNext, open Firefox, Clementine, VLC, or any other program that is able to play\nan Ogg Opus audio stream. Then open \u003chttp://127.0.0.1:8000/stream.opus\u003e and\nenjoy!\n\n## About and what it does\n\nThe mount point `/stream.opus` has url authentication turned on. The\nauthentication's `listener_add` value points to `http://127.0.0.1:5000/auth`.\nAt that port there is a local Python 3 Flask site running, started with\n`python3 /home/auth.py` from inside the Docker container. Note that this site\nwon't be reachable from outside the Docker container. The Flask site will\nalways return the HTTP response \"200 OK\" along with the HTTP header\n`icecast-auth-user = 1`. So the listener who connects to the stream will always\nget authenticated. However, the site could, before returning the response,\nlaunch Liquidsoap if it isn't already playing a track (Not implemented yet).\nThis means that if there are no listeners, Liquidsoap could safely be turned\noff, consuming no CPU cycles required for encoding the music to the stream. In\nother words, if the Python code is extended further, it could turn off the\nencoding to the stream if there are no listeners.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanopcode%2Ficecast-server-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanopcode%2Ficecast-server-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanopcode%2Ficecast-server-setup/lists"}