Configuration
Configuration can be done via a configuration file, command line arguments or environment variables.
- File
- Environment variables
- Command line arguments
- Generate a configuration file with default values:
- TOML
- YAML
/opt/yucca/yucca server --show-config --show-config-format=toml
/opt/yucca/yucca server --show-config --show-config-format=yaml
- You can view all available environment variables with the following command:
/opt/yucca/yucca server --show-config --show-config-format=env
- 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
Logging level for the server.
Possible values: panic, fatal, error, warning, info, debug
infoThe 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
Global directory for storing state (when using sqlite3) and stream data.
./dataThe 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
Directory with stream data (video archive and other data).
<data_dir>/allocThe 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
Directory with the database file (when using sqlite3).
<data_dir>/serverThe 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
tmpfs directory for short-lived data. (this is where rotated chunks for a live stream are stored)
/dev/shm/yuccaThe 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
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.
80The 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
Interval for collecting system resource statistics.
1sThe 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
Default interface language for new users, also used on the login page.
Possible values: en, ru, uk, es, pt, tr
enThe 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
Used to determine the Server field when configuring receiving events by Email
""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
Interval for checking the health of dependencies.
"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
IP address and port on which the web interface will be available.
:9910The 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
Path to the log file; if not specified, stdout is used.
""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
View server and stream logs in the interface on the debug tab.
trueThe 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
Number of recent messages in the interface on the debug tab.
50The 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
Path to the certificate file when using HTTPS.
""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
Path to the key file when using HTTPS.
""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
Enable profiling.
falseThe 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
IP address and port on which the pprof profiler will be available.
:9911The 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
Flag to validate the correctness of the configuration.
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
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.
sqlite3The 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
Path to the database file (sqlite3 only).
<state_dir>/state.dbThe 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
Database connection address (postgres only).
127.0.0.1:5432The 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
Database name (postgres only).
yuccaThe 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
Username for the connection (postgres only).
postgresThe 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
Password for the connection (postgres only).
postgresThe 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
Use SSL (encrypted connection) for the connection (postgres only). Possible values: disable, require, verify-full).
disableThe 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
Timeout in seconds to wait for the SQLite table to unlock (sqlite3 only).
500The 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
Path to the certificate authority (CA) certificate when using SSL (postgres only).
/etc/ssl/certsThe 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
Path to the certificate file when using SSL (postgres only).
""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
Path to the key file when using SSL (postgres only).
""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
Shared cache setting used for the database connection (sqlite3 only). Possible values: private, shared.
sharedThe 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
Sets the maximum amount of time a connection may be reused.
0sThe 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
Log SQL queries and their execution time.
falseThe 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
Maximum number of open database connections (postgres only).
0The 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
Maximum number of idle connections (postgres only).
2The 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
Maximum allowed length of the requested time interval for downloading.
24hThe 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
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.
1h0m0sThe 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
Maximum allowed archive retention depth in hours.
-1The 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
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.
1m0sThe 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
Frequency of checking the active lease for a live on-demand stream. This parameter must be smaller than live_on_demand_lease_duration.
30sThe 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
Maximum allowed length of the requested time interval for an M3U8 playlist.
3hThe 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
Maximum allowed length of the requested time interval for ranges (archive availability range).
168hThe 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
Use a generated UUID as the public stream identifier.
falseThe 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
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.
execThe 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
Executor logging level. Possible values: panic, fatal, error, warning, info, debug).
infoThe 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
Additional parameters for the exec type.
cancel_grace_period
Interval to wait for all running subprocesses (ffmpeg, ffprobe, ...) to finish.
5sThe 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
Logging level for ffmpeg processes.
errorThe 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
Maximum number of log files that can be present.
5The 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
Maximum log file size before it is rotated and compressed.
"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
Length of the m3u8 HLS playlist.
5The 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
Desired length of HLS video segments in seconds.
2The 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
Enable background preview image generation.
trueThe 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
Preview image generation interval.
5sThe 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
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.
5sThe 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
See the description of probe_interval.
1m0sThe 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
See the description of probe_interval.
5The 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
Timeout for retrieving source information.
5The 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
Enable the SMTP client for sending e-mails.
falseThe 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
SMTP server address.
""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
User for authorization on the SMTP server.
""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
Password for authorization on the SMTP server.
""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
Address used when sending e-mails.
"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
Name used when sending e-mails.
"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
Path to the certificate file.
""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
Path to the key file.
""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
Verify the SMTP server's SSL certificate.
falseThe 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
Enable the built-in SMTP server for receiving events from cameras.
trueThe 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
Address on which the SMTP server will run.
:1025The 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
Password for connecting to the SMTP server.
""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
Login for connecting to the SMTP server.
""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
Timeout for reading an incoming message.
1sThe 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
Length of a new motion detection event.
40sThe 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 💰
Enable audit logs.
falseThe 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
Enable brute-force login protection.
trueThe 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
Minimum allowed password length.
3The 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
Enable exposing metrics in Prometheus format.
trueThe 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
IP address and port on which telemetry will be available.
:9912The 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
URI for accessing telemetry.
/metricsThe 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
Basic auth username for accessing telemetry.
""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
Basic auth password for accessing telemetry.
""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
Labels for the yucca_environment_info metric.
""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
Yandex.Metrika Counter ID. Enabled if defined.
""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
Enables Webvisor, detailed recordings of user activity on the site: mouse movement, scrolling and clicks.
falseThe 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 💰
Global resource quotas. Can limit the maximum number of certain resources that can be created/added within a server.
global_stream
Quota for creating streams.
-1The 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
Quota for creating teams.
-1The 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
Quota for creating users.
-1The 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
Quota for the maximum number of users in a team.
-1The 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 💰
Interface branding.
app_logo
Path to the logo file. You can specify an http(s) URL http:// or a file system path file://.
""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
Text in the Title field.
""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
Link to your website.
""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
Link to the documentation page.
""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
Path to the Favicon file. You can specify an http(s) URL http:// or a file system path file://.
""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 💰
Parameters related to configuring a cluster (distributed mode).
cluster_enabled
Enable cluster mode.
falseThe 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
Address to advertise to other cluster members.
127.0.0.1:9940The 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
Address for cluster members to connect to.
0.0.0.0:9940The 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"