Перейти к содержанию

Внимание

Эта страница содержит описание конфигурации для Юкка 0.7.0, для последней версии перейдите по ссылке.


title: Конфигурация description: Видеонаблюдение для дома и бизнеса


Конфигурация Юкка 0.7.0

Настройка может осуществляться через конфигурационный файл, аргументы командной строки или переменные окружения. Приоритет при чтении конфигурации:

  1. файл;
  2. переменные окружения;
  3. аргументы командной строки.

Параметры делятся на логические разделы (блоки), которые соответствуют префиксу в аргументах командной строки и переменных окружения.

analytics

Сбор аналитики.

enabled

Включить сбор и отправку аналитических данных и конфигурации системы: модель процессора, тип и версия операционной системы, размер оперативной памяти, размер дисков, количество запущенных потоков. Мы не собираем информацию об источниках стримов и прочие чувствительные данные. По умолчанию true.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --analytics-enabled=true
  • с помощью переменной окружения: export YUCCA_ANALYTICS_ENABLED=true
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[analytics]
enabled = true

Информация о сборе также есть в условиях использования.

address

Адрес на который происходит отправка данных. По умолчанию https://analytics.yucca.app/.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --analytics-address=https://analytics.yucca.app/
  • с помощью переменной окружения: export YUCCA_ANALYTICS_ADDRESS=https://analytics.yucca.app/
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[analytics]
address = "https://analytics.yucca.app/"

yandex_metrika_counter_id

Yandex.Metrika Counter ID. Включено, если определено. По умолчанию "" (не определено).

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --analytics-yandex-metrika-counter-id=12345678
  • с помощью переменной окружения: export YUCCA_ANALYTICS_YANDEX_METRIKA_COUNTER_ID=12345678
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[analytics]
yandex_metrika_counter_id = 12345678

yandex_metrika_webvisor

Включает вебвизор, подробные записи активности пользователей на сайте: движение мыши, прокрутка и клики. По умолчанию false.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --analytics-yandex-metrika-webvisor=true
  • с помощью переменной окружения: export YUCCA_ANALYTICS_YANDEX_METRIKA_WEBVISOR=true
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[analytics]
yandex_metrika_webvisor = true

branding

Доступно только в Enterprise

Брендирование.

Путь к файлу с логотипом. Можно указывать http(s) URL http:// или путь на файловой системе file://.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --branding-app-logo=https://example.com/logo.png
  • с помощью переменной окружения: export YUCCA_BRANDING_APP_LOGO=file:///opt/yucca/logo.png
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[branding]
app_logo = "file:///opt/yucca/logo.png"

app_title

Текст в поле Title. По умолчанию "" (не определено).

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --branding-app-title=Yucca
  • с помощью переменной окружения: export YUCCA_BRANDING_APP_TITLE=Yucca
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[branding]
app_title = "Yucca"

site

Ссылка на ваш сайт.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --branding-site=https://yucca.app
  • с помощью переменной окружения: export YUCCA_BRANDING_SITE=https://yucca.app
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[branding]
site = "https://yucca.app"

documentation

Ссылка на страницу с документацией.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --branding-documentation=https://docs.yucca.app
  • с помощью переменной окружения: export YUCCA_BRANDING_DOCUMENTATION=https://docs.yucca.app
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[branding]
documentation = "https://docs.yucca.app"

fav_icon

Путь к файлу Favicon. Можно указывать http(s) URL http:// или путь на файловой системе file://.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --branding-fav-icon=https://example.com/favicon.ico
  • с помощью переменной окружения: export YUCCA_BRANDING_FAV_ICON=https://example.com/favicon.ico
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[branding]
fav_icon = "file:///opt/yucca/favicon.ico"

database

Подключение к базе данных.

type

Поддерживается 2 типа баз данных для хранения состояния – sqlite3 и postgres. В небольших инсталляциях, достаточно sqlite3, при большом количестве стримов, мы рекомендуем использовать postgres. По умолчанию sqlite3.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-type=sqlite3
  • с помощью переменной окружения: export YUCCA_DATABASE_TYPE=sqlite3
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
type = "sqlite3"

path

Путь к файлу базы (только для sqlite3).

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-path=/opt/yucca/server/state.db
  • с помощью переменной окружения: export YUCCA_DATABASE_PATH=/opt/yucca/server/state.db
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
path = "/opt/yucca/server/state.db"

host

