Skip to main content
Version: Latest

Sofie Core: System Configuration

Sofie Core is configured at it's most basic level using a settings file and environment variables.

Environment Variables

SettingUseDefault valueExample
METEOR_SETTINGSContents of settings file (see below)$(cat settings.json)
TZThe default time zone of the server (used in logging)Europe/Amsterdam
MAIL_URLEmail server to use. See https://docs.meteor.com/api/email.htmlsmtps://USERNAME:PASSWORD@HOST:PORT
LOG_TO_FILEFile path to log to file/logs/core/

Settings File

The settings file is an optional JSON file that contains some configuration settings for how the Sofie Core works and behaves.

To use a settings file:

  • During development: meteor --settings settings.json
  • During prod: environment variable (see above)

The structure of the file allows for public and private fields. At the moment, Sofie only uses public fields. Below is an example settings file:

{
"public": {
"frameRate": 25
}
}

There are various settings you can set for an installation. See the list below:

Field nameUseDefault value
defaultToCollapsedSegmentsShould all segments be collapsed by default, until the user expands themfalse
autoRewindLeavingSegmentShould segments be automatically rewound after they stop playingfalse
disableBlurBorderShould a border be displayed around the Rundown View when it's not in focus and studio mode is enabledfalse
defaultTimeScaleAn arbitrary number, defining the default zoom factor of the Timelines1
allowGrabbingTimelineCan Segment Timelines be grabbed to scroll them?true
enableUserAccountsEnables User Accounts and Authentication. If disabled, all user stations will be treated as a single, anonymous userfalse
defaultDisplayDurationThe fallback duration of a Part, when it's expectedDuration is 0. __In milliseconds3000
allowMultiplePlaylistsInGUIIf true, allows creation of new playlists in the Lobby Gui (rundown list). If false; only pre-existing playlists are allowed.false
followOnAirSegmentsHistoryHow many segments of history to show when scrolling back in time (0 = show current segment only)0
maximumDataAgeClean up stuff that are older than this [ms])100 days
poisonKeyEnable the use of poison key if present and use the key specified.'Escape'
enableNTPTimeCheckerIf set, enables a check to ensure that the system time doesn't differ too much from the speficied NTP server time.null
defaultShelfDisplayOptionsDefault value used to toggle Shelf options when the 'display' URL argument is not provided.buckets,layout,shelfLayout,inspector
enableKeyboardPreviewThe KeyboardPreview is a feature that is not implemented in the main Fork, and is kept here for compatibilityfalse
keyboardMapLayoutKeyboard map layout (what physical layout to use for the keyboard)STANDARD_102_TKL
customizationClassNameCSS class applied to the body of the page. Used to include custom implementations that differ from the main Fork.undefined
useCountdownToFreezeFrameIf true, countdowns of videos will count down to the last freeze-frame of the video instead of to the end of the videotrue
confirmKeyCodeWhich keyboard key is used as "Confirm" in modal dialogs etc.'Enter'
info

The exact definition for the settings can be found in the code here.