Skip to main content

Configuration

Configuration can be done via a configuration file, command line arguments or environment variables.

Priority when reading configuration:
  1. File
  2. Environment variables
  3. Command line arguments
tip
  1. Generate a configuration file with default values:
/opt/yucca/yucca server --show-config --show-config-format=toml
  1. You can view all available environment variables with the following command:
/opt/yucca/yucca server --show-config --show-config-format=env
  1. You can view all available command line arguments with the following command:
/opt/yucca/yucca server --help

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

server

Global server parameters.

log_level

Доступно с версии:0.9.0

Logging level for the server.
Possible values: panic, fatal, error, warning, info, debug

Default info

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

  • using a launch argument: --log-level=info
  • using an environment variable: #!shell export YUCCA_SERVER_LOG_LEVEL=info
  • using a configuration file:
# /opt/yucca/yucca.toml
[server]
log_level = "info"

data_dir

Доступно с версии:0.4.0

Global directory for storing state (when using sqlite3) and stream data.

Default ./data

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

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

alloc_dir

Доступно с версии:0.4.0

Directory with stream data (video archive and other data).

Default <data_dir>/alloc

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

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

state_dir

Доступно с версии:0.4.0

Directory with the database file (when using sqlite3).

Default <data_dir>/server

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

  • using a launch argument: --state-dir=/opt/yucca/data/server/
  • using an environment variable: #!shell export YUCCA_SERVER_STATE_DIR=/opt/yucca/data/server/
  • using a configuration file:
# /opt/yucca/yucca.toml
[server]
state_dir = "/opt/yucca/data/server/"

temp_dir

Доступно с версии:0.9.0

tmpfs directory for short-lived data. (this is where rotated chunks for a live stream are stored)

Default /dev/shm/yucca

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

  • using a launch argument: --temp-dir=/dev/shm/yucca
  • using an environment variable: #!shell export YUCCA_SERVER_TEMP_DIR=/dev/shm/yucca
  • using a configuration file:
# /opt/yucca/yucca.toml
[server]
temp_dir = "/dev/shm/yucca"

alloc_dir_warning_threshold

Доступно с версии:0.9.0

Threshold percentage for the disk usage warning.
All administrators will see a warning in the server interface, and if an SMTP client is configured, all administrators will also receive a notification by e-mail that disk space is running low.

Default 80

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

  • using a launch argument: --alloc-dir-warning-threshold=80
  • using an environment variable: #!shell export YUCCA_SERVER_ALLOC_DIR_WARNING_THRESHOLD=80
  • using a configuration file:
# /opt/yucca/yucca.toml
[server]
alloc_dir_warning_threshold = "80"

stats_collection_interval

Доступно с версии:0.8.0

Interval for collecting system resource statistics.

Default 1s

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

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

default_language

Доступно с версии:0.9.0

Default interface language for new users, also used on the login page.
Possible values: en, ru, uk, es, pt, tr

Default en

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

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

domain

Доступно с версии:0.9.0

Used to determine the Server field when configuring receiving events by Email

Not defined by default ""

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

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

health_check_interval

Доступно с версии:0.9.0

Interval for checking the health of dependencies.

Default "30s"

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

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

listen_address

Доступно с версии:0.4.0

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

Default :9910

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

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

log_file

Доступно с версии:0.9.0

Path to the log file; if not specified, stdout is used.

Not defined by default ""

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

  • using a launch argument: --log-file=/var/log/yucca.log
  • using an environment variable: #!shell export YUCCA_SERVER_LOG_FILE=/var/log/yucca.log
  • using a configuration file:
# /opt/yucca/yucca.toml
[server]
log_file = "/var/log/yucca.log"

self_logs

Доступно с версии:0.9.0

View server and stream logs in the interface on the debug tab.

Default true

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

  • using a launch argument: --self-logs=true
  • using an environment variable: #!shell export YUCCA_SERVER_SELF_LOGS=false
  • using a configuration file:
# /opt/yucca/yucca.toml
[server]
self_logs = true

log_buffer_size

Доступно с версии:0.9.0

Number of recent messages in the interface on the debug tab.

Default 50

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

  • using a launch argument: --log-buffer-size=50
  • using an environment variable: #!shell export YUCCA_SERVER_LOG_BUFFER_SIZE=50
  • using a configuration file:
# /opt/yucca/yucca.toml
[server]
log_buffer_size = 50

