Skip to content

Warning

This page contains configuration description for Yucca 0.8.0, follow link for latest version.


title: Configuration description: Video surveillance for home and business


Configuration Yucca 0.8.0

Configuration can be done via a configuration file, command-line arguments, or environment variables. Priority when reading the configuration:

  1. file;
  2. environment variables;
  3. command line arguments.

Parameters are divided into logical sections (blocks) that correspond to the prefix in the command-line arguments and environment variables.

analytics

Collecting analytics.

enabled

Enable collecting and sending analytical data and system configuration: processor model, operating system type and version, RAM size, disk size, number of running threads. We do not collect information about the sources of the streams and other sensitive data.

Default is true

The value can be determined in one of the following ways:

  • using the launch argument: --analytics-enabled=true
  • using the environment variable: export YUCCA_ANALYTICS_ENABLED=true
  • using the configuration file:
# /opt/yucca/yucca.toml
[analytics]
enabled = true

Information about the collection is also available in the terms of use.

address

The address to which the data is being sent.

Default is https://analytics.yucca.app/

The value can be determined in one of the following ways:

  • using the launch argument: --analytics-address=https://analytics.yucca.app/
  • using the environment variable: export YUCCA_ANALYTICS_ADDRESS=https://analytics.yucca.app/
  • using the configuration file:
# /opt/yucca/yucca.toml
[analytics]
address = "https://analytics.yucca.app/"

yandex_metrika_counter_id

Yandex.Metrika Counter ID (enabled if specified).

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --analytics-yandex-metrika-counter-id=12345678
  • using the environment variable: export YUCCA_ANALYTICS_YANDEX_METRIKA_COUNTER_ID=12345678
  • using the configuration file:
# /opt/yucca/yucca.toml
[analytics]
yandex_metrika_counter_id = 12345678

yandex_metrika_webvisor

Detailed recordings of user activity on the site: mouse movement, scrolling, and clicks.

Default is false

The value can be determined in one of the following ways:

  • using the launch argument: --analytics-yandex-metrika-webvisor=true
  • using the environment variable: export YUCCA_ANALYTICS_YANDEX_METRIKA_WEBVISOR=true
  • using the configuration file:
# /opt/yucca/yucca.toml
[analytics]
yandex_metrika_webvisor = true

branding 💰

💰 Available only in Enterprise

Branding.

The path to the logo file. You can specify the http(s) URL http:// or the path on the file system file://.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --branding-app-logo=http://example.com/logo.png
  • using the environment variable: export YUCCA_BRANDING_APP_LOGO=file:///opt/yucca/logo.png
  • using the configuration file:
# /opt/yucca/yucca.toml
[branding]
app_logo = "file:///opt/yucca/logo.png"

app_title

Text in the Title field.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --branding-app-title=Yucca
  • using the environment variable: export YUCCA_BRANDING_APP_TITLE=Yucca
  • using the configuration file:
# /opt/yucca/yucca.toml
[branding]
app_title = "Yucca"

site

Link to your web-site.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --branding-site=https://yucca.app
  • using the environment variable: export YUCCA_BRANDING_SITE=https://yucca.app
  • using the configuration file:
# /opt/yucca/yucca.toml
[branding]
site = "https://yucca.app"

documentation

Link to documentation.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --branding-documentation=https://docs.yucca.app
  • using the environment variable: export YUCCA_BRANDING_DOCUMENTATION=https://docs.yucca.app
  • using the configuration file:
# /opt/yucca/yucca.toml
[branding]
documentation = "https://docs.yucca.app"

fav_icon

File path Favicon. You can specify the http(s) URL http:// or the path on the file system file://.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --branding-fav-icon=http://example.com/favicon.ico
  • using the environment variable: export YUCCA_BRANDING_FAV_ICON=file:///opt/yucca/favicon.ico
  • using the configuration file:
# /opt/yucca/yucca.toml
[branding]
fav_icon = "file:///opt/yucca/favicon.ico"

database

Connecting to the database.

type

There are 2 types of databases for storing state – sqlite3 and postgres. In small installations, sqlite3 is sufficient, and with a large number of streams, we recommend using postgres.

Default is sqlite3

