Skip to content

jee-r/docker-icecast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Icecast docker image

Docker Image Size (latest by date) GitHub Workflow Status (branch) Docker Pulls DockerHub ghcr.io

A docker image for Icecast based on Alpine Linux

Multi-architecture support: linux/amd64, linux/arm64, linux/arm/v7

Available tags:

  • latest - Latest stable release
  • <major>, <major>.<minor>, <major>.<minor>.<patch> - Icecast semantic versions (e.g., 2, 2.5, 2.5.0)
  • dev - Development branch
  • <commit-sha> - Specific commit

The container can run without root process (see --user flag in examples below).

What is Icecast

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.

How to use this image

With Docker / Podman

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 \
    --publish 8000:8000 \
    ghcr.io/jee-r/icecast:latest

Notes:

  • --user $(id -u):$(id -g) should work out of the box on Linux systems. If your host runs on Windows or if you want to specify another user/group ID, replace with the appropriate values.
  • Replace docker with podman if using Podman. For better security, consider running Podman in rootless mode.

With Docker Compose

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

Volumes

/config: If you mount this directory, you must provide an icecast.xml configuration file in it.

Configuration

By default, the image runs Icecast with this default config.

Environment variables

  • TZ: Timezone for the container (default: UTC). See the full list on Wikipedia.
  • HOME: Useful to set the working directory when attaching a shell to the container.

Logs

By default, access and error logs are bound to STDOUT and STDERR, so you can view them with:

docker logs icecast
# or
podman logs icecast

License

This project is under the GNU Generic Public License v3 to allow free use while ensuring it stays open.

Packages

 
 
 

Contributors 3

  •  
  •  
  •