Skip to content

Environment Variables

github-actions[bot] edited this page Jul 11, 2026 · 1 revision

Переменные окружения

Поведение контейнера настраивается через переменные окружения. Они передаются флагом -e в docker run или блоком environment: в Docker Compose.


Сводная таблица

Переменная По умолчанию Назначение
CRON_TIMEOUT 0 * * * * Расписание запуска проверки обновлений (формат cron). По умолчанию — каждый час.
CRON_COMMAND php -q /data/htdocs/engine.php 2>&1 Команда, запускаемая по расписанию. Менять обычно не нужно.
PHP_TIMEZONE UTC Часовой пояс PHP (например, Europe/Moscow).
PHP_MEMORY_LIMIT 512M Лимит оперативной памяти для PHP.
NGINX_PORT 80 Порт, который слушает Nginx внутри контейнера.
PUID UID пользователя, от имени которого создаются файлы.
PGID GID группы для файлов.

CRON_TIMEOUT — расписание проверок

Задаёт, как часто контейнер проверяет трекеры на обновления. Используется стандартный формат cron из пяти полей:

┌───────────── минута (0–59)
│ ┌─────────── час (0–23)
│ │ ┌───────── день месяца (1–31)
│ │ │ ┌─────── месяц (1–12)
│ │ │ │ ┌───── день недели (0–7, где 0 и 7 — воскресенье)
│ │ │ │ │
* * * * *

Примеры:

Значение Что означает
0 * * * * каждый час в начале часа (по умолчанию)
*/30 * * * * каждые 30 минут
0 */3 * * * каждые 3 часа
15 8-23 * * * в 15 минут каждого часа с 8:00 до 23:00
*/30 8-22 * * * каждые 30 минут с 8:00 до 22:00

Пример использования:

-e CRON_TIMEOUT="*/30 8-22 * * *"

⏰ Расписание привязано к часовому поясу из PHP_TIMEZONE, поэтому задавайте обе переменные согласованно.


CRON_COMMAND — команда обновления

Команда, которую cron выполняет по расписанию. По умолчанию запускает движок TorrentMonitor:

php -q /data/htdocs/engine.php 2>&1

Менять её требуется в редких случаях (например, для отладки). Для большинства пользователей значение по умолчанию подходит.


PHP_TIMEZONE — часовой пояс

Влияет на отображение времени в интерфейсе и на работу расписания cron. Значение — идентификатор из базы часовых поясов PHP, например:

-e PHP_TIMEZONE="Europe/Moscow"
-e PHP_TIMEZONE="Asia/Yekaterinburg"
-e PHP_TIMEZONE="Europe/Kyiv"

Для синхронизации системного времени контейнера с хостом дополнительно примонтируйте localtime:

-v /etc/localtime:/etc/localtime:ro

PHP_MEMORY_LIMIT — лимит памяти

Ограничение оперативной памяти для PHP. По умолчанию 512M. Увеличьте, если при обработке большого числа раздач возникают ошибки нехватки памяти:

-e PHP_MEMORY_LIMIT="1024M"

NGINX_PORT — внутренний порт

Порт, который слушает Nginx внутри контейнера (по умолчанию 80). Обычно менять его не нужно — для смены внешнего порта достаточно изменить проброс -p. Менять NGINX_PORT имеет смысл при работе в режиме сети host или при особых сетевых требованиях. При изменении согласуйте его с пробросом портов:

-p 8081:8081 -e NGINX_PORT=8081

Значение должно быть числом от 1 до 65535, иначе контейнер не запустится.


PUID и PGID — права на файлы

Задают UID и GID, от имени которых внутри контейнера создаются файлы (база, торренты). Это важно, когда вы используете папки хоста (bind mount) и хотите, чтобы файлы принадлежали вашему пользователю.

Узнать свои UID и GID:

id -u    # ваш UID
id -g    # ваш GID

Пример:

-e PUID=1000 -e PGID=1000

Если переменные не заданы, используются значения по умолчанию пользователя nginx внутри контейнера.


Пример со всеми переменными

docker run

docker container run -d \
  --name torrentmonitor \
  --restart unless-stopped \
  -p 8080:80 \
  -v torrentfiles:/data/htdocs/torrents \
  -v db:/data/htdocs/db \
  -v /etc/localtime:/etc/localtime:ro \
  -e PHP_TIMEZONE="Europe/Moscow" \
  -e CRON_TIMEOUT="*/30 8-22 * * *" \
  -e PHP_MEMORY_LIMIT="512M" \
  -e NGINX_PORT="80" \
  -e PUID=1000 \
  -e PGID=1000 \
  alfonder/torrentmonitor

docker compose

services:
  torrentmonitor:
    container_name: torrentmonitor
    image: alfonder/torrentmonitor:latest
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - torrentfiles:/data/htdocs/torrents
      - db:/data/htdocs/db
      - /etc/localtime:/etc/localtime:ro
    environment:
      - PHP_TIMEZONE=Europe/Moscow
      - CRON_TIMEOUT=*/30 8-22 * * *
      - PHP_MEMORY_LIMIT=512M
      - NGINX_PORT=80
      - PUID=1000
      - PGID=1000

volumes:
  torrentfiles:
  db:

Clone this wiki locally