The value can be determined in one of the following ways:

  • using the run argument: --database-type=sqlite3
  • using the environment variable: export YUCCA_DATABASE_TYPE=sqlite3
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
type = "sqlite3"

path

The path to the database file (only for sqlite3).

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --database-path=/opt/yucca/server/state.db
  • using the environment variable: export YUCCA_DATABASE_PATH=/opt/yucca/server/state.db
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
path = "/opt/yucca/server/state.db"

host

The address of the database connection (only for postgres).

Default is 127.0.0.1:5432

The value can be determined in one of the following ways:

  • using the startup argument: --database-host=127.0.0.1:5432
  • using the environment variable: export YUCCA_DATABASE_HOST=127.0.0.1:5432
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
host = "127.0.0.1:5432"

name

Name of the database (only for postgres).

Default is yucca

The value can be determined in one of the following ways:

  • using the launch argument: --database-name=yucca
  • using the environment variable: export YUCCA_DATABASE_NAME=yucca
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
name = "yucca"

user

The name of the user to connect to (postgres only).

Default is postgres

The value can be determined in one of the following ways:

  • using the launch argument: --database-user=postgres
  • using the environment variable: export YUCCA_DATABASE_USER=postgres
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
user = "postgres"

password

The user's password for the connection (only for postgres).

Default is postgres

The value can be determined in one of the following ways:

  • using the startup argument: --database-password=postgres
  • using the environment variable: export YUCCA_DATABASE_PASSWORD=postgres
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
password = "postgres"

ssl_mode

Use SSL (encrypted connection) when connecting (only for postgres). Possible values: disable, require,verify-full).

Default is disable

The value can be determined in one of the following ways:

  • using the startup argument: --database-ssl-mode=disable
  • using the environment variable: export YUCCA_DATABASE_SSL_MODE=disable
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
ssl_mode = "disable"

busy_timeout

Timeout in seconds to wait for the SQLite table to be unlocked (only for sqlite3).

Default is 500

The value can be determined in one of the following ways:

  • using the startup argument: --database-busy-timeout=500
  • using the environment variable: export YUCCA_DATABASE_BUSY_TIMEOUT=500
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
busy_timeout = 500

ca_cert_path

The path to the certificate authority (CA) certificate if SSL is used (only for postgres).

Default is /etc/ssl/certs

The value can be determined in one of the following ways:

  • using the startup argument: --database-ca-cert-path=/etc/ssl/certs
  • using the environment variable: export YUCCA_DATABASE_CA_CERT_PATH=/etc/ssl/certs
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
ca_cert_path = "/etc/ssl/certs"

client_cert_path

The path to the file with the certificate in the case of using SSL (only for postgres).

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --database-client-cert-path=/opt/yucca/ssl/cert.crt
  • using the environment variable: export YUCCA_DATABASE_CLIENT_CERT_PATH=/opt/yucca/ssl/cert.crt
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
client_cert_path = "/opt/yucca/ssl/cert.crt"

client_key_path

The path to the file with the key in the case of using SSL (only for postgres).

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --database-client-key-path=/opt/yucca/ssl/cert.key
  • using the environment variable: export YUCCA_DATABASE_CLIENT_KEY_PATH=/opt/yucca/ssl/cert.key
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
client_key_path = "/opt/yucca/ssl/cert.key"

cache_mode

The shared cache parameter used for connecting to the database (only for sqlite3). Possible values: private, shared.

Default is shared

The value can be determined in one of the following ways:

  • using the startup argument: --database-cache-mode=shared
  • using the environment variable: export YUCCA_DATABASE_CACHE_MODE=shared
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
cache_mode = "shared"

conn_max_lifetime

Sets the maximum time during which the connection can be reused.

Default is 0s

The value can be determined in one of the following ways:

  • using the startup argument: --database-conn-max-lifetime=0s
  • using the environment variable: export YUCCA_DATABASE_CONN_MAX_LIFETIME=0s
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
conn_max_lifetime = "0s"

log_queries

Log SQL queries and run time.

Default is false

The value can be determined in one of the following ways:

  • using the run argument: --database-log-queries=false
  • using the environment variable: export YUCCA_DATABASE_LOG_QUERIES=false
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
log_queries = false

max_open_conn

The maximum number of open connections to the database (postgres only).

