2
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2025-12-24 14:31:51 +01:00

add ices-arm

This commit is contained in:
vimagick
2017-03-06 00:40:01 +08:00
parent fb634d2d92
commit 265261fbf1
4 changed files with 137 additions and 0 deletions

11
ices-arm/Dockerfile Normal file
View File

@@ -0,0 +1,11 @@
#
# Dockerfile for ices-arm
#
FROM easypi/alpine-arm
MAINTAINER EasyPi Software Foundation
RUN apk add --no-cache ices
CMD ["ices", "/etc/ices.xml"]

79
ices-arm/README.md Normal file
View File

@@ -0,0 +1,79 @@
ices
====
[IceS][1] is a source client for the Icecast streaming server. The purpose of this
client is to provide an audio stream to Icecast, so that one or more listeners
can access the stream. With this layout, the source client can be situated
remotely from the Icecast server.
How It Works
------------
```
+-> (LAN) -> (icecast) -+
(in) -> (ices) -| |-> (out) -> (mpd) -> (file)
+-> (WAN) -> (icecast) -+
```
docker-compose.yml
------------------
```yaml
ices:
image: easypi/ices-arm
volumes:
- ./ices.xml:/etc/ices.xml
devices:
- /dev/snd
links:
- icecast
restart: always
icecast:
image: easypi/icecast-arm
ports:
- "8000:8000"
restart: always
```
ices.xml
--------
```xml
<?xml version="1.0"?>
<ices>
<background>0</background>
<loglevel>4</loglevel>
<consolelog>1</consolelog>
<pidfile>/var/run/ices.pid</pidfile>
<stream>
<metadata>
<name>Example stream name</name>
<genre>Example genre</genre>
<description>A short description of your stream</description>
<url>http://easypi.info</url>
</metadata>
<input>
<module>alsa</module>
<param name="rate">44100</param>
<param name="channels">1</param>
<param name="device">hw:1,0</param>
</input>
<instance>
<hostname>icecast</hostname>
<port>8000</port>
<password>hackme</password>
<mount>/live.ogg</mount>
<encode>
<quality>0</quality>
<samplerate>44100</samplerate>
<channels>1</channels>
</encode>
</instance>
</stream>
</ices>
```
> You can setup multiple `instances` (e.g. LAN & WAN).
[1]: http://icecast.org/ices/

View File

@@ -0,0 +1,15 @@
ices:
image: easypi/ices-arm
volumes:
- ./ices.xml:/etc/ices.xml
devices:
- /dev/snd
links:
- icecast
restart: always
icecast:
image: easypi/icecast-arm
ports:
- "8000:8000"
restart: always

32
ices-arm/ices.xml Normal file
View File

@@ -0,0 +1,32 @@
<?xml version="1.0"?>
<ices>
<background>0</background>
<loglevel>4</loglevel>
<consolelog>1</consolelog>
<pidfile>/var/run/ices.pid</pidfile>
<stream>
<metadata>
<name>Example stream name</name>
<genre>Example genre</genre>
<description>A short description of your stream</description>
<url>http://easypi.info</url>
</metadata>
<input>
<module>alsa</module>
<param name="rate">44100</param>
<param name="channels">1</param>
<param name="device">hw:1,0</param>
</input>
<instance>
<hostname>icecast</hostname>
<port>8000</port>
<password>hackme</password>
<mount>/live.ogg</mount>
<encode>
<quality>0</quality>
<samplerate>44100</samplerate>
<channels>1</channels>
</encode>
</instance>
</stream>
</ices>