cert_file

Доступно с версии:0.4.0

Path to the certificate file when using HTTPS.

Not defined by default ""

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

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

cert_key

Доступно с версии:0.4.0

Path to the key file when using HTTPS.

Not defined by default ""

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

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

pprof

Доступно с версии:0.8.0

Enable profiling.

Default false

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

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

pprof_listen_address

Доступно с версии:0.8.0

IP address and port on which the pprof profiler will be available.

Default :9911

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

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

validate

Доступно с версии:0.9.0

Flag to validate the correctness of the configuration.

note

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

  • using a launch argument: --validate

Usage example

./yucca server --config /opt/yucca/yucca.toml --validate
Valid configuration

database

Database connection.

type

Доступно с версии:0.4.0

2 database types are supported for storing state – sqlite3 and postgres. For small installations, sqlite3 is sufficient; for a large number of streams, we recommend using postgres.

Default sqlite3

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

  • using a launch argument: --database-type=sqlite3
  • using an environment variable: #!shell export YUCCA_DATABASE_TYPE=sqlite3
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
type = "sqlite3"

path

Доступно с версии:0.4.0

Path to the database file (sqlite3 only).

Default <state_dir>/state.db

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

  • using a launch argument: --database-path=/opt/yucca/server/state.db
  • using an environment variable: #!shell export YUCCA_DATABASE_PATH=/opt/yucca/server/state.db
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
path = "/opt/yucca/server/state.db"

host

Доступно с версии:0.4.0

Database connection address (postgres only).

Default 127.0.0.1:5432

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

  • using a launch argument: --database-host=127.0.0.1:5432
  • using an environment variable: #!shell export YUCCA_DATABASE_HOST=127.0.0.1:5432
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
host = "127.0.0.1:5432"

name

Доступно с версии:0.4.0

Database name (postgres only).

Default yucca

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

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

user

Доступно с версии:0.4.0

Username for the connection (postgres only).

Default postgres

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

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

password

Доступно с версии:0.4.0

Password for the connection (postgres only).

Default postgres

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

  • using a launch argument: --database-password=postgres
  • using an environment variable: #!shell export YUCCA_DATABASE_PASSWORD=postgres
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
password = "postgres"

ssl_mode

Доступно с версии:0.4.0

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

Default disable

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

  • using a launch argument: --database-ssl-mode=disable
  • using an environment variable: #!shell export YUCCA_DATABASE_SSL_MODE=disable
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
ssl_mode = "disable"

busy_timeout

Доступно с версии:0.4.0

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

Default 500

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

  • using a launch argument: --database-busy-timeout=500
  • using an environment variable: #!shell export YUCCA_DATABASE_BUSY_TIMEOUT=500
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
busy_timeout = 500

ca_cert_path

Доступно с версии:0.4.0

Path to the certificate authority (CA) certificate when using SSL (postgres only).

Default /etc/ssl/certs

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

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

client_cert_path

Доступно с версии:0.4.0

Path to the certificate file when using SSL (postgres only).

Not defined by default ""

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

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

client_key_path

Доступно с версии:0.4.0

Path to the key file when using SSL (postgres only).

Not defined by default ""

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

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

cache_mode

Доступно с версии:0.4.0

Shared cache setting used for the database connection (sqlite3 only). Possible values: private, shared.

Default shared

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

  • using a launch argument: --database-cache-mode=shared
  • using an environment variable: #!shell export YUCCA_DATABASE_CACHE_MODE=shared
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
cache_mode = "shared"

conn_max_lifetime

Доступно с версии:0.4.0

Sets the maximum amount of time a connection may be reused.

Default 0s

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

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

log_queries

Доступно с версии:0.4.0

Log SQL queries and their execution time.

Default false

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

  • using a launch argument: --database-log-queries=false
  • using an environment variable: #!shell export YUCCA_DATABASE_LOG_QUERIES=false
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
log_queries = false

max_open_conn

Доступно с версии:0.4.0

Maximum number of open database connections (postgres only).

Default 0

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

  • using a launch argument: --database-max-open-conn=0
  • using an environment variable: #!shell export YUCCA_DATABASE_MAX_OPEN_CONN=0
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
max_open_conn = 0

max_idle_conn

Доступно с версии:0.4.0

Maximum number of idle connections (postgres only).

