StreamMachine uses Flatiron's nconf to load in its configuration. That means that configuration can be set via a JSON config file, environment variables or command line options.
For typical production settings, though, a config file will be your best choice. The config file must be valid JSON, so watch your commas, your quoted keys, etc.
What port should we listen on for end-user connections?
What port should we listen on for Icecast source connections?
Configures the master mode's master port and slave listening.
Tells the slave mode instance where to find its master.
?password=PASS, where PASS is the password set in the master section of the master server.
Configure a Redis server to use for persisting configuration changes.
The log section takes nested configuration for each possible log output. Most of the time, a value of true will turn the logging output on with the default options, while a hash value will allow you to tweak the config settings.
All logging outputs will take a
level key that determines what level of output messages will be included. Typical levels are
debug. In each case, selecting a level will also include all the levels above it (so
debug would include
event messages, etc).
true, turns console logging on. Accepts any options supported by the Winston Console transport.
Writes messages to a log file. Accepts any options supported by the Winston File transport.
Sends logging messages to a Campfire chat room.
Logs request stats to a W3C-format log file that can be read by analytics packages designed for Shoutcast log output.
Should use the
request logger level.
Log listened minutes to the Cube time series database. Each minute of listening is recorded into the database, along with some client information from the request headers.
Hardcoded to listen to the
minute logger level.
The alerts object configures alert notifications. Alerts can be sent via email, and are also sent to the normal logging system with the
Sets up the server to use email to send alert notices. Uses Nodemailer internally to send emails, so most email options and supported configurations will come from that project.