Setup Icecast in 5 Steps

1. Install applications:

Icecast2 plus at least one of the following: Ices2 for Ogg Vorbis live streams.
Darkice for mp3 live streams. Ices for streaming mp3 playlists.

2. Edit Icecast configuration:

Open the file ‘/etc/icecast2/icecast.xml’ as root in an editor. In the <authentication> section set your password for administration of the Icecast server (if only for local streaming it is safe to leave it unchanged):

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>

Note: If you decide to stream over the Internet you may also want to change the <source-password> or <relay-password> here. For local streaming the default passwords can safely be used. These are already set in the attached ices-s2ip.xml, darkice-s2ip.cfg, or ices-s2ip.conf files. Change it there only when you use a different password! Remove the comment (#) after the password in case Darkice fails to start.

When running system-wide the icecast.xml  file needs read permissions for the user who runs stream2ip to enable updating of metatags.

In case Stream2ip does not detect a system wide running Icecast server it will start Icecast2 in userspace with options given in ~/.config/stream2ip/icecast.xml.

3. Edit /etc/default/icecast2 file

To enable a system wide Icecast2 server the last line must be changed to

ENABLE=true

Reboot to start the Icecast server system-wide.

4. Configure Darkice, Ices, or Ices2:

Configuration files will be located in ~/.config/stream2ip after the first startup in “Internet Radio” mode. You may adapt these settings to your needs. Default examples can also be found in /usr/share/doc/<application>. The following configuration files are provided to  to use with stream2ip and pulseaudio:

Darkice uses ~/.stream2ip/darkice-s2ip.cfg
Ices2 use ~/.stream2ip/ices-s2ip.xml
Ices uses ~/.stream2ip/ices-s2ip.conf

You may want to test the Icecast server and run it in a terminal (no root needed) with:

/etc/init.d/icecast2 start # start Icecast
ices2 <path>/config.xml # for ogg live streams
ices -c <path>/config.conf –F <path>/playlist.m3u # for playlist
darkice -c <path>/config.cfg # for mp3 live stream
5. Tune your internet radio

On the receiver side your radio “station” can now be accessed as

<localhost>:8000/stream2ip.mp3 # or .m3u, .ogg for Ices2

where <localhost>is the IP of your Icecast server. The name of the stream file depends on the settings in Darkice, Ices2, or Ices. If the client expects .mp3 instead of .m3u please edit the darkice-s2ip.cfg file.

Unfortunately some internet radio services running on a client do not allow custom radio stations.