Default is 0

The value can be determined in one of the following ways:

  • using the startup argument: --database-max-open-conn=0
  • using the environment variable: export YUCCA_DATABASE_MAX_OPEN_CONN=0
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
max_open_conn = 0

max_idle_conn

Maximum number of connections pending (postgres only).

Default is 2

The value can be determined in one of the following ways:

  • using the startup argument: --database-max-idle-conn=2
  • using the environment variable: export YUCCA_DATABASE_MAX_IDLE_CONN=2
  • using the configuration file:
# /opt/yucca/yucca.toml
[database]
max_idle_conn = 2

executor

The startup parameters of the streams.

type

Executor type for parking streams. Allowed value exec, docker.

  • Exec - the server starts ffmpeg and monitors its operation directly by itself, without using docker and yucca-worker.
  • Docker - (deprecated and will be removed in the future) for each thread, the server launches a docker container in which yucca-worker runs, which in turn launches ffmpeg and monitors its work, restarts it in case of problems.

Default is exec

The value can be determined in one of the following ways:

  • using the startup argument: --executor=exec
  • using the environment variable: export YUCCA_EXECUTOR_TYPE=docker
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor]
type = "exec"

log_level

The logging level. Possible values: panic, fatal, error, warning, info, debug).

Default is info

The value can be determined in one of the following ways:

  • using the startup argument: --executor-log-level=info
  • using the environment variable: export YUCCA_EXECUTOR_LOG_LEVEL=info
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor]
log_level = "info"

exec

Additional parameters for the type exec.

cancel_grace_period

The waiting interval for the completion of all running subprocesses (ffmpeg, ffprobe,...).

Default is 5s

The value can be determined in one of the following ways:

  • using the launch argument: --exec-cancel-grace-period=5s
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_CANCEL_GRACE_PERIOD=5s
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
cancel_grace_period = "5s"

ffmpeg_log_level

The logging level for ffmpeg processes.

Default is error

The value can be determined in one of the following ways:

  • using the launch argument: --exec-ffmpeg-log-level="error"
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_FFMPEG_LOG_LEVEL="error"
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
ffmpeg_log_level = "error"

ffmpeg_log_max_file

The maximum number of log files that can be present.

Default is 5

The value can be determined in one of the following ways:

  • using the launch argument: --exec-ffmpeg-log-max-file=5
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_FFMPEG_LOG_MAX_FILE=5
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
ffmpeg_log_max_file = 5

ffmpeg_log_max_size

The maximum size of the log before it is rolled.

Default is 20mb

The value can be determined in one of the following ways:

  • using the launch argument: --exec-ffmpeg-log-max-size="20mb"
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_FFMPEG_LOG_MAX_SIZE="20mb"
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
ffmpeg_log_max_size = "20mb"

hls_list_size

The length of the m3u8 HLS playlist.

Default is 5

The value can be determined in one of the following ways:

  • using the launch argument: --exec-hls-list-size=5
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_HLS_LIST_SIZE=5
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
hls_list_size = 5

hls_time

The desired length of the HLS video segment segments in seconds.

Default is 2

The value can be determined in one of the following ways:

  • using the launch argument: --exec-hls-time=2
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_HLS_TIME=5
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
hls_time = 5

preview

Enabling the creation of image previews in the background.

Default is true

The value can be determined in one of the following ways:

  • using the launch argument: --exec-preview=true
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_PREVIEW=false
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
preview = true

preview_interval

The interval for creating preview images.

Default is 5s

The value can be determined in one of the following ways:

  • using the launch argument: --exec-preview-interval=5s
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_PREVIEW_INTERVAL=5s
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
preview_interval = "5s"

probe_interval

The interval from which the stream begins to be checked for availability, the interval gradually increases (in order to avoid the problem when frequent checks lead to the IP camera hanging) to the value set in probe_interval_maximum, while the number of attempts should not exceed the value of probe_retries, otherwise the stream will go to the status Failed.

Default is 5s

The value can be determined in one of the following ways:

  • using the launch argument: --exec-probe-interval="5s"
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_PROBE_INTERVAL="5s"
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
probe_interval = "5s"

probe_interval_maximum

See the description of probe_interval.

Default is 1m0s