Default 2

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

  • using a launch argument: --database-max-idle-conn=2
  • using an environment variable: #!shell export YUCCA_DATABASE_MAX_IDLE_CONN=2
  • using a configuration file:
# /opt/yucca/yucca.toml
[database]
max_idle_conn = 2

streams

Parameters related to stream behavior.

archive_download_max_duration

Доступно с версии:0.9.0

Maximum allowed length of the requested time interval for downloading.

Default 24h

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

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

archive_download_request_lifetime

Доступно с версии:0.9.0

Lifetime of a downloaded archive interval.

When downloading archive intervals, a file of the requested length is generated and will be available for download for the duration specified in this parameter. If you are downloading long intervals at a slow download speed, we recommend increasing this parameter's value.

Default 1h0m0s

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

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

archive_max_depth_hours

Доступно с версии:0.9.0

Maximum allowed archive retention depth in hours.

Unlimited by default -1

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

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

live_on_demand_lease_duration

Доступно с версии:0.9.0

Lease duration for a live on-demand stream.

The time during which a requested live on-demand stream will keep running after the last lease renewal, i.e. the lease lifetime after its last renewal. The lease is renewed when the stream status is requested on its viewing page. The lower the number, the faster the stream will switch to paused state after the viewing page is closed.

Default 1m0s

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

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

live_on_demand_lease_interval

Доступно с версии:0.9.0

Frequency of checking the active lease for a live on-demand stream. This parameter must be smaller than live_on_demand_lease_duration.

Default 30s

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

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

playlist_max_duration

Доступно с версии:0.9.0

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

Default 3h

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

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

ranges_max_duration

Доступно с версии:0.9.0

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

Default 168h

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

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

uuid_slug

Доступно с версии:0.9.0

Use a generated UUID as the public stream identifier.

Default false

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

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

executor

Stream startup parameters.

type

Доступно с версии:0.8.0

Executor type for parking streams. Available values exec, docker.

  • Exec - the server starts ffmpeg and monitors it directly itself, without using docker and yucca-worker.
  • Docker - (deprecated and will be removed in the future) for each stream, the server starts a docker container running yucca-worker, which in turn starts ffmpeg and monitors it, restarting it in case of problems.
Default exec

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

  • using a launch argument: --executor=exec
  • using an environment variable: #!shell export YUCCA_EXECUTOR_TYPE=docker
  • using a configuration file:
# /opt/yucca/yucca.toml
[executor]
type = "exec"

log_level

Доступно с версии:0.8.0

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

Default info

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

  • using a launch argument: --executor-log-level=info
  • using an environment variable: #!shell export YUCCA_EXECUTOR_LOG_LEVEL=info
  • using a configuration file:
# /opt/yucca/yucca.toml
[executor]
log_level = "info"

executor.exec

Доступно с версии:0.8.0

Additional parameters for the exec type.

cancel_grace_period

Доступно с версии:0.8.0

Interval to wait for all running subprocesses (ffmpeg, ffprobe, ...) to finish.

Default 5s

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

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

ffmpeg_log_level

Доступно с версии:0.8.0

Logging level for ffmpeg processes.

Default error

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

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

ffmpeg_log_max_file

Доступно с версии:0.8.0

Maximum number of log files that can be present.

Default 5

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

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

ffmpeg_log_max_size

Доступно с версии:0.8.0

Maximum log file size before it is rotated and compressed.

Default "20mb"

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

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

hls_list_size

Доступно с версии:0.8.0

Length of the m3u8 HLS playlist.

Default 5

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

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

hls_time

Доступно с версии:0.8.0

Desired length of HLS video segments in seconds.

Default 2

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

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

preview

Доступно с версии:0.8.0

Enable background preview image generation.

Default true

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

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

preview_interval

Доступно с версии:0.8.0

Preview image generation interval.

Default 5s

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

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

probe_interval

Доступно с версии:0.8.0

Interval at which the stream starts being checked for availability, the interval gradually increases (to avoid an issue where frequent checks cause the IP camera to hang) up to the value set in probe_interval_maximum, while the number of attempts must not exceed the value of probe_retries, otherwise the stream will switch to the Failed status.

Default 5s

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

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

probe_interval_maximum

Доступно с версии:0.8.0

See the description of probe_interval.

Default 1m0s

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

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

probe_retries

Доступно с версии:0.8.0

See the description of probe_interval.

Default 5

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

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