Адрес подключения к базе (только для postgres). По умолчанию 127.0.0.1:5432.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-host=127.0.0.1:5432
  • с помощью переменной окружения: export YUCCA_DATABASE_HOST=127.0.0.1:5432
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
host = "127.0.0.1:5432"

name

Название базы данных (только для postgres). По умолчанию yucca.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-name=yucca
  • с помощью переменной окружения: export YUCCA_DATABASE_NAME=yucca
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
name = "yucca"

user

Имя пользователя для подключения (только для postgres). По умолчанию postgres.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-user=postgres
  • с помощью переменной окружения: export YUCCA_DATABASE_USER=postgres
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
user = "postgres"

password

Пароль пользователя для подключения (только для postgres). По умолчанию postgres.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-password=postgres
  • с помощью переменной окружения: export YUCCA_DATABASE_PASSWORD=postgres
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
password = "postgres"

ssl_mode

Использовать при подключении SSL (шифрованное соединение) (только для postgres). Возможные значения: disable, require, verify-full). По умолчанию disable.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-ssl-mode=disable
  • с помощью переменной окружения: export YUCCA_DATABASE_SSL_MODE=disable
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
ssl_mode = "disable"

busy_timeout

Тайм-аут в секундах для ожидания разблокировки таблицы SQLite (только для sqlite3). По умолчанию 500.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-busy-timeout=500
  • с помощью переменной окружения: export YUCCA_DATABASE_BUSY_TIMEOUT=500
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
busy_timeout = 500

ca_cert_path

Путь к сертификату центра сертификации (CA) случае использования SSL (только для postgres). По умолчанию /etc/ssl/certs.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-ca-cert-path=/etc/ssl/certs
  • с помощью переменной окружения: export YUCCA_DATABASE_CA_CERT_PATH=/etc/ssl/certs
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
ca_cert_path = "/etc/ssl/certs"

client_cert_path

Путь к файлу с сертификатом в случае использования SSL (только для postgres).

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-client-cert-path=/opt/yucca/ssl/cert.crt
  • с помощью переменной окружения: export YUCCA_DATABASE_CLIENT_CERT_PATH=/opt/yucca/ssl/cert.crt
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
client_cert_path = "/opt/yucca/ssl/cert.crt"

client_key_path

Путь к файлу с ключом в случае использования SSL (только для postgres).

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-client-key-path=/opt/yucca/ssl/cert.key
  • с помощью переменной окружения: export YUCCA_DATABASE_CLIENT_KEY_PATH=/opt/yucca/ssl/cert.key
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
client_key_path = "/opt/yucca/ssl/cert.key"

cache_mode

Параметр общего кэша, используемый для подключения к базе данных (только для sqlite3). Возможные значения: private, shared. По умолчанию shared.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-cache-mode=shared
  • с помощью переменной окружения: export YUCCA_DATABASE_CACHE_MODE=shared
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
cache_mode = "shared"

conn_max_lifetime

Устанавливает максимальное время, в течение которого соединение может быть повторно использовано. По умолчанию 0s.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-conn-max-lifetime=0s
  • с помощью переменной окружения: export YUCCA_DATABASE_CONN_MAX_LIFETIME=0s
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
conn_max_lifetime = "0s"

log_queries

Логировать SQL-запросы и время выполнения. По умолчанию false.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-log-queries=false
  • с помощью переменной окружения: export YUCCA_DATABASE_LOG_QUERIES=false
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
log_queries = false

max_open_conn

Максимальное количество открытых соединений с базой данных (только для postgres). По умолчанию 0.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-max-open-conn=0
  • с помощью переменной окружения: export YUCCA_DATABASE_MAX_OPEN_CONN=0
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
max_open_conn = 0

max_idle_conn

Максимальное количество соединений в ожидании (только для postgres). По умолчанию 2.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --database-max-idle-conn=2
  • с помощью переменной окружения: export YUCCA_DATABASE_MAX_IDLE_CONN=2
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[database]
max_idle_conn = 2

executor

Параметры запуска стримов.

type

Тип исполнителя для парковки стримов. Доступные значения exec, docker. По умолчанию exec.

  • Exec - сервер запускает ffmpeg и следит за его работой непосредстенно сам, без использования docker и yucca-worker.
  • Docker - на каждый поток сервер запускает docker контейнер в котором работает yucca-worker, который в свою очередь запускает ffmpeg и следит за его работой, в случае проблем перезапускает.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --executor=exec
  • с помощью переменной окружения: export YUCCA_EXECUTOR_TYPE=docker
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor]
type = "exec"

log_level