The value can be determined in one of the following ways:

  • using the launch argument: --exec-probe-interval-maximum="1m0s"
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_PROBE_INTERVAL_MAXIMUM="1m0s"
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
probe_interval_maximum = "1m0s"

probe_retries

See the description of probe_interval.

Default is 5

The value can be determined in one of the following ways:

  • using the launch argument: --exec-probe-retries=5
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_PROBE_RETRIES=5
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
probe_retries = 5

probe_timeout

Timeout for getting information on the source.

Default is 5

The value can be determined in one of the following ways:

  • using the launch argument: --exec-probe-timeout="1m0s"
  • using the environment variable: export YUCCA_EXECUTOR_EXEC_PROBE_TIMEOUT="1m0s"
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.exec]
probe_timeout = "1m0s"

docker

Additional parameters for the type docker.

Outdated and will be removed in the future

Attention! This type of performer is outdated and will no longer be supported. Functionality will be removed in future versions.

image

The name of the Docker image to use as an executor.

Default is registry.gitlab.com/yuccastream/yucca

The value can be determined in one of the following ways:

  • using the launch argument: --docker-image=registry.gitlab.com/yuccastream/yucca
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_IMAGE=registry.gitlab.com/yuccastream/yucca
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
image = "registry.gitlab.com/yuccastream/yucca"

cap_add

Add Linux privileges to the Docker container.

Default is ``

The value can be determined in one of the following ways:

  • using the startup argument: --docker-cap-add=ALL
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_CAP_ADD=ALL
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
cap_add = "ALL"

cap_drop

Reset the Linux privileges for the Docker container.

Default is ``

The value can be determined in one of the following ways:

  • using the launch argument: --docker-cap-drop=ALL
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_CAP_DROP=ALL
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
cap_drop = "ALL"

cpu_shares

CPU consumption limit for the Dcoker container. CPU shares (relative weight compared to other containers).

Default is 0

The value can be determined in one of the following ways:

  • using the startup argument: --docker-cpu-shares=0
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_CPU_SHARES=0
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
cpu_shares = 0

dns

List of DNS servers to be used by the Docker container.

Default is ``

The value can be determined in one of the following ways:

  • using the startup argument: --docker-dns=8.8.8.8
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_DNS=8.8.8.8
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
dns = "8.8.8.8"

List of DNS search domains.

Default is ``

The value can be determined in one of the following ways:

  • using the startup argument: --docker-dns-search=8.8.8.8
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_DNS_SEARCH=8.8.8.8
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
dns_search = "8.8.8.8"

memory

Memory limit for the Docker container.

Default is 0

The value can be determined in one of the following ways:

  • using the startup argument: --docker-memory=0
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_MEMORY=0
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
memory = 0

memory_reservation

Soft memory limit.

Default is 0

The value can be determined in one of the following ways:

  • using the startup argument: --docker-memory-reservation=0
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_MEMORY_RESERVATION=0
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
memory_reservation = 0

memory_swap

Total memory limit.

Default is 0

The value can be determined in one of the following ways:

  • using the startup argument: --docker-memory-swap=0
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_MEMORY_SWAP=0
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
memory_swap = 0

nano_cpus

CPU quota in units.

Default is 0

The value can be determined in one of the following ways:

  • using the startup argument: --docker-nano-cpus=0
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_NANO_CPUS=0
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
nano_cpus = 0

network_driver

Network Driver Docker.

Default is ``

The value can be determined in one of the following ways:

  • using the startup argument: --docker-network-driver=bridge
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_NETWORK_DRIVER=bridge
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
network_driver = "bridge"

oom_kill_disable

Do not destroy processes in the container if an out-of-memory (OOM) error occurs.

Default is false

The value can be determined in one of the following ways:

  • using the startup argument: --docker-oom-kill-disable=false
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_OOM_KILL_DISABLE=false
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
oom_kill_disable = false

oom_score_adjust

Setting up OOM metrics.

Default is 0

The value can be determined in one of the following ways:

  • using the startup argument: --docker-oom-score-adjust=0
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_OOM_SCORE_ADJUST=0
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
oom_score_adjust = 0

security_opt

A list of string values for configuring MLS system labels, such as SELinux.

Default is ``

