Configuration

Location

You have to provide the location of the config file by setting the environment variable CORE_CONFIGFILE to path to the config file. Example:

export CORE_CONFIGFILE=./config/config.json

The config file is written in JSON format.

A minimal valid config file must contain at least the config version:

{
    "version": 3
}

Configuration

Configuration values can be changed by either editing the config file directly, or via the JSON API (API for short) or via environment variables (ENV for short). All environment variables have the prefix CORE_ followed by the JSON names in uppercase. Example:

{
   "version": 3,
   "id": "1",
   "name": "super-core-1337",
   "address": ":8080",
   "log": {
      "level": "warn"
   }
}

Following, every field of the configuration file will be described in detail:

id (string)

ID of the Core. If not set, a UUIDv4 will be generated. Default: unset

name (string)

Human-readable name of the Core. If not set a custom name will be generated. Default: unset

address (string)

HTTP listening address. Default: :8080

The default :8080 will listen on all interfaces on port 8080. To use a specific interface, write additionally it's IP, e.g. 127.0.0.1:8080 to only listen on the loopback interface.

log

Log settings.

Logging

db

Database (processes, metadata, ...) endpoint.

Database

host

Configuration to detect or set the host-/domainname.

Hostname

api

API Security options.

API Security

tls

TLS/HTTPS settings (also required for RTMPS).

TLS / HTTPS

storage

General configuration, DiskFS, MemFS, and S3.

Storage

rtmp

RTMP server for publishing and playing streams.

RTMP

srt

SRT server for publishing and playing streams.

SRT

ffmpeg

General FFmpeg settings.

FFmpeg

session

HLS-/MPEG-DASH session management and bandwidth limitations.

Sessions

metrics

General metrics settings.

Metrics

route

HTTP/S route configuration (e.g., to inject UI's).

Router

debug

Core / Golang debugging options.

Debug

update_check (bool)

All about datarhei Update-Checks and data tracking.

{
   "update_check": true,
   "service": {
      "url": "https://service.datarhei.com"
   }
}

Check for updates and send anonymized data (default: false). Requires service.url.

service.url (string)

URL for the update_check Service API. Default: https://service.datarhei.com

About anonymizied data:

We receive: id, os architecture, uptime, process stats (total: running, failed, killed), viewer count

The data is used exclusively for the further development of the products and error detection. Domains/IP addresses, companies, and persons remain anonymous.

Last updated

Was this helpful?