Уровень логирования. Возможные значения: panic, fatal, error, warning, info, debug). По умолчанию info.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --executor-log-level=info
  • с помощью переменной окружения: export YUCCA_EXECUTOR_LOG_LEVEL=info
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor]
log_level = "info"

exec

Дополнительные параметры для типа exec.

cancel_grace_period

Интервал ожидания завершения всех запущенных подпроцессов (ffmpeg, ffprobe, ...). По умолчанию 5s.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-cancel-grace-period=5s
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_CANCEL_GRACE_PERIOD=5s
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
cancel_grace_period = "5s"

ffmpeg_log_level

Уровень логирования для процессов ffmpeg. По умолчанию error.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-ffmpeg-log-level="error"
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_FFMPEG_LOG_LEVEL="error"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
ffmpeg_log_level = "error"

ffmpeg_log_max_file

Максимальное количество файлов журнала, которые могут присутствовать. По умолчанию 5

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-ffmpeg-log-max-file=5
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_FFMPEG_LOG_MAX_FILE=5
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
ffmpeg_log_max_file = 5

ffmpeg_log_max_size

Максимальное размер файла журнала перед его ротацией и сжатием. По умолчанию "20mb"

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-ffmpeg-log-max-size"20mb"
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_FFMPEG_LOG_MAX_SIZE"20mb"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
ffmpeg_log_max_size ="20mb"

hls_list_size

Длина m3u8 HLS плейлиста. По умолчанию 5.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-hls-list-size=5
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_HLS_LIST_SIZE=5
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
hls_list_size = 5

hls_time

Желаемая длина сегмента видео HLS сегметов в секундах. По умолчанию 2.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-hls-time=2
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_HLS_TIME=5
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
hls_time = 5

preview

Включение создания превью изображений в фоне. По умолчанию true.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-preview=true
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_PREVIEW=false
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
preview = true

preview_interval

Интервал создания превью изображений. По умолчанию 5s.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-preview-interval=5s
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_PREVIEW_INTERVAL=5s
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
preview_interval = "5s"

probe_interval

Интервал с который поток начинает проверяться на доступность, интервал постепенно возрастает(дабы избежать проблемы когда частые проверки приводят к зависанию IP камеры) до значения, заданного в probe_interval_maximum, при этом количество попыток не должно превышать значения probe_retries, иначе стрим перейдет в статус Failed. По умолчанию 5s.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-probe-interval="5s"
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_PROBE_INTERVAL="5s"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
probe_interval = "5s"

probe_interval_maximum

Смотри описание probe_interval. По умолчанию 1m0s.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-probe-interval-maximum="1m0s"
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_PROBE_INTERVAL_MAXIMUM="1m0s"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
probe_interval_maximum = "1m0s"

probe_retries

Смотри описание probe_interval. По умолчанию 5.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-probe-retries=5
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_PROBE_RETRIES=5
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
probe_retries = 5

probe_timeout

Таймаут получения информации по источнику. По умолчанию 5.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --exec-probe-timeout="1m0s"
  • с помощью переменной окружения: export YUCCA_EXECUTOR_EXEC_PROBE_TIMEOUT="1m0s"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.exec]
probe_timeout = "1m0s"

docker

Дополнительные параметры для типа docker.

image

Имя Docker-образа для работы в качестве исполнителя.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-image=registry.gitlab.com/yuccastream/yucca
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_IMAGE=registry.gitlab.com/yuccastream/yucca
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
image = "registry.gitlab.com/yuccastream/yucca"

cap_add

Добавить привилегии Linux для Docker-контейнера.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-cap-add=ALL
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_CAP_ADD=ALL
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
cap_add = "ALL"

cap_drop

Сбросить привилегии Linux для Docker-контейнера.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-cap-drop=ALL
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_CAP_DROP=ALL
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
cap_drop = "ALL"

cpu_shares

Ограничение потребления процессора для Dcoker-контейнера. Доли процессора (относительный вес по сравнению с другими контейнерами). По умолчанию 0.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-cpu-shares=0
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_CPU_SHARES=0
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
cpu_shares = 0

dns

Список DNS-серверов для использования Docker-контейнером.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-dns=8.8.8.8
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_DNS=8.8.8.8
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
dns = "8.8.8.8"

Список DNS-доменов поиска.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-dns-search=8.8.8.8
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_DNS_SEARCH=8.8.8.8
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
dns_search = "8.8.8.8"

memory

Ограничение памяти для Docker-контейнера. По умолчанию 0.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-memory=0
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_MEMORY=0
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
memory = 0

