Skip to content

Warning

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


title: Configuration description: Video surveillance for home and business


Configuration Yucca 0.7.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. By default, 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. By default 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). By 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 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://.

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.

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.

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.

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://.

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. By default 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).

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). By default, 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). The 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). By default, /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).

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).

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. By default, 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. By default, 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. By default, exec.

  • Exec - the server starts ffmpeg and monitors its operation directly by itself, without using docker and yucca-worker.
  • Docker - 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.

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). By default 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,...). By default 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. By default 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. By default 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. By default "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. By default 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. By default 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. By default 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. By default 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. By default 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. By default 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. By default 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. By default 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.

image

The name of the Docker image to use as an executor. By default 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.

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.

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.

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.

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.

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. By default, 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.

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. By default -1 is 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. By default -1 is 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. By default -1 is 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. By default -1 is 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.

brute_force_login_protection

Enable password protection. By default, 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. By default, 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. By default 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.

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.

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.

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. By default "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. By default "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.

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.

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. By default 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. By default, 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. By default :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"

password

Password for connecting to the SMTP server.

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"

username

Login for connecting to the SMTP server.

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. By default,./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.). By default,./data/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). By default,./data/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. By default /dev/shm/yucca. (chunks rotated for the live stream are stored here)

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. By 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

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. By default "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. By default :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"

cert_file

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

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.

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. By default, 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. By default, :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_max_depth_hours

The maximum allowed depth for storing the archive in hours. By default -1 is not limited.

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

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. By default, 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. By default, 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. By default, :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. By default, /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. By default, it is not defined.

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. By default, it is not defined.

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.

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"