The value can be determined in one of the following ways:

  • using the startup argument: --docker-security-opt="label=user:USER"
  • using the environment variable: export YUCCA_EXECUTOR_DOCKER_SECURITY_OPT="label=user:USER"
  • using the configuration file:
# /opt/yucca/yucca.toml
[executor.docker]
security_opt = "label=user:USER"

quota 💰

💰 Available only in Enterprise

Global resource quotas. Can limit the maximum number of specific resources that can be created/added as part of the installation.

global_stream

The quota for the creation of streams.

Default is -1 (unlimited)

The value can be determined in one of the following ways:

  • using the launch argument: --quota-global-stream=-1
  • using the environment variable: export YUCCA_QUOTA_GLOBAL_STREAM=-1
  • using the configuration file:
# /opt/yucca/yucca.toml
[quota]
global_stream = -1

global_team

The quota for team building.

Default is -1 (unlimited)

The value can be determined in one of the following ways:

  • using the launch argument: --quota-global-team=-1
  • using the environment variable: export YUCCA_QUOTA_GLOBAL_TEAM=-1
  • using the configuration file:
# /opt/yucca/yucca.toml
[quota]
global_team = -1

global_user

Quota for creating users.

Default is -1 (unlimited)

The value can be determined in one of the following ways:

  • using the launch argument: --quota-global-user=-1
  • using the environment variable: export YUCCA_QUOTA_GLOBAL_USER=-1
  • using the configuration file:
# /opt/yucca/yucca.toml
[quota]
global_user = -1

team_user

The quota for the maximum number of users in the team.

Default is -1 (unlimited)

The value can be determined in one of the following ways:

  • using the launch argument: --quota-team-user=-1
  • using the environment variable: export YUCCA_QUOTA_TEAM_USER=-1
  • using the configuration file:
# /opt/yucca/yucca.toml
[quota]
team_user = -1

security

Security settings.

audit_logs

Enable login audit.

Default is false

The value can be determined in one of the following ways:

  • using the startup argument: --security-audit-logs=false
  • using the environment variable: export YUCCA_SECURITY_AUDIT_LOGS=false
  • using the configuration file:
# /opt/yucca/yucca.html
[security]
audit_logs = false

brute_force_login_protection

Enable password protection.

Default is true

The value can be determined in one of the following ways:

  • using the startup argument: --security-brute-force-login-protection=true
  • using the environment variable: export YUCCA_SECURITY_BRUTE_FORCE_LOGIN_PROTECTION=true
  • using the configuration file:
# /opt/yucca/yucca.toml
[security]
brute_force_login_protection = true

security_password_length

Minimum password length.

Default is 3

The value can be determined in one of the following ways:

  • using the startup argument: --security-password-length=3
  • using the environment variable: export YUCCA_SECURITY_PASSWORD_LENGTH=3
  • using the configuration file:
# /opt/yucca/yucca.toml
[security]
password_length = 3

smtp_client

Settings SMTP client. Responsible for sending notifications to users by email, for example, that the license is about to expire.

enabled

Enable SMTP client to send email.

Default is false

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client=true
  • using the environment variable: export YUCCA_SMTP_CLIENT_ENABLED=true
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
enabled = true

host

SMTP server address.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-host="smtp.gmail.com:465"
  • using the environment variable: export YUCCA_SMTP_CLIENT_HOST="smtp.yandex.ru:465"
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
host = ""

user

User in case of SMTP auth.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-user=""
  • using the environment variable: export YUCCA_SMTP_CLIENT_USER=""
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
user = ""

password

Password in case of SMTP auth.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-password=""
  • using the environment variable: export YUCCA_SMTP_CLIENT_PASSWORD=""
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
password = ""

from_address

Address used when sending out emails.

Default is admin@yucca.localhost

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-from-address="admin@yucca.localhost"
  • using the environment variable: export YUCCA_SMTP_CLIENT_FROM_ADDRESS="admin@yucca.localhost"
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
from_address = "admin@yucca.localhost"

from_name

Name to be used when sending out emails.

Default is Yucca

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-from-name="Yucca"
  • using the environment variable: export YUCCA_SMTP_CLIENT_FROM_NAME="Yucca"
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
from_name = "Yucca"

cert_path

