A docker image for Icecast based on Alpine Linux and without root process
From icecast.org:
Icecast is a streaming media (audio/video) server which currently supports Ogg (Vorbis and Theora), Opus, WebM and MP3 streams. It can be used to create an Internet radio station or a privately running jukebox and many things in between. It is very versatile in that new formats can be added relatively easily and supports open standards for communication and interaction.
Icecast is distributed under the GNU GPL, version 2.
docker run \
--detach \
--interactive \
--name icecast \
--user $(id -u):$(id -g) \
#--volume ./config:/config \
--volume /etc/localtime:/etc/localtime:ro \
--env TZ=Europe/Paris \
--env HOME=/config \
ghcr.io/jee-r/icecast:latest
Note: --user $(id -u):$(id -g)
should work out of the box on linux systems. If your docker host run on windows or if you want specify an other user id and group id just replace with the appropriates values.
services:
icecast:
image: ghcr.io/jee-r/icecast:latest
build:
context: .
dockerfile: Dockerfile
container_name: icecast
restart: unless-stopped
user: "1000:1000"
volumes:
# - ./config:/config
- /etc/localtime:/etc/localtime:ro
environment:
- HOME=/config
- TZ=Europe/Paris
ports:
- 8000:8000
/config
: If you mount this directory you must provide a icecast.xml
configuration file in it
By default image is running icecast with this default config.
To change the timezone of the container set the TZ
environment variable. The full list of available options can be found on Wikipedia.
You can also set the HOME
environment variable this is usefull to get in the right directory when you attach a shell in your docker container.
By default access and error logs are binded to STDOUT
and STDERR
so you can easily show logs by running docker logs icecast
This project is under the GNU Generic Public License v3 to allow free use while ensuring it stays open.