Configuration
Majmun reads configuration from a single YAML file or from a directory. With a directory, all .yaml/.yml files
are loaded in alphabetical order into one configuration — useful for splitting playlists, clients, and rules into
separate files. A top-level key defined in a later file overrides the same key from an earlier one.
By default, it reads configuration from config.yaml in the current directory.
Single-Value Arrays
Arrays with a single value can be written without brackets (playlists: tv instead of playlists: ["tv"]).
Strict Validation
Configuration files are validated strictly: unknown fields cause an error. If you use YAML anchors, prefix the
anchor key with a dot (e.g. .my_anchor) so it isn't treated as an unknown field.
Root Level Configuration
| Field | Type | Description |
|---|---|---|
server |
Server |
Server configuration including listening addresses and public URL |
url_generator |
URL Generator |
URL generation and encryption configuration |
logs |
Logs |
Logging configuration |
proxy |
Proxy |
Stream proxy configuration for remuxing with ffmpeg |
playout |
Playout |
Settings for channels generated from local media (24/7 live TV) |
playlists |
Playlists |
Array of playlist definitions with sources and/or channels |
epgs |
EPGs |
Array of EPG definitions with sources |
channel_rules |
Channel Rules |
Global channel processing rules (applied to all channels) |
playlist_rules |
Playlist Rules |
Global playlist processing rules (applied after channel rules) |
clients |
Clients |
Array of IPTV client definitions with individual settings |