Giter Site home page Giter Site logo

moul / docker-icecast Goto Github PK

View Code? Open in Web Editor NEW
112.0 11.0 71.0 39 KB

:radio: Icecast 2 in Dockerfile (Docker container, compatible with liquidsoap)

Home Page: https://manfred.life/docker-icecast

License: Other

XSLT 85.16% CSS 12.10% Shell 1.32% Dockerfile 1.42%

docker-icecast's Introduction

Icecast in Docker Build Status

Icecast2 Dockerfile

Run

Run with default password, export port 8000

docker run -p 8000:8000 moul/icecast
$BROWSER localhost:8000

Run with custom password

docker run -p 8000:8000 -e ICECAST_SOURCE_PASSWORD=aaaa -e ICECAST_ADMIN_PASSWORD=bbbb -e ICECAST_PASSWORD=cccc -e ICECAST_RELAY_PASSWORD=dddd -e ICECAST_HOSTNAME=noise.example.com moul/icecast

Run with custom configuration

docker run -p 8000:8000 -v /local/path/to/icecast/config:/etc/icecast2 moul/icecast
docker run -p 8000:8000 -v /local/path/to/icecast.xml:/etc/icecast2/icecast.xml moul/icecast

Extends Dockerfile

FROM moul/icecast
ADD ./icecast.xml /etc/icecast2

Docker-compose

icecast:
  image: moul/icecast
  volumes:
  - logs:/var/log/icecast2
  - /etc/localtime:/etc/localtime:ro
  environment:
  - ICECAST_SOURCE_PASSWORD=aaa
  - ICECAST_ADMIN_PASSWORD=bbb
  - ICECAST_PASSWORD=ccc
  - ICECAST_RELAY_PASSWORD=ddd
  - ICECAST_HOSTNAME=noise.example.com
  ports:
  - 8000:8000

Examples

License

MIT

docker-icecast's People

Contributors

ashmartian avatar chaosbunker avatar hanwin avatar moul avatar renovate-bot avatar roelmeijer avatar spameier avatar sysdef avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-icecast's Issues

`docker run` without environment variables fails.

The following error appears when not setting any environment variables:

host:~$ sudo docker run -p 8000:8000 moul/icecast
HOSTNAME=0db942a3e23d
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DEBIAN_FRONTEND=noninteractive
PWD=/
+ set_val source-password
+ [ -n  ]
+ echo ERROR: setting for 'source-password' is missing!
ERROR: setting for 'source-password' is missing!
+ exit

This is due to PR #5 where the functions exits instead of doing nothing when no environment var is set.

`docker build` fails

The build fails due to apt -qq -y update not being executed due to a wild set at the start of the first RUN statement. As an extra apt reports not having a stable api so we should use apt-get instead.

host:~/code/docker-icecast$ sudo docker build -t moul/icecast .
Sending build context to Docker daemon  184.3kB
Step 1/9 : FROM debian:stable-slim
 ---> eb0fd6cc5570
Step 2/9 : MAINTAINER Manfred Touron "[email protected]"
 ---> Using cache
 ---> ff0503edc64b
Step 3/9 : ENV DEBIAN_FRONTEND noninteractive
 ---> Using cache
 ---> 8d29c21935a1
Step 4/9 : RUN set +   apt -qq -y update;   apt -qq -y full-upgrade;   apt -qq -y install icecast2 python-setuptools sudo cron-apt;   apt -y autoclean;   apt clean;   chown -R icecast2 /etc/icecast2;   sed -i 's/ -d//' /etc/cron-apt/action.d/3-download
 ---> Running in 8dd834f1f9c3

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

E: Unable to locate package icecast2
E: Unable to locate package python-setuptools
E: Unable to locate package sudo
E: Unable to locate package cron-apt

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

chown: invalid user: 'icecast2'
sed: can't read /etc/cron-apt/action.d/3-download: No such file or directory
The command '/bin/sh -c set +   apt -qq -y update;   apt -qq -y full-upgrade;   apt -qq -y install icecast2 python-setuptools sudo cron-apt;   apt -y autoclean;   apt clean;   chown -R icecast2 /etc/icecast2;   sed -i 's/ -d//' /etc/cron-apt/action.d/3-download' returned a non-zero code: 2

config icecast.xml

I've modified icecast.xml file to create custom a mount point, change the hostname, location, etc.

Tried /etc/init.d/icecast2 reload but nothing changes on /admin/stats.xsl.

Also tried /etc/init.d/icecast2 restart and get the following errors

