Skip to content

Backend

WARNING

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

ПеременнаяПо умолчаниюЗначенияЗачем нужна?
PU_FF_TELEGRAM_BOT_ENABLETrueTrue / FalseФункциональный флаг, отвечает за то, включен ли Telegram Bot
PU_FF_GRAFANA_INTEGRATION_ENABLETrueTrue / FalseФункциональный флаг, отвечает за то, включена ли интеграция с Grafana
PU_FF_DATAPIPE_ENABLETrueTrue / FalseФункциональный флаг, отвечает за то, включены ли возможности DataPipe. Когда флаг выключен, нужно так же выключить DataPipe сервис, т.к. он перестанет получать обновления конфигураций и т.д.
PU_FF_DATAPIPE_DEFAULT_LAST_VALUE_ENABLETrueTrue / FalseФункциональный флаг, отвечает за то, будет ли устанавливаться по умолчанию DataPipe с типом LastValue для UnitNode
PU_FF_PROMETHEUS_ENABLETrueTrue / FalseФункциональный флаг, отвечает за то, включен ли мониторинг запросов через Prometheus или нет
PU_FF_FEDERATION_ENABLETrueTrue / FalseФункциональный флаг, отвечает за то, включено ли взаимодействие с другими инстансами Pepeunit: опрос их состояния, обмен известными доменами и публичными реестрами. Когда флаг выключен, фоновые задачи сбора данных о внешних инстансах не запускаются
PU_LOG_FORMATjsonjson / plainОпределяет формат логов. В режиме json каждая запись лога будет одним dict. При использовании plain строки лога будут стандартными, но traceback будет писаться отдельными строками
PU_MIN_LOG_LEVELINFODEBUG / INFO / WARNING / ERROR / CRITICALМинимальный уровень логов, выводимых в консоль. Все логи с более низким приоритетом выводиться не будут. Допустимые значения: DEBUG, INFO, WARNING, ERROR и CRITICAL
PU_APP_PREFIX/pepeunit/..., ≤ 128 симв.Стандартный префикс, позволяющий дистанцировать навигацию от домена, обычно не требует изменений. Нужен для сложных встраиваемых систем
PU_API_V1_PREFIX/api/v1/..., ≤ 128 симв.Префикс версии REST API, нужен для возможности поддержки старых версий REST API, а также для систем требующих поддержки нескольких версий одновременно
PU_WORKER_COUNT22128Число воркеров Gunicorn, позволяет увеличить нагрузку, которую способен выдержать Backend
PU_DOMAIN-hostname, ≤ 128 симв.Доменное имя или ip. Влияет на ссылки, которые генерирует Backend. Позволяет Unit связываться с Backend. Устанавливается в Unit ENV - как PU_DOMAIN
PU_SECURETrueTrue / FalseЕсли True, то Backend будет генерировать ссылки с https для PU_DOMAIN. Устанавливается в Unit ENV - в поле PU_HTTP_TYPE, но уже в формате https/http
PU_AUTH_TOKEN_EXPIRATION267840060011059200Время жизни токенов авторизации Пользователей, в секундах
PU_SAVE_REPO_PATHrepo_cache≤ 128 симв.Путь, по которому Backend хранит внешние Git репозитории. Устанавливается относительно корневой директории Backend
PU_PROMETHEUS_MULTIPROC_DIR./prometheus_metrics≤ 128 симв.Директория, которую Prometheus использует для хранения статистик с нескольких worker - uvicorn. При старте приложения содержимое директории отчищается
PU_MIN_INTERVAL_SYNC_REPOSITORY1011800Время в секундах, которое должно пройти перед следующим запросом обновления репозитория из внешнего ресурса
PU_STATE_SEND_INTERVAL601600Частота в секундах, с которой Unit'ы должны отправлять своё состояние. Устанавливается в Unit ENV в поле STATE_SEND_INTERVAL
PU_MAX_EXTERNAL_REPO_SIZE5001024Значение в МБ, ограничивающее размер внешних Git репозиториев для скачивания
PU_MAX_CIPHER_LENGTH100000001000000 симв.Максимальная длинна в символах для шифруемой информации
PU_HTTP_TIMEOUT300120Таймаут в секундах для исходящих HTTP-запросов Backend: к EMQX, Grafana, внешним Git репозиториям, а также другим инстансам Pepeunit
PU_HTTP_CONNECT_TIMEOUT15060Таймаут в секундах на установление соединения для исходящих HTTP-запросов, а также для подключений к Redis и ClickHouse
PU_INSTANCE_MAX_STATE_SIZE4096409665536 байтМаксимальный размер ответа внешнего инстанса Pepeunit в байтах. Ответы большего размера отклоняются при сборе состояния
PU_INSTANCE_RETENTION_DAYS601120Число дней без успешного опроса, после которого доверенный внешний инстанс Pepeunit удаляется. Перед удалением выполняется обязательный повторный опрос
PU_ADMIN_EMAIL-email или пусто, ≤ 128 симв.Публичный email Администратора инстанса. Отображается в контактах текущего инстанса, может быть пустым
PU_ADMIN_TG-≤ 128 симв.Публичный контакт Администратора в Telegram. Отображается в контактах текущего инстанса, может быть пустым
PU_UNIT_LOG_EXPIRATION8640060604800Время жизни логов, которые присылают Unit, в секундах
PU_MAX_PAGINATION_SIZE1001500Максимальное количество объектов, которое можно получить за 1 запрос. Применяется в местах, где есть пагинация
PU_SECRET_KEY-16128 симв.32 байтовый ключ в формате base64. Отвечает за подпись токенов авторизации. В случае изменения, все jwt токены, созданные до изменения, становятся недействительными
PU_ENCRYPT_KEY-base64 → 16 / 24 / 32 байт, ≤ 128 симв.32 байтовый ключ в формате base64. Отвечает за шифрование всех данных. В случае изменения, все шифрованные записи становится невозможно расшифровать
PU_STATIC_SALT-не пусто, ≤ 128 симв.32 байтовый ключ в формате base64. Отвечает за генерацию hash для паролей Пользователей. В случае изменения, все учётные записи, созданные до момента изменения, потеряют возможность авторизоваться
PU_SQLALCHEMY_DATABASE_URL-postgresql / postgresql+psycopg2 / postgresql+asyncpg, ≤ 1024 симв.Ссылка для подключения к PostgreSQL
PU_CLICKHOUSE_DATABASE_URL-URL с hostname, ≤ 1024 симв.Ссылка для подключения к ClickHouse
PU_REDIS_URLredis://redis:6379/0redis / rediss, ≤ 1024 симв.Ссылка для доступа к Redis, которую использует Backend для соединения c Redis. Инстанс Redis должен быть единым с PU_MQTT_REDIS_AUTH_URL
PU_TELEGRAM_BOT_MODEwebhookwebhook / poolingПринимает значения: webhook или pooling. Позволяет указать, как Backend будет обмениваться информацией с Telegram Bot. pooling позволяет работать без личного домена и https в средах, где есть доступ в интернет. webhook более производительный вариант, предназаначен для использования с https и личным доменом, ссылка на webhook устанавливает автоматически в момент старта приложения
PU_TELEGRAM_DEL_OLD_WEBHOOKTrueTrue / FalseУдаляется ли webhook для Telegram Bot перед тем, как создать новый
PU_TELEGRAM_TOKEN-123456:ABC-def, ≤ 128 симв.Токен Telegram Bot. Секретный, никому не показывайте
PU_TELEGRAM_BOT_LINK-http / https, ≤ 512 симв.Ссылка на Telegram Bot, которым управляет Backend. Используется для генерации верификационных ссылок для Пользователей. Передаётся в openapi.json
PU_TELEGRAM_ITEMS_PER_PAGE7120Число пагинируемых элементов при отображении за один раз в Telegram Bot
PU_TELEGRAM_HEADER_ENTITY_LENGTH15164 симв.Предельная длинна наименований сущностей при отображении в Telegram Bot
PU_TELEGRAM_GIT_HASH_LENGTH8116 симв.Предельная длинна hash Git Commit при отображении в Telegram Bot
PU_TELEGRAM_PROXY_URL-http / https / socks5 / socks5h или пусто, ≤ 512 симв.При указании позволяет боту проксировать запросы через заданный сервер, например socks5://user:password@1.1.1.1:1080. В комбинации с pooling позволяет обходить блокировки Telegram
PU_MQTT_HOST-hostname, ≤ 128 симв.Доменное имя или ip. Позволяет Backend управлять и подписываться на топики EMQX. Позволяет Unit связываться с EMQX. Устанавливается в Unit ENV - в поле PU_MQTT_HOST
PU_MQTT_SECURETrueTrue / FalseЕсли True, то Backend будет использовать https для настройки EMQX
PU_MQTT_PORT1883165535Порт, по которому Unit и Backend связываются c EMQX. Устанавливается в Unit ENV - в поле PU_MQTT_PORT
PU_MQTT_API_PORT18083165535Порт API EMQX, по которому Backend производит настройку EMQX
PU_MQTT_KEEPALIVE600600Максимальный период в секундах между отправками ping от Backend до EMQX
PU_MQTT_USERNAME-не пусто, ≤ 128 симв.Имя пользователя EMQX. Backend использует его для первичной настройки брокера
PU_MQTT_PASSWORD-не пусто, ≤ 128 симв.Пароль пользователя EMQX. Backend использует его для первичной настройки брокера
PU_MQTT_REDIS_AUTH_URLredis://redis:6379/0redis / rediss, ≤ 512 симв.Ссылка для доступа к Redis, которую использует EMQX для соединения c Redis. Инстанс Redis должен быть единым с PU_REDIS_URL
PU_MQTT_MAX_CLIENTS102411024Максимальное число клиентов EMQX
PU_MQTT_MAX_CLIENT_CONNECTION_RATE20/s20 / 20/s / 20/m / 20/h, ≤ 64 симв.Максимальная скорость подписки клиентов EMQX
PU_MQTT_MAX_CLIENT_ID_LEN51211024 симв.Максимальная длинная id клиентов EMQX
PU_MQTT_CLIENT_MAX_MESSAGES_RATE30/s20 / 20/s / 20/m / 20/h, ≤ 64 симв.Максимальная частота отправки сообщений одним клиентом EMQX
PU_MQTT_CLIENT_MAX_BYTES_RATE1MB/s1MB/s, KB / MB / GB / B, ≤ 64 симв.Максимальная скорость соединения с клиентом EMQX
PU_MQTT_MAX_PAYLOAD_SIZE25614096 КБМаксимальный размер в килобайтах, для данных передаваемых через топики EMQX
PU_MQTT_MAX_QOS202Максимальное качество обслуживания доступное в EMQX
PU_MQTT_MAX_TOPIC_LEVELS5532Максимальная вложенность топиков EMQX
PU_MQTT_MAX_LEN_MESSAGE_QUEUE12811024Максимальная длинна очереди сообщений EMQX
PU_MQTT_MAX_TOPIC_ALIAS1280256Максимальное число топиков-ссылок EMQX
PU_GRAFANA_ADMIN_USER-не пусто при FF, ≤ 128 симв.Логин администратора для Grafana
PU_GRAFANA_ADMIN_PASSWORD-не пусто при FF, ≤ 128 симв.Пароль администратора для Grafana
PU_GRAFANA_LIMIT_UNIT_NODE_PER_ONE_PANEL10132Максимальное число UnitNode для одной Visualization
PU_GITHUB_TOKEN_NAME-вместе с PAT или оба пустые, ≤ 128 симв.Название GitHub токена, с разрешением только для чтения публичных репозиториев. Используется для увеличения лимита загрузки публичных репозиториев с GitHub с 60 в час до 5000 в час
PU_GITHUB_TOKEN_PAT-вместе с NAME или оба пустые, ≤ 128 симв.GitHub токен, с разрешением только для чтения публичных репозиториев. Используется для увеличения лимита загрузки публичных репозиториев с GitHub с 60 в час до 5000 в час