File path to a cert file.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-cert-path=""
  • using the environment variable: export YUCCA_SMTP_CLIENT_CERT_PATH=""
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
cert_path = ""

key_path

File path to a key file.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-key-path=""
  • using the environment variable: export YUCCA_SMTP_CLIENT_KEY_PATH=""
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
key_path = ""

skip_verify

Verify SSL for SMTP server.

Default is false

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-client-skip-verify=""
  • using the environment variable: export YUCCA_SMTP_CLIENT_SKIP_VERIFY=""
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_client]
skip_verify = ""

smtp_server

Settings of the built-in SMTP server.

enabled

Enable the built-in SMTP server to receive events from the cameras.

Default is true

The value can be determined in one of the following ways:

  • using the startup argument: --smtp-server=true
  • using the environment variable: export YUCCA_SMTP_SERVER_ENABLED=true
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
enabled = true

listen_address

The address where the SMTP server will run.

Default is :1025

The value can be determined in one of the following ways:

  • using the launch argument: --smtp-server-listen-address=:1025
  • using the environment variable: export YUCCA_SMTP_SERVER_LISTEN_ADDRESS=:1025
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
listen_address = ":1025"

username

Login for connecting to the SMTP server.

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --smtp-server-username=admin
  • using the environment variable: export YUCCA_SMTP_SERVER_USERNAME=admin
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
username = "admin"

read_timeout

Timeout for reading an incoming message.

Default is 1s

The value can be determined in one of the following ways:

  • using the startup argument: --smtp-server-read-timeout=1s
  • using the environment variable: export YUCCA_SMTP_SERVER_READ_TIMEOUT=1s
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
read_timeout = "1s"

server

Global server settings.

data_dir

A global directory for storing state (in the case of sqlite3) and stream data.

Default is ./data

The value can be determined in one of the following ways:

  • using the launch argument: --data-dir=/opt/yucca/data/
  • using the environment variable: export YUCCA_SERVER_DATA_DIR=/opt/yucca/data/
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
data_dir = "/opt/yucca/data/"

alloc_dir

Directory with stream data (video archive, etc.).

Default is <data_dir>/alloc

The value can be determined in one of the following ways:

  • using the launch argument: --alloc-dir=/opt/yucca/data/alloc/
  • using the environment variable: export YUCCA_SERVER_ALLOC_DIR=/opt/yucca/data/alloc/
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
alloc_dir = "/opt/yucca/data/alloc/"

state_dir

The directory with the database file (in the case of using sqlite3).

Default is <data_dir>/server

The value can be determined in one of the following ways:

  • using the startup argument: --state-dir=/opt/yucca/data/server/
  • using the environment variable: export YUCCA_SERVER_STATE_DIR=/opt/yucca/data/server/
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
state_dir = "/opt/yucca/data/server/"

temp_dir

The directory used to store data with short retention. (chunks rotated for the live stream are stored here)

Default is /dev/shm/yucca

The value can be determined in one of the following ways:

  • using the startup argument: --temp-dir=/dev/shm/yucca
  • using the environment variable: export YUCCA_SERVER_TEMP_DIR=/dev/shm/yucca
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
temp_dir = "/dev/shm/yucca"

stats_collection_interval

Interval for collecting statistics on system resources.

Default is 1s

The value can be determined in one of the following ways:

  • using the run argument: --stats-collection-interval=1s
  • using the environment variable: export YUCCA_SERVER_STATS_COLLECTION_INTERVAL=1s
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
stats_collection_interval = "1s"

default_language

The default interface language for new users. Possible values: en, ru, uk.

Default, en

The value can be determined in one of the following ways:

  • using the launch argument: --default-language=en
  • using the environment variable: export YUCCA_SERVER_DEFAULT_LANGUAGE=en
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
default_language = "en"

domain

Used to define the Server field when configuring Event receive by Email

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --domain=demo.yucca.app
  • using the environment variable: export YUCCA_SERVER_DOMAIN=192.168.188.15
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
domain = "demo.yucca.app"

health_check_interval

Interval for dependency health checking.

Default is 30s

The value can be determined in one of the following ways:

  • using the launch argument: --health-check-interval="30s"
  • using the environment variable: export YUCCA_SERVER_HEALTH_CHECK_INTERVAL="30s"
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
health_check_interval = "30s"

