Files
docs/content/iptvc/config/env.md
T
2026-07-13 12:30:05 +08:00

7.5 KiB

icon, tags
icon tags
simple/dotenv
iptvc
переменные окружения

:simple-dotenv: Переменные окружения

Переменные окружения переопределяют значения из config.yml. Файл .env загружается автоматически при запуске.

Приоритет: defaults → config.yml → env → CLI-флаги.

Приложение

Имя Тип Умолчание Назначение
APP_DEBUG bool false Режим отладки
APP_LOG_LEVEL string info Уровень логирования (debug, info, warn, error)
APP_TIMEZONE string GMT Часовой пояс
APP_PLAYLISTS string ./playlists.ini Путь к playlists.ini
APP_TAGS string ./channels.json Путь к channels.json

Веб-сервер и сайт

Имя Тип Умолчание Назначение
WEB_PORT uint 8080 Порт веб-сервера
WEB_HOST string (пусто) Хост для привязки
APP_URL string http://localhost:8080 Базовый URL для ссылок
PAGE_SIZE uint 0 Размер страницы (0 — без пагинации)
REPO_URL string https://git.axenov.dev/IPTV Ссылка на репозиторий
SITE_FAVICON string (пусто) Путь к иконке сайта
APP_TITLE string IPTV Checker Заголовок сайта

Проверка

Имя Тип Умолчание Назначение
CHECK_START_ON_SERVE bool false Запустить фоновую проверку при serve без флага --check

check.playlists

Имя Тип Умолчание Назначение
CHECK_PLAYLISTS_TIMEOUT int 10000 Таймаут запроса плейлиста (мс)
CHECK_PLAYLISTS_ALL_COOLDOWN int 0 Задержка после всех плейлистов (мс, скаляр)
CHECK_PLAYLISTS_ALL_COOLDOWN_MIN int 0 Минимум задержки после всех плейлистов (мс)
CHECK_PLAYLISTS_ALL_COOLDOWN_MAX int 0 Максимум задержки после всех плейлистов (мс)
CHECK_PLAYLISTS_ONE_COOLDOWN int 0 Задержка после каждого плейлиста (мс, скаляр)
CHECK_PLAYLISTS_ONE_COOLDOWN_MIN int 0 Минимум задержки после каждого плейлиста (мс)
CHECK_PLAYLISTS_ONE_COOLDOWN_MAX int 0 Максимум задержки после каждого плейлиста (мс)
CHECK_PLAYLISTS_MAX_ROUTINES int 5 Максимум параллельных проверок плейлистов
CHECK_PLAYLISTS_PER_ROUTINE int 1 Плейлистов на процедуру
CHECK_PLAYLISTS_USER_AGENT_1 string Mozilla/5.0 … Первый User-Agent для запросов плейлистов
CHECK_PLAYLISTS_USER_AGENT_2 string Второй User-Agent (и т.д.)

check.channels

Имя Тип Умолчание Назначение
CHECK_CHANNELS_TIMEOUT int 10000 Таймаут запроса канала (мс)
CHECK_CHANNELS_BYTE_RANGE int 512 Объём данных от сервера (байт)
CHECK_CHANNELS_COOLDOWN int 0 Задержка после каждого канала (мс, скаляр)
CHECK_CHANNELS_COOLDOWN_MIN int 0 Минимум задержки после каждого канала (мс)
CHECK_CHANNELS_COOLDOWN_MAX int 0 Максимум задержки после каждого канала (мс)
CHECK_CHANNELS_MAX_ROUTINES int 50 Максимум параллельных проверок каналов
CHECK_CHANNELS_PER_ROUTINE int 10 Каналов на процедуру
CHECK_CHANNELS_USER_AGENT_1 string Mozilla/5.0 … Первый User-Agent для запросов каналов
CHECK_CHANNELS_USER_AGENT_2 string Второй User-Agent (и т.д.)

Кеширование

Кеш хранится в СУБД redis или keydb.

Имя Тип Умолчание Назначение
CACHE_ENABLED bool false Включает кеширование
CACHE_HOST string localhost Имя хоста СУБД
CACHE_PORT uint 6379 Порт СУБД
CACHE_USERNAME string (пусто) Логин пользователя в СУБД
CACHE_PASSWORD string (пусто) Пароль пользователя в СУБД
CACHE_DB uint 0 Номер БД в СУБД для кеша
CACHE_TTL uint 1800 Время жизни ключей кеша в секундах

Правила

Диапазоны cooldown

Поля all-cooldown, one-cooldown и channels.cooldown поддерживают скаляр и диапазон [min, max].

Через env-переменные:

  • Заданы обе _MIN и _MAX → диапазон (случайное значение при каждой проверке).
  • Задана только скалярная переменная (без суффикса) → фиксированное значение.
  • Задана только одна из _MIN / _MAX → переменная игнорируется.
CHECK_PLAYLISTS_ALL_COOLDOWN=500
CHECK_PLAYLISTS_ALL_COOLDOWN_MIN=100
CHECK_PLAYLISTS_ALL_COOLDOWN_MAX=2000

Массивы user-agent

Поля user-agent поддерживают массив строк. Через env задаются индексированными переменными _1, _2, _3, …

  • Чтение останавливается на первой отсутствующей переменной.
  • Пустые значения пропускаются.
CHECK_PLAYLISTS_USER_AGENT_1=Mozilla/5.0 WINK/1.31.1 (AndroidTV/9) HlsWinkPlayer
CHECK_PLAYLISTS_USER_AGENT_2=curl/8.0