probe_timeout

Доступно с версии:0.8.0

Timeout for retrieving source information.

Default 5

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

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

smtp_client

Built-in SMTP client settings. Responsible for sending notifications to users by e-mail, for example about a license expiring soon.

enabled

Доступно с версии:0.8.0

Enable the SMTP client for sending e-mails.

Default false

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

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

host

Доступно с версии:0.8.0

SMTP server address.

Not defined by default ""

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

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

user

Доступно с версии:0.8.0

User for authorization on the SMTP server.

Not defined by default ""

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

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

password

Доступно с версии:0.8.0

Password for authorization on the SMTP server.

Not defined by default ""

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

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

from_address

Доступно с версии:0.8.0

Address used when sending e-mails.

Default "admin@yucca.localhost"

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

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

from_name

Доступно с версии:0.8.0

Name used when sending e-mails.

Default "Yucca"

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

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

cert_path

Доступно с версии:0.8.0

Path to the certificate file.

Not defined by default ""

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

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

key_path

Доступно с версии:0.8.0

Path to the key file.

Not defined by default ""

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

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

skip_verify

Доступно с версии:0.8.0

Verify the SMTP server's SSL certificate.

Default false

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

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

smtp_server

Built-in SMTP server settings for receiving motion detection notifications from cameras.

enabled

Доступно с версии:0.8.0

Enable the built-in SMTP server for receiving events from cameras.

Default true

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

  • using a launch argument: --smtp-server=true
  • using an environment variable: #!shell export YUCCA_SMTP_SERVER_ENABLED=true
  • using a configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
enabled = true

listen_address

Доступно с версии:0.8.0

Address on which the SMTP server will run.

Default :1025

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

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

password

Доступно с версии:0.8.0

Password for connecting to the SMTP server.

Not defined by default ""

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

  • using a launch argument: --smtp-server-password=admin
  • using an environment variable: #!shell export YUCCA_SMTP_SERVER_PASSWORD=admin
  • using a configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
password = "admin"

username

Доступно с версии:0.8.0

Login for connecting to the SMTP server.

Not defined by default ""

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

  • using a launch argument: --smtp-server-username=admin
  • using an environment variable: #!shell export YUCCA_SMTP_SERVER_USERNAME=admin
  • using a configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
username = "admin"

read_timeout

Доступно с версии:0.8.0

Timeout for reading an incoming message.

Default 1s

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

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

event_window_duration

Доступно с версии:0.9.0

Length of a new motion detection event.

Default 40s

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

  • using a launch argument: --smtp-server-event-window-duration=40s
  • using an environment variable: #!shell export YUCCA_SMTP_SERVER_EVENT_WINDOW_DURATION=40s
  • using a configuration file:
# /opt/yucca/yucca.toml
[smtp_server]
event_window_duration = "40s"

security

Security parameters.

audit_logs 💰

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Enable audit logs.

Default false

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

  • using a launch argument: --security-audit-logs=false
  • using an environment variable: #!shell export YUCCA_SECURITY_AUDIT_LOGS=false
  • using a configuration file:
# /opt/yucca/yucca.toml
[security]
audit_logs = false

brute_force_login_protection

Доступно с версии:0.9.0

Enable brute-force login protection.

Default true

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

  • using a launch argument: --security-brute-force-login-protection=true
  • using an environment variable: #!shell export YUCCA_SECURITY_BRUTE_FORCE_LOGIN_PROTECTION=true
  • using a configuration file:
# /opt/yucca/yucca.toml
[security]
brute_force_login_protection = true

security_password_length

Доступно с версии:0.9.0

Minimum allowed password length.

Default 3

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

  • using a launch argument: --security-password-length=3
  • using an environment variable: #!shell export YUCCA_SECURITY_PASSWORD_LENGTH=3
  • using a configuration file:
# /opt/yucca/yucca.toml
[security]
password_length = 3

telemetry

Telemetry. The Yucca server exposes metrics in prometheus format, which lets you, for example, monitor camera availability with an external monitoring system. You can find a configuration example here.

enabled

Доступно с версии:0.7.0

Enable exposing metrics in Prometheus format.

Default true

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

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

listen_address

Доступно с версии:0.7.0

IP address and port on which telemetry will be available.

Default :9912

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

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

path

Доступно с версии:0.7.0

URI for accessing telemetry.

Default /metrics

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

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

