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 → переменная игнорируется.
Массивы user-agent
Поля user-agent поддерживают массив строк. Через env задаются индексированными переменными _1, _2, _3, …
- Чтение останавливается на первой отсутствующей переменной.
- Пустые значения пропускаются.