memory_reservation

Мягкий предел памяти. По умолчанию 0.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-memory-reservation=0
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_MEMORY_RESERVATION=0
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
memory_reservation = 0

memory_swap

Общий предел памяти. По умолчанию 0.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-memory-swap=0
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_MEMORY_SWAP=0
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
memory_swap = 0

nano_cpus

Квота процессора в единицах. По умолчанию 0.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-nano-cpus=0
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_NANO_CPUS=0
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
nano_cpus = 0

network_driver

Сетевой драйвер Docker.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-network-driver=bridge
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_NETWORK_DRIVER=bridge
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
network_driver = "bridge"

oom_kill_disable

Не уничтожать процессы в контейнере, если возникает ошибка нехватки памяти (OOM). По умолчанию false.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-oom-kill-disable=false
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_OOM_KILL_DISABLE=false
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
oom_kill_disable = false

oom_score_adjust

Настройка показателей OOM. По умолчанию 0.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-oom-score-adjust=0
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_OOM_SCORE_ADJUST=0
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
oom_score_adjust = 0

security_opt

Список строковых значений для настройки меток системы MLS, таких как SELinux.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --docker-security-opt="label=user:USER"
  • с помощью переменной окружения: export YUCCA_EXECUTOR_DOCKER_SECURITY_OPT="label=user:USER"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[executor.docker]
security_opt = "label=user:USER"

quota

Доступно только в Enterprise

Глобальные квоты на ресурсы. Может ограничивать максимальное количество определённых ресурсов, которые можно создать/добавить в рамках инсталяции.

global_stream

Квота на создание потоков. По умолчанию -1 – без ограничений.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --quota-global-stream=-1
  • с помощью переменной окружения: export YUCCA_QUOTA_GLOBAL_STREAM=-1
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[quota]
global_stream = -1

global_team

Квота на создание команд. По умолчанию -1 – без ограничений.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --quota-global-team=-1
  • с помощью переменной окружения: export YUCCA_QUOTA_GLOBAL_TEAM=-1
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[quota]
global_team = -1

global_user

Квота на создание пользователей. По умолчанию -1 – без ограничений.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --quota-global-user=-1
  • с помощью переменной окружения: export YUCCA_QUOTA_GLOBAL_USER=-1
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[quota]
global_user = -1

team_user

Квота на максимальное количество пользователей в команде. По умолчанию -1 – без ограничений.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --quota-team-user=-1
  • с помощью переменной окружения: export YUCCA_QUOTA_TEAM_USER=-1
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[quota]
team_user = -1

security

Параметры безопасности.

brute_force_login_protection

Включить защиту от подбора пароля. По умолчанию true.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --security-brute-force-login-protection=true
  • с помощью переменной окружения: export YUCCA_SECURITY_BRUTE_FORCE_LOGIN_PROTECTION=true
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[security]
brute_force_login_protection = true

security_password_length

Минимальная допустимая длина пароля. По умолчанию 3.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --security-password-length=3
  • с помощью переменной окружения: export YUCCA_SECURITY_PASSWORD_LENGTH=3
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[security]
password_length = 3

smtp_client

Настройки встроенного SMTP-клиента. Отвечает за рассылку уведомлений пользователям по почте, например о том, что скоро заканчивается лицензия.

enabled

Включить SMTP-клиент для отправки электронных писем. По умолчанию false.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client=true
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_ENABLED=true
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
enabled = true

host

Адресс SMTP сервера.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-host="smtp.gmail.com:465"
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_HOST="smtp.yandex.ru:465"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
host = ""

user

Пользователь для авторизации на SMTP сервере.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-user=""
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_USER=""
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
user = ""

password

Пароль для авторизации на SMTP сервере.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-password=""
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_PASSWORD=""
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
password = ""

from_address

Адрес, используемый при отправке электронных писем. По умолчанию "admin@yucca.localhost".

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-from-address="admin@yucca.localhost"
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_FROM_ADDRESS="admin@yucca.localhost"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
from_address = "admin@yucca.localhost"

from_name

Имя, используемое при отправке электронных писем. По умолчанию "Yucca".

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-from-name="Yucca"
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_FROM_NAME="Yucca"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
from_name = "Yucca"

cert_path

Путь к файлу с сертификатом.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-cert-path=""
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_CERT_PATH=""
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
cert_path = ""

key_path

Путь к файлу с ключём.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-key-path=""
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_KEY_PATH=""
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
key_path = ""

skip_verify