basic_auth_username

Доступно с версии:0.7.0

Basic auth username for accessing telemetry.

Not defined by default ""

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

  • using a launch argument: --telemetry-basic-auth-username=admin
  • using an environment variable: #!shell export YUCCA_TELEMETRY_BASIC_AUTH_USERNAME=admin
  • using a configuration file:
# /opt/yucca/yucca.toml
[telemetry]
basic_auth_username = "admin"

basic_auth_password

Доступно с версии:0.7.0

Basic auth password for accessing telemetry.

Not defined by default ""

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

  • using a launch argument: --telemetry-basic-auth-password=admin
  • using an environment variable: #!shell export YUCCA_TELEMETRY_BASIC_AUTH_PASSWORD=admin
  • using a configuration file:
# /opt/yucca/yucca.toml
[telemetry]
basic_auth_password = "admin"

environment_info

Доступно с версии:0.7.0

Labels for the yucca_environment_info metric.

Not defined by default ""

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

  • using a launch argument: --telemetry-environment-info=env:test
  • using an environment variable: #!shell export YUCCA_TELEMETRY_ENVIRONMENT_INFO=env:test
  • using a configuration file:
# /opt/yucca/yucca.toml
[telemetry.environment_info]
env = "test"

analytics

Collect analytics from the server interface using Yandex.Metrika.

yandex_metrika_counter_id

Доступно с версии:0.10.0

Yandex.Metrika Counter ID. Enabled if defined.

Not defined by default ""

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

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

yandex_metrika_webvisor

Доступно с версии:0.10.0

Enables Webvisor, detailed recordings of user activity on the site: mouse movement, scrolling and clicks.

Default false

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

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

quota 💰

💰 Paid feature, available by subscriptionEnterprise or Plus

Global resource quotas. Can limit the maximum number of certain resources that can be created/added within a server.

global_stream

Доступно с версии:0.8.0 💰 Paid feature, available by subscriptionEnterprise

Quota for creating streams.

No limit by default -1

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

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

global_team

Доступно с версии:0.8.0 💰 Paid feature, available by subscriptionEnterprise

Quota for creating teams.

No limit by default -1

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

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

global_user

Доступно с версии:0.8.0 💰 Paid feature, available by subscriptionEnterprise

Quota for creating users.

No limit by default -1

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

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

team_user

Доступно с версии:0.8.0 💰 Paid feature, available by subscriptionEnterprise

Quota for the maximum number of users in a team.

No limit by default -1

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

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

branding 💰

💰 Paid feature, available by subscriptionEnterprise

Interface branding.

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Path to the logo file. You can specify an http(s) URL http:// or a file system path file://.

Not defined by default ""

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

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

app_title

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Text in the Title field.

Not defined by default ""

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

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

site

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Link to your website.

Not defined by default ""

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

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

documentation

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Link to the documentation page.

Not defined by default ""

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

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

fav_icon

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Path to the Favicon file. You can specify an http(s) URL http:// or a file system path file://.

Not defined by default ""

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

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

cluster 💰

💰 Paid feature, available by subscriptionEnterprise

Parameters related to configuring a cluster (distributed mode).

cluster_enabled

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Enable cluster mode.

Default false

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

  • using a launch argument: --cluster=true
  • using an environment variable: #!shell export YUCCA_CLUSTER_ENABLED=true
  • using a configuration file:
# /opt/yucca/yucca.toml
[cluster]
enabled = true

cluster_advertise_address

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Address to advertise to other cluster members.

Default 127.0.0.1:9940

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

  • using a launch argument: --cluster-advertise-address="127.0.0.1:9940"
  • using an environment variable: #!shell export YUCCA_CLUSTER_LISTEN_ADDRESS=24h
  • using a configuration file:
# /opt/yucca/yucca.toml
[cluster]
advertise_address = "127.0.0.1:9940"

cluster_listen_address

Доступно с версии:0.10.0 💰 Paid feature, available by subscriptionEnterprise

Address for cluster members to connect to.

Default 0.0.0.0:9940

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

  • using a launch argument: --cluster-listen-address="0.0.0.0:9940"
  • using an environment variable: #!shell export YUCCA_CLUSTER_LISTEN_ADDRESS="0.0.0.0:9940"
  • using a configuration file:
# /opt/yucca/yucca.toml
[cluster]
listen_address = "0.0.0.0:9940"