diff --git a/README.md b/README.md index d0b316a..dcae490 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,7 @@ A collection of delicious docker recipes. - [x] cmus - [x] cmus-arm +- [x] darkice :musical_note: - [x] editly :tv: - [x] ffmpeg - [x] ffmpeg-arm diff --git a/darkice/Dockerfile b/darkice/Dockerfile new file mode 100644 index 0000000..d52d4fc --- /dev/null +++ b/darkice/Dockerfile @@ -0,0 +1,13 @@ +# +# Dockerfile for darkice +# + +FROM debian:bullseye +MAINTAINER EasyPi Software Foundation + +RUN set -xe \ + && apt update -y \ + && apt install -y darkice \ + && rm -rf /var/lib/apt/lists/* + +CMD ["darkice", "-c", "/etc/darkice/darkice.cfg"] diff --git a/darkice/data/etc/darkice.cfg b/darkice/data/etc/darkice.cfg new file mode 100644 index 0000000..66fe6b9 --- /dev/null +++ b/darkice/data/etc/darkice.cfg @@ -0,0 +1,42 @@ +# sample DarkIce configuration file, edit for your needs before using +# see the darkice.cfg man page for details + +# this section describes general aspects of the live streaming session +[general] +duration = 0 # duration of encoding, in seconds. 0 means forever +bufferSecs = 5 # size of internal slip buffer, in seconds +reconnect = yes # reconnect to the server(s) if disconnected +realtime = yes # run the encoder with POSIX realtime priority +rtprio = 3 # scheduling priority for the realtime threads + +# this section describes the audio input that will be streamed +[input] +device = hw:1,0 # OSS DSP soundcard device for the audio input +sampleRate = 16000 # sample rate in Hz. try 11025, 22050 or 44100 +bitsPerSample = 16 # bits per sample. try 16 +channel = 2 # channels. 1 = mono, 2 = stereo + +# this section describes a streaming connection to an IceCast2 server +# there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7] +# these can be mixed with [icecast-x] and [shoutcast-x] sections +[icecast2-0] +bitrateMode = abr # average bit rate +format = vorbis # format of the stream: ogg vorbis +bitrate = 96 # bitrate of the stream sent to the server +server = icecast + # host name of the server +port = 8000 # port of the IceCast2 server, usually 8000 +# source password to the IceCast2 server +password = hackme +# there must not be a comment following the password +mountPoint = live.ogg # mount point of this stream on the IceCast2 server +name = Untitled Song + # name of the stream +description = Various Artists + # description of the stream +url = http://icecast.easypi.tv/live.ogg + # URL related to the stream +genre = Live # genre of the stream +public = yes # advertise this stream? +localDumpFile = /var/lib/darkice/live.ogg + # local dump file diff --git a/darkice/docker-compose.yml b/darkice/docker-compose.yml new file mode 100644 index 0000000..9a295a5 --- /dev/null +++ b/darkice/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.8" + +services: + darkice: + image: vimagick/darkice + volumes: + - ./data/etc:/etc/darkice + - ./data/var:/var/lib/darkice + restart: unless-stopped + +networks: + default: + external: true + name: icecast_default