Skip to content

Backend

WARNING

Ручное заполнение обычно не требуется, нужно заполнить только основные переменные т.к. есть файл генерации .env файлов для сервисов

ПеременнаяПо умолчаниюЗачем нужна?
PU_FF_TELEGRAM_BOT_ENABLETrueФункциональный флаг, отвечает за то, включен ли Telegram Bot
PU_FF_GRAFANA_INTEGRATION_ENABLETrueФункциональный флаг, отвечает за то, включена ли интеграция с Grafana
PU_FF_DATAPIPE_DEFAULT_LAST_VALUE_ENABLETrueФункциональный флаг, отвечает за то, будет ли устанавливаться по умолчанию DataPipe с типом LastValue для UnitNode
PU_FF_DATAPIPE_ENABLETrueФункциональный флаг, отвечает за то, включены ли возможности DataPipe. Когда флаг выключен, нужно так же выключить DataPipe сервис, т.к. он перестанет получать обновления конфигураций и т.д.
PU_FF_PROMETHEUS_ENABLETrueФункциональный флаг, отвечает за то, включен ли мониторинг запросов через Prometheus или нет
PU_LOG_FORMATjsonОпределяет формат логов. В режиме json каждая запись лога будет одним dict. При использовании plain строки лога будут стандартными, но traceback будет писаться отдельными строками
PU_MIN_LOG_LEVELINFOМинимальный уровень логов, выводимых в консоль. Все логи с более низким приоритетом выводиться не будут. Допустимые значения: DEBUG, INFO, WARNING, ERROR и CRITICAL
PU_APP_PREFIX/pepeunitСтандартный префикс, позволяющий дистанцировать навигацию от домена, обычно не требует изменений. Нужен для сложных встраиваемых систем
PU_API_V1_PREFIX/api/v1Префикс версии REST API, нужен для возможности поддержки старых версий REST API, а также для систем требующих поддержки нескольких версий одновременно
PU_WORKER_COUNT2Число воркеров Gunicorn, позволяет увеличить нагрузку, которую способен выдержать Backend
PU_DOMAIN-Доменное имя или ip. Влияет на ссылки, которые генерирует Backend. Позволяет Unit связываться с Backend. Устанавливается в Unit ENV - как PU_DOMAIN
PU_SECURETrueЕсли True, то Backend будет генерировать ссылки с https для PU_DOMAIN. Устанавливается в Unit ENV - в поле PU_HTTP_TYPE, но уже в формате https/http
PU_AUTH_TOKEN_EXPIRATION2678400Время жизни токенов авторизации Пользователей, в секундах
PU_SAVE_REPO_PATHrepo_cacheПуть, по которому Backend хранит внешние Git репозитории. Устанавливается относительно корневой директории Backend
PU_SQLALCHEMY_DATABASE_URL-Ссылка для подключения к PostgreSQL
PU_CLICKHOUSE_DATABASE_URL-Ссылка для подключения к ClickHouse
PU_SECRET_KEY-32 байтовый ключ в формате base64. Отвечает за подпись токенов авторизации. В случае изменения, все jwt токены, созданные до изменения, становятся недействительными
PU_ENCRYPT_KEY-32 байтовый ключ в формате base64. Отвечает за шифрование всех данных. В случае изменения, все шифрованные записи становится невозможно расшифровать
PU_STATIC_SALT-32 байтовый ключ в формате base64. Отвечает за генерацию hash для паролей Пользователей. В случае изменения, все учётные записи, созданные до момента изменения, потеряют возможность авторизоваться
PU_MIN_INTERVAL_SYNC_REPOSITORY10Время в секундах, которое должно пройти перед следующим запросом обновления репозитория из внешнего ресурса
PU_STATE_SEND_INTERVAL60Частота в секундах, с которой Unit'ы должны отправлять своё состояние. Устанавливается в Unit ENV в поле STATE_SEND_INTERVAL
PU_MAX_EXTERNAL_REPO_SIZE50Значение в МБ, ограничивающее размер внешних Git репозиториев для скачивания
PU_MAX_CIPHER_LENGTH1000000Максимальная длинна в символах для шифруемой информации
PU_MIN_TOPIC_UPDATE_TIME30Частота обновления сообщений в domain.com/+/pepeunit топиках MQTT
PU_UNIT_LOG_EXPIRATION86400Время жизни логов, которые присылают Unit, в секундах
PU_MAX_PAGINATION_SIZE500Максимальное количество объектов, которое можно получить за 1 запрос. Применяется в местах, где есть пагинация
PU_TELEGRAM_BOT_MODEwebhookПринимает значения: webhook или pooling. Позволяет указать, как Backend будет обмениваться информацией с Telegram Bot. pooling позволяет работать без личного домена и https в средах, где есть доступ в интернет. webhook более производительный вариант, предназаначен для использования с https и личным доменом, ссылка на webhook устанавливает автоматически в момент старта приложения
PU_TELEGRAM_DEL_OLD_WEBHOOKTrueУдаляется ли webhook для Telegram Bot перед тем, как создать новый
PU_TELEGRAM_TOKEN-Токен Telegram Bot. Секретный, никому не показывайте
PU_TELEGRAM_BOT_LINK-Ссылка на Telegram Bot, которым управляет Backend. Используется для генерации верификационных ссылок для Пользователей. Передаётся в openapi.json
PU_TELEGRAM_ITEMS_PER_PAGE7Число пагинируемых элементов при отображении за один раз в Telegram Bot
PU_TELEGRAM_HEADER_ENTITY_LENGTH15Предельная длинна наименований сущностей при отображении в Telegram Bot
PU_TELEGRAM_GIT_HASH_LENGTH8Предельная длинна hash Git Commit при отображении в Telegram Bot
PU_PROMETHEUS_MULTIPROC_DIR./prometheus_metricsДиректория, которую Prometheus использует для хранения статистик с нескольких worker - uvicorn. При старте приложения содержимое директории отчищается
PU_REDIS_URLredis://redis:6379/0Ссылка для доступа к Redis, которую использует Backend для соединения c Redis. Инстанс Redis должен быть единым с MQTT_REDIS_AUTH_URL
PU_MQTT_HOST-Доменное имя или ip. Позволяет Backend управлять и подписываться на топики EMQX. Позволяет Unit связываться с EMQX. Устанавливается в Unit ENV - в поле PU_MQTT_HOST
PU_MQTT_SECURETrueЕсли True, то Backend будет использовать https для настройки EMQX
PU_MQTT_PORT1883Порт, по которому Unit и Backend связываются c EMQX. Устанавливается в Unit ENV - в поле PU_MQTT_PORT
PU_MQTT_API_PORT18083Порт API EMQX, по которому Backend производит настройку EMQX
PU_MQTT_KEEPALIVE60Максимальный период в секундах между отправками ping от Backend до EMQX
PU_MQTT_USERNAME-Имя пользователя EMQX. Backend использует его для первичной настройки брокера
PU_MQTT_PASSWORD-Пароль пользователя EMQX. Backend использует его для первичной настройки брокера
PU_MQTT_REDIS_AUTH_URLredis://redis:6379/0Ссылка для доступа к Redis, которую использует EMQX для соединения c Redis. Инстанс Redis должен быть единым с REDIS_URL
PU_MQTT_MAX_CLIENTS10000Максимальное число клиентов EMQX
PU_MQTT_MAX_CLIENT_CONNECTION_RATE20/sМаксимальная скорость подписки клиентов EMQX
PU_MQTT_MAX_CLIENT_ID_LEN512Максимальная длинная id клиентов EMQX
PU_MQTT_CLIENT_MAX_MESSAGES_RATE30/sМаксимальная частота отправки сообщений одним клиентом EMQX
PU_MQTT_CLIENT_MAX_BYTES_RATE1MB/sМаксимальная скорость соединения с клиентом EMQX
PU_MQTT_MAX_PAYLOAD_SIZE256Максимальный размер в килобайтах, для данных передаваемых через топики EMQX
PU_MQTT_MAX_QOS2Максимальное качество обслуживания доступное в EMQX
PU_MQTT_MAX_TOPIC_LEVELS5Максимальная вложенность топиков EMQX
PU_MQTT_MAX_LEN_MESSAGE_QUEUE128Максимальная длинна очереди сообщений EMQX
PU_MQTT_MAX_TOPIC_ALIAS128Максимальное число топиков-ссылок EMQX
PU_GITHUB_TOKEN_NAME-Название GitHub токена, с разрешением только для чтения публичных репозиториев. Используется для увеличения лимита загрузки публичных репозиториев с GitHub с 60 в час до 5000 в час
PU_GITHUB_TOKEN_PAT-GitHub токен, с разрешением только для чтения публичных репозиториев. Используется для увеличения лимита загрузки публичных репозиториев с GitHub с 60 в час до 5000 в час
PU_GRAFANA_ADMIN_USER-Логин администратора для Grafana
PU_GRAFANA_ADMIN_PASSWORD-Пароль администратора для Grafana
PU_GRAFANA_LIMIT_UNIT_NODE_PER_ONE_PANEL10Максимальное число UnitNode для одной Visualization