[2018-06-05 11:28:10] EROR connection/connection_setup_sockets Could not create listener socket on port 8000 [2018-06-05 11:28:10] EROR connection/connection_setup_sockets Could not create listener socket on port 8001 [2018-06-05 11:28:10] EROR connection/connection_setup_sockets No listening sockets established Server startup failed. Exiting

to many logs with "WARN stdout: event was rejected"

Hi, i have problem with running icecast container. It generate lot of logs:

root@uran:~# docker logs --tail 10 Radio1-icecast1 
2017-08-15 23:37:34,013 WARN stdout: event was rejected
2017-08-15 23:37:34,013 WARN stdout: event was rejected
2017-08-15 23:37:34,013 WARN stdout: event was rejected
2017-08-15 23:37:34,013 WARN stdout: event was rejected
2017-08-15 23:37:34,014 WARN stdout: event was rejected
2017-08-15 23:37:34,014 WARN stdout: event was rejected
2017-08-15 23:37:34,014 WARN stdout: event was rejected
2017-08-15 23:37:34,014 WARN stdout: event was rejected
2017-08-15 23:37:34,014 WARN stdout: event was rejected
2017-08-15 23:37:34,015 WARN stdout: event was rejected

Container is running with Docker-compose example from readme (without logs volume).
Thanks for help solve this issue.

Docker version 17.06.0-ce, build 02c1d87

Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.3 LTS
Release:	16.04
Codename:	xenial

Docker Compose File Issues

Hello!
I am trying to use your docker compose file and am running into issues.

I had to add --- and services: to the top of the file, then indent icecast and all the - values after to get the compose to function as expected.
Once the compose file was functional, there was an issue in launching the container:

2022-09-28T14:26:47.479555159Z FATAL: could not open error logging (/var/log/icecast2/error.log): Permission denied
2022-09-28T14:26:47.479595516Z FATAL: could not open access logging (/var/log/icecast2/access.log): Permission denied
2022-09-28T14:26:47.479605280Z FATAL: Could not start logging

When I looked at the ownership of the log folder, it was root. I tried to chown it to my user and restart but it didn't correct the error. After that, I deleted the folder and tried adding PUID and GUID values for my user to the compose file, but the folder created was still owned by root and the same error persisted. My compose file is shown below:

---
services:
  icecast:
    image: moul/icecast
    container_name: icecast
    volumes:
      - ./logs:/var/log/icecast2
      - /etc/localtime:/etc/localtime:ro
    environment:
      - PUID=1000
      - GUID=1000
      - ICECAST_SOURCE_PASSWORD=aaa
      - ICECAST_ADMIN_PASSWORD=bbb
      - ICECAST_PASSWORD=ccc
      - ICECAST_RELAY_PASSWORD=ddd
      - ICECAST_HOSTNAME=10.10.1.14
    ports:
      - 8003:8000

I have a folder in my home directory called icecast so the log folder is being created as a subdirectory of that /home/rastacalavera/icecast/logs

Any ideas on where this permission issue may be holding things up?

Add SSL Options

It would be nice to be able to mount a volume containing SSL certificates and specify where to find them using an environment variable.

404 error on status-json.xsl

Hey, I reach a 404 error when I try to access to http://streamurl.fr/status-json.xsl:

404 - Could not parse XSLT file

In the error log I get this line:

[2020-09-10 13:08:25] EROR xslt/xslt_transform problem reading stylesheet "/etc/icecast2/web/status-json.xsl"

And sometimes there is more errors before:

[2020-09-10 13:03:28] WARN I/O
[2020-09-10 13:03:28] WARN warning :
[2020-09-10 13:03:28] WARN failed to load external entity "/etc/icecast2/web/xml2json.xslt"
[2020-09-10 13:03:28] WARN compilation error: file /etc/icecast2/web/status-json.xsl line 2 element import
[2020-09-10 13:03:28] WARN xsl:import : unable to load /etc/icecast2/web/xml2json.xslt
[2020-09-10 13:03:28] EROR xslt/xslt_transform problem reading stylesheet "/etc/icecast2/web/status-json.xsl"

I tried to make a symbolic link of /usr/share/icecast2/web/xml2json.xslt in /etc/icecast2/web/xml2json.xslt but still no change.
The config I use is the same that I previously used on a dedicated icecast server and it worked well.

Any idea ?

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

dockerfile
Dockerfile

  • Check this box to trigger a request for Renovate to run again on this repository

Update to IceCast 2.4.4

Hi,

I would love seeing Icecast updated to latest version 2.4.4 ...

Do you have any plans on this?

Regards,

Alex

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.