Проверять SSL сертификат SMTP сервера. По умолчанию false.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-client-skip-verify=""
  • с помощью переменной окружения: export YUCCA_SMTP_CLIENT_SKIP_VERIFY=""
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_client]
skip_verify = ""

smtp_server

Настройки встроенного SMTP-сервера.

enabled

Включить встроенный SMTP-сервер для получения события от камер. По умолчанию true.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-server=true
  • с помощью переменной окружения: export YUCCA_SMTP_SERVER_ENABLED=true
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_server]
enabled = true

listen_address

Адрес, на котором будет работать SMTP-сервер. По умолчанию :1025.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-server-listen-address=:1025
  • с помощью переменной окружения: export YUCCA_SMTP_SERVER_LISTEN_ADDRESS=:1025
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_server]
listen_address = ":1025"

password

Пароль для подключения к SMTP-серверу.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-server-password=admin
  • с помощью переменной окружения: export YUCCA_SMTP_SERVER_PASSWORD=admin
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_server]
password = "admin"

username

Логин для подключения к SMTP-серверу.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-server-username=admin
  • с помощью переменной окружения: export YUCCA_SMTP_SERVER_USERNAME=admin
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_server]
username = "admin"

read_timeout

Таймаут чтения входящего сообщения. По умолчанию 1s.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --smtp-server-read-timeout=1s
  • с помощью переменной окружения: export YUCCA_SMTP_SERVER_READ_TIMEOUT=1s
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[smtp_server]
read_timeout = "1s"

server

Глобальные параметры сервера.

data_dir

Глобальный каталог для хранения состояния (в случае использования sqlite3) и данных стримов. По умолчанию ./data.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --data-dir=/opt/yucca/data/
  • с помощью переменной окружения: export YUCCA_SERVER_DATA_DIR=/opt/yucca/data/
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
data_dir = "/opt/yucca/data/"

alloc_dir

Каталог с данными стримов (видео архив и прочее). По умолчанию ./data/alloc.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --alloc-dir=/opt/yucca/data/alloc/
  • с помощью переменной окружения: export YUCCA_SERVER_ALLOC_DIR=/opt/yucca/data/alloc/
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
alloc_dir = "/opt/yucca/data/alloc/"

state_dir

Каталог с файлом базы данных (в случае использования sqlite3). По умолчанию ./data/server.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --state-dir=/opt/yucca/data/server/
  • с помощью переменной окружения: export YUCCA_SERVER_STATE_DIR=/opt/yucca/data/server/
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
state_dir = "/opt/yucca/data/server/"

temp_dir

Каталог tmpfs для данных с коротким сроком хранения. По умолчанию /dev/shm/yucca. (тут хранятся ротируемые для живого потока чанки)

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --temp-dir=/dev/shm/yucca
  • с помощью переменной окружения: export YUCCA_SERVER_TEMP_DIR=/dev/shm/yucca
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
temp_dir = "/dev/shm/yucca"

stats_collection_interval

Интервал сборка статистики по ресурсам системы. По умолчанию 1s.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --stats-collection-interval=1s
  • с помощью переменной окружения: export YUCCA_SERVER_STATS_COLLECTION_INTERVAL=1s
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
stats_collection_interval = "1s"

default_language

Язык интерфейса по умолчанию у новых пользователей. Возможные значения: en, ru. По умолчанию en.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --default-language=en
  • с помощью переменной окружения: export YUCCA_SERVER_DEFAULT_LANGUAGE=en
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
default_language = "en"

domain

Используется для определения поля Server при настройке получения событий по Email

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --domain=demo.yucca.app
  • с помощью переменной окружения: export YUCCA_SERVER_DOMAIN=192.168.188.15
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
domain = "demo.yucca.app"

health_check_interval

Интервал для проверки работоспособности зависимостей. По умолчанию "30s".

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --health-check-interval="30s"
  • с помощью переменной окружения: export YUCCA_SERVER_HEALTH_CHECK_INTERVAL="30s"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
health_check_interval = "30s"

listen_address

IP адрес и порт на котором будет доступен веб интерфейс. По умолчанию :9910.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --web.listen-address=:9910
  • с помощью переменной окружения: export YUCCA_SERVER_LISTEN_ADDRESS=:9910
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
listen_address = ":9910"

cert_file

Путь к файлу сертификата, в случае использования HTTPS.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --cert-file=/opt/yucca/ssl/cert.crt
  • с помощью переменной окружения: export YUCCA_SERVER_CERT_FILE=/opt/yucca/ssl/cert.crt
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
cert_file = "/opt/yucca/ssl/cert.crt"