listen_address

The IP address and port on which the web interface will be available.

Default is :9910

The value can be determined in one of the following ways:

  • using the launch argument: --web.listen-address=0.0.0.0:9910
  • using the environment variable: export YUCCA_SERVER_LISTEN_ADDRESS=0.0.0.0:9910
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
listen_address = ":9910"

log_file

The path to the log file, if not specified, then stdout.

Default undefined ""

The value can be determined in one of the ways:

  • using the startup argument: --log-file=/var/log/yucca.log
  • using the environment variable: export YUCCA_SERVER_LOG_FILE=/var/log/yucca.log
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
log_file = "/var/log/yucca.log"

self_logs

View server logs and streams in the interface in the debug tab.

Default is true

The value can be determined in one of the following ways:

  • using the startup argument: --self-logs=true
  • using the environment variable: export YUCCA_SERVER_SELF_LOGS=false
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
self_logs = true

log_buffer_size

The number of recent messages in the interface is in the debug tab.

Default is 50

The value can be determined in one of the ways:

  • using the startup argument: --log-buffer-size=50
  • using the environment variable: export YUCCA_SERVER_LOG_BUFFER_SIZE=50
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
log_buffer_size = 50

password

Password for connecting to the SMTP server.

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --smtp-server-password=admin
  • using the environment variable: export YUCCA_SMTP_SERVER_PASSWORD=admin
  • using the configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
password = "admin"

cert_file

The path to the certificate file, if HTTPS is used.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --cert-file=/opt/yucca/ssl/cert.crt
  • using the environment variable: export YUCCA_SERVER_CERT_FILE=/opt/yucca/ssl/cert.crt
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
cert_file = "/opt/yucca/ssl/cert.crt"

cert_key

The path to the key file, if HTTPS is used.

Default undefined ""

The value can be determined in one of the following ways:

  • using the launch argument: --cert-key=/opt/yucca/ssl/cert.key
  • using the environment variable: export YUCCA_SERVER_CERT_KEY=/opt/yucca/ssl/cert.key
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
cert_key = "/opt/yucca/ssl/cert.key"

pprof

Enable profiling.

Default is true

The value can be determined in one of the following ways:

  • using the launch argument: --pprof=true
  • using the environment variable: export YUCCA_SERVER_PPROF=true
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
pprof = true

pprof_listen_address

Address on which to expose pprof profiling.

Default is :9911

The value can be determined in one of the following ways:

  • using the launch argument: --pprof-listen-address=":9911"
  • using the environment variable: export YUCCA_SERVER_PPROF_LISTEN_ADDRESS=":9911"
  • using the configuration file:
# /opt/yucca/yucca.toml
[server]
pprof_listen_address = ":9911"

streams

Parameters related to the behavior of streams.

archive_download_max_duration

The maximum allowed length of the requested time interval for downloading.

Default is 24h

The value can be determined in one of the following ways:

  • using the launch argument: --streams-archive-download-max-duration=24h
  • using the environment variable: export YUCCA_STREAMS_ARCHIVE_DOWNLOAD_MAX_DURATION=24h
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
archive_download_max_duration = "24h"

archive_download_request_lifetime

The lifetime of the segment requested for downloading.

When downloading archive intervals, a file of the requested length is generated and will be available for download during the time specified in this parameter. If you download long segments at a slow download speed, it is recommended to increase the time in this parameter.

Default is 1h0m0s

The value can be determined in one of the following ways:

  • using the launch argument: --streams-archive-download-request-lifetime=6h
  • using environment variable: export YUCCA_STREAMS_ARCHIVE_DOWNLOAD_REQUEST_LIFETIME=1h0m0s
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
archive_download_request_lifetime = "1h0m0s"

archive_max_depth_hours

The maximum allowed depth for storing the archive in hours.

Default is -1 (unlimited)

The value can be determined in one of the following ways:

  • using the launch argument: --streams-archive-max-depth-hours=-1
  • using the environment variable: export YUCCA_STREAMS_ARCHIVE_MAX_DEPTH_HOURS=-1
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
archive_max_depth_hours = -1

live_on_demand_lease_duration

Lease lifetime for live stream on demand (live on-demand).

