Skip to content

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.

majmun -config ./config.yaml # from file
majmun -config ./config      # from 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