cert_key

Путь к файлу ключа, в случае использования HTTPS.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --cert-key=/opt/yucca/ssl/cert.key
  • с помощью переменной окружения: export YUCCA_SERVER_CERT_KEY=/opt/yucca/ssl/cert.key
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
cert_key = "/opt/yucca/ssl/cert.key"

pprof

Включить профилирование. По умолчанию true.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --pprof=true
  • с помощью переменной окружения: export YUCCA_SERVER_PPROF=true
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
pprof = true

pprof_listen_address

IP адрес и порт на котором будет доступен pprof профилировщик. По умолчанию :9911.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --pprof-listen-address=":9911"
  • с помощью переменной окружения: export YUCCA_SERVER_PPROF_LISTEN_ADDRESS=":9911"
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[server]
pprof_listen_address = ":9911"

streams

Параметры относящиеся к поведению стримов.

archive_download_max_duration

Максимальная допустимая длина запрашиваемого отрезка времени для скачивания. По умолчанию 24h.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --streams-archive-download-max-duration=24h
  • с помощью переменной окружения: export YUCCA_STREAMS_ARCHIVE_DOWNLOAD_MAX_DURATION=24h
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[streams]
archive_download_max_duration = "24h"

archive_max_depth_hours

Максимальная допустимая глубина для хранения архива в часах. По умолчанию -1 не ограничено.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --streams-archive-max-depth-hours=-1
  • с помощью переменной окружения: export YUCCA_STREAMS_ARCHIVE_MAX_DEPTH_HOURS=-1
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[streams]
archive_max_depth_hours = -1

playlist_max_duration

Максимально допустимая длина запрашиваемого отрезка времени для M3U8-плейлиста. По умолчанию 3h.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --streams-playlist-max-duration=3h
  • с помощью переменной окружения: export YUCCA_STREAMS_PLAYLIST_MAX_DURATION=3h
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[streams]
playlist_max_duration = "3h"

ranges_max_duration

Максимальная допустимая длина запрашиваемого отрезка времени для рейнджей (диапазон доступности архива). По умолчанию 168h.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --streams-ranges-max-duration=168h
  • с помощью переменной окружения: export YUCCA_STREAMS_RANGES_MAX_DURATION=168h
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[streams]
ranges_max_duration = "168h"

uuid_slug

Использовать, в качестве публичного идентификатора потока, сгенерированный UUID. По умолчанию false.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --streams-uuid-slug=false
  • с помощью переменной окружения: export YUCCA_STREAMS_UUID_SLUG=false
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[streams]
uuid_slug = false

telemetry

Телеметрия.

enabled

Включить предоставление метрик в формате Prometheus. По умолчанию true.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --telemetry=true
  • с помощью переменной окружения: export YUCCA_TELEMETRY_ENABLED=true
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[telemetry]
enabled = true

listen_address

IP адрес и порт на котором будет доступена телеметрия. По умолчанию :9912.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --telemetry-listen-address=:9912
  • с помощью переменной окружения: export YUCCA_TELEMETRY_LISTEN_ADDRESS=:9912
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[telemetry]
listen_address = ":9912"

path

URI для доступа к телеметрии. По умолчанию /metrics.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --telemetry-path=/metrics
  • с помощью переменной окружения: export YUCCA_TELEMETRY_PATH=/metrics
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[telemetry]
path = "/metrics"

basic_auth_username

Логин базовой авторизации для доступа к телеметрии. По умолчанию не определено.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --telemetry-basic-auth-username=admin
  • с помощью переменной окружения: export YUCCA_TELEMETRY_BASIC_AUTH_USERNAME=admin
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[telemetry]
basic_auth_username = "admin"

basic_auth_password

Пароль базовой авторизации для доступа к телеметрии. По умолчанию не определено.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --telemetry-basic-auth-password=admin
  • с помощью переменной окружения: export YUCCA_TELEMETRY_BASIC_AUTH_PASSWORD=admin
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[telemetry]
basic_auth_password = "admin"

environment_info

Лейблы для метрики yucca_environment_info.

Значение можно определить одним из способов:

  • с помощью аргумента запуска: --telemetry-environment-info=env:test
  • с помощью переменной окружения: export YUCCA_TELEMETRY_ENVIRONMENT_INFO=env:test
  • с помощью конфигурационного файла:
# /opt/yucca/yucca.toml
[telemetry.environment_info]
env = "test"