The time during which the requested live on-demand stream will work after the last lease extension, i.e. the lease lifetime after the last lease extension. The lease is extended when the status of the stream is requested on its viewing page. The smaller the number, the faster the stream will go into a pause state after closing the viewing page.

Default 1m0s

The value can be determined in one of the following ways:

  • with launch argument: --streams-live-on-demand-lease-duration=1m0s
  • using environment variable: export YUCCA_STREAMS_LIVE_ON_DEMAND_LEASE_DURATION=1m0s
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
live_on_demand_lease_duration = 1m0s

live_on_demand_lease_interval

The frequency of checking the active lease for a live stream on demand (live on-demand). The parameter must be less than live_on_demand_lease_duration.

Default is 30s

The value can be determined in one of the following ways:

  • with launch argument: --streams-live-on-demand-lease-interval=30s
  • using environment variable: export YUCCA_STREAMS_LIVE_ON_DEMAND_LEASE_INTERVAL=30s
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
live_on_demand_lease_interval = 30s

playlist_max_duration

The maximum allowed length of the requested time interval for an M3U8 playlist.

Default is 3h

The value can be determined in one of the following ways:

  • using the launch argument: --streams-playlist-max-duration=3h
  • using the environment variable: export YUCCA_STREAMS_PLAYLIST_MAX_DURATION=3h
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
playlist_max_duration = "3h"

ranges_max_duration

The maximum allowed length of the requested time interval for ranges (archive availability range).

Default is 168h

The value can be determined in one of the following ways:

  • using the startup argument: --streams-ranges-max-duration=168h
  • using the environment variable: export YUCCA_STREAMS_RANGES_MAX_DURATION=168h
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
ranges_max_duration = "168h"

uuid_slug

Use the generated UUID as the public identifier of the stream.

Default is false

The value can be determined in one of the following ways:

  • using the launch argument: --streams-uuid-slug=false
  • using the environment variable: export YUCCA_STREAMS_UUID_SLUG=false
  • using the configuration file:
# /opt/yucca/yucca.toml
[streams]
uuid_slug = false

telemetry

Telemetry.

enabled

Enable the provision of metrics in the Prometheus format.

Default is true

The value can be determined in one of the following ways:

  • using the launch argument: --telemetry=true
  • using the environment variable: export YUCCA_TELEMETRY_ENABLED=true
  • using the configuration file:
# /opt/yucca/yucca.toml
[telemetry]
enabled = true

listen_address

Address on which to expose metrics.

Default is :9912

The value can be determined in one of the following ways:

  • using the launch argument: --telemetry-listen-address=:9912
  • using the environment variable: export YUCCA_TELEMETRY_LISTEN_ADDRESS=:9912
  • using the configuration file:
# /opt/yucca/yucca.toml
[telemetry]
listen_address = ":9912"

path

URI for accessing telemetry.

Default is /metrics

The value can be determined in one of the following ways:

  • using the launch argument: --telemetry-path=/metrics
  • using the environment variable: export YUCCA_TELEMETRY_PATH=/metrics
  • using the configuration file:
# /opt/yucca/yucca.toml
[telemetry]
path = "/metrics"

basic_auth_username

The login of the basic authorization for access to telemetry.

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --telemetry-basic-auth-username=admin
  • using the environment variable: export YUCCA_TELEMETRY_BASIC_AUTH_USERNAME=admin
  • using the configuration file:
# /opt/yucca/yucca.toml
[telemetry]
basic_auth_username = "admin"

basic_auth_password

The basic authorization password for accessing telemetry.

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --telemetry-basic-auth-password=admin
  • using the environment variable: export YUCCA_TELEMETRY_BASIC_AUTH_PASSWORD=admin
  • using the configuration file:
# /opt/yucca/yucca.toml
[telemetry]
basic_auth_password = "admin"

environment_info

Labels for yucca_environment_info metric.

Default undefined ""

The value can be determined in one of the following ways:

  • using the startup argument: --telemetry-environment-info=env:test
  • using the environment variable:: export YUCCA_TELEMETRY_ENVIRONMENT_INFO=env:test
  • using the configuration file:
# /opt/yucca/yucca.toml
[telemetry.environment_info]
env = "test"