Skip to content

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

Backend

WARNING

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

ПеременнаяПо умолчаниюЗачем нужна?
BACKEND_DEBUGFalseПри включении расширяет вывод логов для FastApi и SqlAlchemy
BACKEND_APP_PREFIX/pepeunitСтандартный префикс, позволяющий дистанцировать навигацию от домена, обычно не требует изменений. Нужен для сложных встраиваемых систем
BACKEND_API_V1_PREFIX/api/v1Префикс версии REST API, нужен для возможности поддержки старых версий REST API, а также для систем требующих поддержки нескольких версий одновременно
BACKEND_WORKER_COUNT2Число воркеров Gunicorn, позволяет увеличить нагрузку, которую способен выдержать Backend
BACKEND_DOMAIN-Доменное имя или ip. Влияет на ссылки которые генерирует Backend. Позволяет Unit связываться с Backend. Устанавливается в Unit ENV - в поле PEPEUNIT_URL
BACKEND_SECURETrueЕсли True, то Backend будет генерировать ссылки с https для BACKEND_DOMAIN. Устанавливается в Unit ENV - в поле HTTP_TYPE, но уже в формате https/http
BACKEND_AUTH_TOKEN_EXPIRATION2678400Время жизни токенов авторизации Пользователей в секундах
BACKEND_SAVE_REPO_PATHrepo_cacheПуть по которому Backend хранит внешние Git репозитории. Устанавливается относительно корневой дирректории Backend
SQLALCHEMY_DATABASE_URL-Ссылка для подключения к Postgresql
BACKEND_SECRET_KEY-32 байтовый ключ в формате base64. Отвечает за подпись токенов авторизации. В случае изменения все jwt токены созданные до изменения - становятся не действительными
BACKEND_ENCRYPT_KEY-32 байтовый ключ в формате base64. Отвечает за шифрование всех данных. В случае изменения все шифрованные записи - становится невозможно расшифровать
BACKEND_STATIC_SALT-32 байтовый ключ в формате base64. Отвечает за генерацию hash для паролей пользователей. В случае изменения все учётные записи созданные до момента изменения - потеряют возможность авторизоваться
BACKEND_STATE_SEND_INTERVAL60Частота в секундах с которой Unit'ы должны отправлять своё состояние. Устанавливается в Unit ENV - в поле STATE_SEND_INTERVAL
BACKEND_MAX_EXTERNAL_REPO_SIZE50Значение в МБ, ограничивающее размер внешних Git репозиториев для скачивания
BACKEND_MAX_CIPHER_LENGTH1000000Максимальная длинна в символах для шифруемой информации
BACKEND_MIN_TOPIC_UPDATE_TIME30Частота обновления сообщений в domain.com/+/pepeunit топиках MQTT
TELEGRAM_TOKEN-Токен Telegram Bot API, можно получить через Telegram Bot Father. Секретный, никому не показывайте
TELEGRAM_BOT_LINK-Ссылка на Telegram Bot которым управляет Backend. Используется для генерации верификационных ссылок для пользователей бота. Передаётся в openapi.json
PROMETHEUS_MULTIPROC_DIR./prometheus_metricsДирректория, которую Prometheus использует для хранения статистик с нескольких worker - uvicorn. При старте приложения содержимое дирректории отчищается
REDIS_URLredis://redis:6379/0Ссылка для доступа к Redis, которую использует Backend для соединения c Redis. Инстанс Redis должен быть единым с MQTT_REDIS_AUTH_URL
MQTT_HOST-Доменное имя или ip. Позволяет Backend управлять и подписываться на топики EMQX MQTT Broker. Позволяет Unit связываться с EMQX MQTT Broker. Устанавливается в Unit ENV - в поле MQTT_URL
MQTT_SECURETrueЕсли True, то Backend будет использовать https для настройки EMQX MQTT Broker
MQTT_PORT1883Порт по которому Unit и Backend связываются c EMQX MQTT Broker. Устанавливается в Unit ENV - в поле MQTT_PORT
MQTT_API_PORT18083Порт API EMQX MQTT Broker, по которому Backend производит настройку EMQX MQTT Broker
MQTT_KEEPALIVE60Максимальный период в секундах между отправками ping от Backend до EMQX MQTT Broker
MQTT_USERNAME-Имя пользователя EMQX MQTT Broker. Backend использует его для первичной настройки брокера
MQTT_PASSWORD-Пароль пользователя EMQX MQTT Broker. Backend использует его для первичной настройки брокера
MQTT_REDIS_AUTH_URLredis://redis:6379/0Ссылка для доступа к Redis, которую использует EMQX MQTT Broker для соединения c Redis. Инстанс Redis должен быть единым с REDIS_URL
MQTT_MAX_CLIENTS10000Максимальное число клиентов EMQX MQTT Broker
MQTT_MAX_CLIENT_CONNECTION_RATE20/sМаксимальная скорость подписки клиентов EMQX MQTT Broker
MQTT_MAX_CLIENT_ID_LEN512Максимальная длинная id клиентов EMQX MQTT Broker
MQTT_CLIENT_MAX_MESSAGES_RATE30/sМаксимальная частота отправки сообщений одним клиентом EMQX MQTT Broker
MQTT_CLIENT_MAX_BYTES_RATE1MB/sМаксимальная скорость соединения с клиентом EMQX MQTT Broker
MQTT_MAX_PAYLOAD_SIZE256Максимальный размер в кБ, для данных передаваемых через топики EMQX MQTT Broker
MQTT_MAX_QOS2Максимальное качество обслуживания доступное в EMQX MQTT Broker
MQTT_MAX_TOPIC_LEVELS5Максимальная вложенность топиков EMQX MQTT Broker
MQTT_MAX_LEN_MESSAGE_QUEUE128Максимальная длинна очереди сообщений EMQX MQTT Broker
MQTT_MAX_TOPIC_ALIAS128Максимальное число топиков-ссылок EMQX MQTT Broker

Frontend

WARNING

На фронтенде нет значений по умолчанию.

ПеременнаяПримерЗачем нужна?
VITE_INSTANCE_NAMEexample.comИспользуется для генерации ссылок между разными Node основного графа
VITE_SELF_URIhttps://example.com/Используется для тегов og:url и og:image в index.html
VITE_BACKEND_URIhttps://example.com/pepeunit/graphqlИспользуется для отправки GQL запросов к Backend