▮ Operate

Configuration

Everything is configured through environment variables, no config file required. Sensible defaults work out of the box.

Environment variables

MUXSHED_LISTEN_ADDR   # default 0.0.0.0:8080, web UI + API
MUXSHED_RTMP_PORT     # default 1935, RTMP ingest
MUXSHED_SRT_PORT_START# default 9000, SRT ingest
MUXSHED_DB_PATH       # default muxshed.db, SQLite database
MUXSHED_DATA_DIR      # default data, recordings, HLS, assets
MUXSHED_WEB_DIR       # path to built web UI (set in the image)
MUXSHED_LOG_LEVEL     # default info, trace|debug|info|warn|error

In the container these point at the /config volume, so all state persists there:

MUXSHED_DB_PATH=/config/muxshed.db
MUXSHED_DATA_DIR=/config

Persistence

All configuration lives in a single SQLite database, sources, scenes, destinations, overlays, API keys and your channel settings. Back up /config and you've backed up everything.

API keys

First run generates an admin account and an API key. Use it for the Stream Deck plugin or any external automation:

curl -H "X-API-Key: YOUR_KEY" http://localhost:8080/api/v1/status
Treat the API key like a password, it has full control of the instance.