and the official [Icecast docs](https://www.icecast.org/docs/icecast-trunk/). In
addition to the basic setup, some settings have to be changed for my needs.
## TLS setup
If you didn't use the UberLab guide, all Icecast access might be unencrypted!
You need to enable TLS[^2] manually by inserting the [<tls>1</tls>](https://www.icecast.org/docs/icecast-trunk/config_file/#tcp-port-settings)
in the `<listen-socket>` block of the `icecast.xml` configuration file.
Additionally, specify a `<tls-certificate>` in the [<path>](https://www.icecast.org/docs/icecast-trunk/config_file/#path-settings)
block and provide a file containing the cert and private key in sequence at the
specified location. Finally, restart Icecast server to reload new configuration.
{{<callouttype="info">}}
If Icecast refuses to start, increase the [logging level](#logging-level),
analyze the logfiles and check if it has been compiled against
[OpenSSL](https://www.openssl.org/).
{{</callout>}}
## Fallback mount
Listeners can only play streams while a source client is streaming. In order to
offer static media while there's no source client connected, a [fallback mount](https://www.icecast.org/docs/icecast-trunk/config_file/#mount-specific-settings)
can be used. I edit the `icecast.xml` config file and insert:
```xml
<mounttype="normal">
<mount-name>/stream.ogg</mount-name>
<fallback-mount>/file.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<bitrate>192</bitrate>
<type>application/ogg</type>
<subtype>vorbis</subtype>
</mount>
```
Change `/file.ogg` to fit your needs. The provided file should have the same
encoding parameters (for example: 192 kbps CBR[^3]) to prevent listener dropouts and must exist in Icecast's webroot to be accessible. [Fileserving](https://www.icecast.org/docs/icecast-trunk/config_file/#general-settings)
must also be activated. (Enabled by default.)
## No-cache
Applications playing streams may automatically cache data. This behaviour can
lead to looping or aborting media when a fallback override
(source client connection) is happening. Using the following [HTTP headers](https://www.icecast.org/docs/icecast-trunk/config_file/#http-headers)
configuration in `icecast.xml` the caching can be disabled:
For a maximum privacy of the listeners log files need to be discarded. Icecast's [logging](https://www.icecast.org/docs/icecast-trunk/config_file/#logging-settings)
cannot be disabled, but written to a Null device[^4]. This can be done by
removing the standard log files `access.log` and `error.log` and creating